diff --git a/ui/src/api/API_README.md b/ui/src/api/API_README.md index 6e36c56307f..d856e3c916a 100644 --- a/ui/src/api/API_README.md +++ b/ui/src/api/API_README.md @@ -601,3 +601,6 @@ Workspace 共享知识库详情由 `resourceScope: 'workspace-shared'` 选择上 清除策略通过 PUT `batch_clean_time` 提交当前智能体的单元素 `id_list`、`clean_time`、 `file_clean_time`,避免调用通用应用编辑流程;成功后页面刷新应用详情。 聊天记录、标注、添加知识库接口保留在同一 API 文件,尚未接入本次日志列表页面。 + +Web 知识库创建的 `WebKnowledgeCreatePayload.doc_strategy` 使用公共 `DocumentStrategy` 类型, +包含 `split`、`visual` 和 `index`,字段与后端文档处理策略协议一致。 diff --git a/ui/src/api/types/knowledge.ts b/ui/src/api/types/knowledge.ts index d7c66c291ca..9403a3fb0cd 100644 --- a/ui/src/api/types/knowledge.ts +++ b/ui/src/api/types/knowledge.ts @@ -101,10 +101,18 @@ export interface KnowledgeCreatePayload { type: KnowledgeType } +/** Web 文档分段、视觉处理和索引策略。 */ +export interface DocumentStrategy { + split: { mode: 'smart' | 'advanced'; patterns: string[] | null; min_length: number; max_length: number; child_length: number; auto_clean: boolean } + visual: { enabled: boolean; strategy: 'model' | 'tool'; model_id: string | null; tool_id: string | null } + index: { title_as_question: boolean } +} + /** 创建 Web 知识库的站点配置。 */ export interface WebKnowledgeCreatePayload extends KnowledgeCreatePayload { source_url: string selector: string + doc_strategy?: DocumentStrategy } /** 创建飞书知识库的应用配置。 */ diff --git a/ui/src/views/VIEW_README.md b/ui/src/views/VIEW_README.md index 9f720782948..6a800995c08 100644 --- a/ui/src/views/VIEW_README.md +++ b/ui/src/views/VIEW_README.md @@ -200,7 +200,7 @@ src/views/knowledge/ │ └── ButtonTemplateStore.vue # 知识库模板中心与模板创建入口 ├── create-knowledge/ │ ├── CreateBaseKnowledgeDialog.vue # 通用知识库创建 -│ ├── CreateWebKnowledgeDialog.vue # Web 站点配置与创建 +│ ├── WebKnowledgeDrawer.vue # Web 站点配置与两步创建抽屉 │ ├── CreateLarkKnowledgeDialog.vue # 飞书应用配置与创建 │ ├── CreateWorkflowKnowledgeDialog.vue # 工作流知识库创建 │ └── components/ @@ -240,9 +240,15 @@ MCP 配置沿用工具的只读文本与悬浮复制交互,专属弹窗按需 回填模板名称与描述,仍需选择向量模型;提交沿用 `work_flow_template`。创建成功关闭模板中心、 刷新列表并进入知识库工作流,取消创建保留模板中心;创建弹窗在 `closed` 后卸载。 -`ButtonCreateKnowledge` 内聚四类创建弹窗 Ref 和打开动作,列表页传入目标 `folderId`,通过 +`WebKnowledgeDrawer` 使用底部两步抽屉,基本信息校验后进入文档处理策略,支持返回修改。 +`create-knowledge/components/DocumentStrategyForm.vue` 维护分段、视觉增强和标题问题索引, +通过 `doc_strategy` 提交;智能分段默认策略与后端一致,高级分段使用与触发器类型相同的卡片外壳, +在选中卡片内展开配置,默认选择一级至四级标题标识、500–4096 分段长度、256 子块长度并开启自动清洗。 +分段标识支持自定义正则表达式,留空使用后端默认规则;启用视觉增强后必须选择模型或工具。 + +`ButtonCreateKnowledge` 内聚四类创建浮层 Ref 和打开动作,列表页传入目标 `folderId`,通过 `refresh` 刷新列表。入口支持 `trigger` 插槽替换默认创建按钮,下拉使用 `persistent`。 -各弹窗接收 `folderId`,通过 `open()` 打开;工作流额外接受可选的商店模板。共用的 +各创建浮层接收 `folderId`,通过 `open()` 打开;工作流额外接受可选的商店模板。共用的 `KnowledgeBaseForm` 负责名称、描述、Embedding 模型必填校验以及工作空间和共享模型查询, 根据 `isSystemSharedResource()` 选择 System 共享 Model API 或 Workspace Model API, 通过 `getModelListWithShared({ model_type: 'EMBEDDING' })` 一次加载模型选项, diff --git a/ui/src/views/knowledge-detail/library/document/action-dropdown/setting/DocumentSettingDialog.vue b/ui/src/views/knowledge-detail/library/document/action-dropdown/setting/DocumentSettingDialog.vue index 9fc860a7216..3bd90f230b9 100644 --- a/ui/src/views/knowledge-detail/library/document/action-dropdown/setting/DocumentSettingDialog.vue +++ b/ui/src/views/knowledge-detail/library/document/action-dropdown/setting/DocumentSettingDialog.vue @@ -75,7 +75,7 @@ defineExpose({ open, close }) 召回处理 - + diff --git a/ui/src/views/knowledge/components/ButtonCreateKnowledge.vue b/ui/src/views/knowledge/components/ButtonCreateKnowledge.vue index beea9be8045..20e533d3df2 100644 --- a/ui/src/views/knowledge/components/ButtonCreateKnowledge.vue +++ b/ui/src/views/knowledge/components/ButtonCreateKnowledge.vue @@ -6,7 +6,7 @@ import { KNOWLEDGE_TYPE } from '@/api/enums' import { useStore } from '@/stores' import { MsgSuccess } from '@/utils/message' import CreateBaseKnowledgeDialog from '../create-knowledge/BaseKnowledgeDialog.vue' -import CreateWebKnowledgeDialog from '../create-knowledge/WebKnowledgeDialog.vue' +import CreateWebKnowledgeDrawer from '../create-knowledge/WebKnowledgeDrawer.vue' import CreateLarkKnowledgeDialog from '../create-knowledge/LarkKnowledgeDialog.vue' import CreateWorkflowKnowledgeDialog from '../create-knowledge/WorkflowKnowledgeDialog.vue' @@ -48,7 +48,7 @@ function handleVisibleChange(visible: boolean) { /* 各类型知识库创建 */ const createBaseKnowledgeDialogRef = useTemplateRef>('createBaseKnowledgeDialogRef') -const createWebKnowledgeDialogRef = useTemplateRef>('createWebKnowledgeDialogRef') +const createWebKnowledgeDrawerRef = useTemplateRef>('createWebKnowledgeDrawerRef') const createLarkKnowledgeDialogRef = useTemplateRef>('createLarkKnowledgeDialogRef') const createWorkflowKnowledgeDialogRef = useTemplateRef>('createWorkflowKnowledgeDialogRef') @@ -58,7 +58,7 @@ function handleCreateBaseKnowledge() { } function handleCreateWebKnowledge() { - createWebKnowledgeDialogRef.value?.open() + createWebKnowledgeDrawerRef.value?.open() } function handleCreateLarkKnowledge() { @@ -165,7 +165,7 @@ function handleImportCreate(file: UploadFile) { - + diff --git a/ui/src/views/knowledge/create-knowledge/WebKnowledgeDialog.vue b/ui/src/views/knowledge/create-knowledge/WebKnowledgeDialog.vue deleted file mode 100644 index 5f7bff0f9e6..00000000000 --- a/ui/src/views/knowledge/create-knowledge/WebKnowledgeDialog.vue +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - - - - - - - - - - 取消 - - 创建 - - - diff --git a/ui/src/views/knowledge/create-knowledge/WebKnowledgeDrawer.vue b/ui/src/views/knowledge/create-knowledge/WebKnowledgeDrawer.vue new file mode 100644 index 00000000000..c7a8eeeedae --- /dev/null +++ b/ui/src/views/knowledge/create-knowledge/WebKnowledgeDrawer.vue @@ -0,0 +1,154 @@ + + + + + + + 创建 Web 知识库 + + + + + + + + + + + 基本信息 + + + + + + + + + + + + 文档处理策略 + + + + + + 取消 + + 上一步 + + 下一步 + + 创建 + + + + + diff --git a/ui/src/views/knowledge/create-knowledge/components/DocumentStrategyForm.vue b/ui/src/views/knowledge/create-knowledge/components/DocumentStrategyForm.vue new file mode 100644 index 00000000000..6fb95a7b841 --- /dev/null +++ b/ui/src/views/knowledge/create-knowledge/components/DocumentStrategyForm.vue @@ -0,0 +1,264 @@ + + + + + + + + + + + + + + + + + + {{ option.desc }} + + + + + + 分段标识 + + + + + + + + + + + + + – + + + + + + + 子块长度 + + + + + + + + + + + 去掉重复多余符号空格、空行、制表符 + + + + + + + + + + + + + 视觉增强 + 识别文档中图片,将图片按照策略发给模型或工具处理,并将返回内容写入图片的描述中 + + + + + + + 模型增强 + 工具增强 + + + + + + + + + + + {{ label }} + + + + + + + {{ tool.name }} + + + + + + + + + + + + + 分段标题设置为问题索引 + 开启后会将分段标题自动添加为关联问题 + + + + + + +
去掉重复多余符号空格、空行、制表符
识别文档中图片,将图片按照策略发给模型或工具处理,并将返回内容写入图片的描述中
开启后会将分段标题自动添加为关联问题