-
- 提示词使用 {data} 引用分段内容,生成的问题需使用 <question></question> 标签包裹。
-
-
-
-
-
-
-
+ 提示词使用 {data} 引用分段内容,生成的问题需使用 <question></question> 标签包裹。
+
+
+
+
+
+
未成功的分段
diff --git a/ui/src/views/knowledge-detail/document/components/ButtonMigrateDocument.vue b/ui/src/views/knowledge-detail/document/action-dropdown/MigrateDocumentAction.vue
similarity index 88%
rename from ui/src/views/knowledge-detail/document/components/ButtonMigrateDocument.vue
rename to ui/src/views/knowledge-detail/document/action-dropdown/MigrateDocumentAction.vue
index dce3835cb09..324e9c82b21 100644
--- a/ui/src/views/knowledge-detail/document/components/ButtonMigrateDocument.vue
+++ b/ui/src/views/knowledge-detail/document/action-dropdown/MigrateDocumentAction.vue
@@ -2,11 +2,11 @@
import { ref } from 'vue'
import type { KnowledgeItem } from '@/api/types'
import KnowledgeApi from '@/api/admin/workspace/knowledge/knowledge'
-import DocumentApi from '@/api/admin/workspace/knowledge/document'
+import type DocumentApi from '@/api/admin/workspace/knowledge/document'
import { MsgSuccess } from '@/utils/message'
-defineOptions({ name: 'ButtonMigrateDocument' })
-const props = defineProps<{ knowledgeId: string; documentIds: string[]; disabled?: boolean }>()
+defineOptions({ name: 'MigrateDocumentAction' })
+const props = defineProps<{ api: typeof DocumentApi; knowledgeId: string; documentIds: string[]; disabled?: boolean }>()
const emit = defineEmits<{ refresh: [] }>()
const visible = ref(false)
const loading = ref(false)
@@ -37,7 +37,8 @@ function handleOpenDialog() {
function handleSubmit() {
if (!targetKnowledgeId.value || loading.value) return
loading.value = true
- return DocumentApi.putMigrateDocuments(props.knowledgeId, targetKnowledgeId.value, targetDocumentIds.value)
+ return props.api
+ .putMigrateDocuments(props.knowledgeId, targetKnowledgeId.value, targetDocumentIds.value)
.then(() => {
MsgSuccess('迁移成功')
visible.value = false
diff --git a/ui/src/views/knowledge-detail/document/action-dropdown/ReplaceDocumentAction.vue b/ui/src/views/knowledge-detail/document/action-dropdown/ReplaceDocumentAction.vue
new file mode 100644
index 00000000000..deada9f3910
--- /dev/null
+++ b/ui/src/views/knowledge-detail/document/action-dropdown/ReplaceDocumentAction.vue
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+ 替换原文档
+
+
+
diff --git a/ui/src/views/knowledge-detail/document/components/ButtonDocumentSetting.vue b/ui/src/views/knowledge-detail/document/action-dropdown/SettingDocumentAction.vue
similarity index 90%
rename from ui/src/views/knowledge-detail/document/components/ButtonDocumentSetting.vue
rename to ui/src/views/knowledge-detail/document/action-dropdown/SettingDocumentAction.vue
index 4df3b4fc2d5..7e8fe868914 100644
--- a/ui/src/views/knowledge-detail/document/components/ButtonDocumentSetting.vue
+++ b/ui/src/views/knowledge-detail/document/action-dropdown/SettingDocumentAction.vue
@@ -3,12 +3,12 @@ import { ref } from 'vue'
import type { FormInstance } from 'element-plus'
import { DOCUMENT_HIT_HANDLING, KNOWLEDGE_TYPE } from '@/api/enums'
import type { DocumentItem, DocumentSettingPayload } from '@/api/types'
-import DocumentApi from '@/api/admin/workspace/knowledge/document'
+import type DocumentApi from '@/api/admin/workspace/knowledge/document'
import { DOCUMENT_HIT_HANDLING_LABELS } from '@/constants/document'
import { MsgSuccess } from '@/utils/message'
-defineOptions({ name: 'ButtonDocumentSetting' })
-const props = defineProps<{ knowledgeId: string; documents: DocumentItem[]; batch?: boolean; disabled?: boolean }>()
+defineOptions({ name: 'SettingDocumentAction' })
+const props = defineProps<{ api: typeof DocumentApi; knowledgeId: string; documents: DocumentItem[]; batch?: boolean; disabled?: boolean }>()
const emit = defineEmits<{ refresh: [] }>()
const visible = ref(false)
const loading = ref(false)
@@ -54,9 +54,9 @@ async function handleSubmit() {
data.meta.source_url = form.value.source_url.trim()
data.meta.selector = form.value.selector
}
- request = DocumentApi.putDocumentSetting(props.knowledgeId, document.value.id, data)
+ request = props.api.putDocumentSetting(props.knowledgeId, document.value.id, data)
} else {
- request = DocumentApi.putBatchDocumentSetting(props.knowledgeId, targetDocumentIds.value, { ...data, allow_download: form.value.allow_download })
+ request = props.api.putBatchDocumentSetting(props.knowledgeId, targetDocumentIds.value, { ...data, allow_download: form.value.allow_download })
}
return request
.then(() => {
diff --git a/ui/src/views/knowledge-detail/document/action-dropdown/SyncDocumentAction.vue b/ui/src/views/knowledge-detail/document/action-dropdown/SyncDocumentAction.vue
new file mode 100644
index 00000000000..8f1f164a9f6
--- /dev/null
+++ b/ui/src/views/knowledge-detail/document/action-dropdown/SyncDocumentAction.vue
@@ -0,0 +1,57 @@
+
+
+
+
+
+
diff --git a/ui/src/views/knowledge-detail/document/action-dropdown/TokenizeDocumentAction.vue b/ui/src/views/knowledge-detail/document/action-dropdown/TokenizeDocumentAction.vue
new file mode 100644
index 00000000000..46c421f6dbd
--- /dev/null
+++ b/ui/src/views/knowledge-detail/document/action-dropdown/TokenizeDocumentAction.vue
@@ -0,0 +1,49 @@
+
+
+
+
+ 分词索引
+
+
+
diff --git a/ui/src/views/knowledge-detail/document/action-dropdown/index.ts b/ui/src/views/knowledge-detail/document/action-dropdown/index.ts
new file mode 100644
index 00000000000..762332ed242
--- /dev/null
+++ b/ui/src/views/knowledge-detail/document/action-dropdown/index.ts
@@ -0,0 +1,12 @@
+export { default as CancelDocumentTaskAction } from './CancelDocumentTaskAction.vue'
+export { default as DeleteDocumentAction } from './DeleteDocumentAction.vue'
+export { default as DocumentTagsAction } from './DocumentTagsAction.vue'
+export { default as EmbeddingDocumentAction } from './EmbeddingDocumentAction.vue'
+export { default as GenerateDocumentQuestionsAction } from './GenerateDocumentQuestionsAction.vue'
+export { default as DownloadDocumentAction } from './DownloadDocumentAction.vue'
+export { default as ExportDocumentAction } from './ExportDocumentAction.vue'
+export { default as MigrateDocumentAction } from './MigrateDocumentAction.vue'
+export { default as ReplaceDocumentAction } from './ReplaceDocumentAction.vue'
+export { default as SettingDocumentAction } from './SettingDocumentAction.vue'
+export { default as SyncDocumentAction } from './SyncDocumentAction.vue'
+export { default as TokenizeDocumentAction } from './TokenizeDocumentAction.vue'
diff --git a/ui/src/views/knowledge-detail/document/index.vue b/ui/src/views/knowledge-detail/document/index.vue
index 7143193fa76..4e7dfab4fc2 100644
--- a/ui/src/views/knowledge-detail/document/index.vue
+++ b/ui/src/views/knowledge-detail/document/index.vue
@@ -1,7 +1,7 @@
-
-
-
-
+
diff --git a/ui/src/views/trigger/index.vue b/ui/src/views/trigger/index.vue
index 5e00f53c290..eac5609f82b 100644
--- a/ui/src/views/trigger/index.vue
+++ b/ui/src/views/trigger/index.vue
@@ -201,11 +201,11 @@ onMounted(() => loadTriggers())
-