1.3 知识库(Knowledge Base)
知识库给智能体配上"长期记忆"。把企业文档、产品手册、政策法规喂进来,AI 在对话中通过 RAG 检索增强后再回答。
进入路径:左侧主导航 → 知识库(/knowledge-base)。
底层引擎:LightRAG 1.5.1(向量 + 知识图谱混合检索)。文档解析:auto(默认) / markitdown / vlm / mineru 四选一(每个知识库独立选);其中多模态("i" 图像分析)只有 mineru 解析器支持。重排序现仅支持远程 API(本地 rerank 已移除)。
1.3.1 知识库列表 [U]
布局
- 顶部统计区(4 张卡片):知识库总数 / 活跃数 / 文档总数 / 存储空间
- 创建按钮:右上角「创建知识库」
- 卡片网格(3 列):每张卡片显示
- 名称 + 描述
- 文档数 / 大小
- 解析器类型(auto / markitdown / vlm / mineru)
- 创建时间
- 状态徽章(启用 / 禁用)
- 卡片点击:进入详情页
1.3.2 创建知识库 [U]
路径:/knowledge-base/create
这是表单字段最多的页面之一,分几个区块逐一说明。
基本信息
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | text | ✓ | 系统标识,小写英文+数字+下划线,创建后不可改 |
| display_name | text | ✓ | UI 名称 |
| description | textarea | 描述 | |
| language | select | ✓ | 简体中文 / 繁体中文 / English / 日本語 / 한국어 / Français / Deutsch / Español / Русский / Português;创建后不建议修改,改了已有文档需要重新解析 |
模型选择
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| llm_model_id | select | ✓ | 用于摘要、图谱构建、问答合成 |
| embedding_model_id | select | ✓ | 用于向量化文档 |
| vision_model_id | select | 视觉模型(可选);开启图像处理时使用 | |
| rerank_model_id | select | 重排序模型(可选);提升相关性 |
💡 模型由管理员在 AI 模型管理 中维护。如果某个模型在下拉里不显示,联系管理员开通。
解析器配置
| 字段 | 类型 | 说明 |
|---|---|---|
| parser_type | select | auto(默认,系统按文件类型选) / markitdown / vlm / mineru |
| enable_image_processing | checkbox | 是否解析文档中的图片(默认开) |
parser_type = mineru 时的额外字段
MinerU 是 OpenDataLab 出品的高保真 PDF 解析器,适合扫描件、复杂版式、含公式表格的文档。
| 字段 | 说明 |
|---|---|
| lang | OCR 语言,影响识别精度 |
| backend | pipeline / vlm-transformers / vlm-http-client |
| device | cuda / cpu / mps / npu |
| source | 模型仓库:modelscope / huggingface / local(取决于部署能访问哪个) |
| vlm_url | 仅 vlm-http-client 需要;独立部署的 VLM HTTP 服务地址 |
| enable_formula | 公式识别 |
| enable_table | 表格识别 |
⚠️ 首次使用 MinerU 时,后端会按 source 下载模型权重(约几 GB)。如果部署环境不能访问 ModelScope/HuggingFace,请改用
local并由运维预先放置模型。
分词策略(Chunking)
决定文档怎么切片入库。共 3 种策略:
| 策略 | 适用场景 |
|---|---|
| length | 通用,按 token 数固定切片 |
| outline | 按文档大纲(标题层级)切片,语义更完整 |
| semantic | 按语义相似度自适应切片,质量最高但慢 |
length 策略参数
| 字段 | 说明 |
|---|---|
| chunk_token_size | 单块 token 数,推荐 512~2048(默认 1024) |
| overlap | 相邻块重叠 token 数,推荐 64~256(默认 128) |
| split_by_character | 切分时优先在哪个字符上断开,默认 \n |
outline 策略参数
| 字段 | 说明 |
|---|---|
| split_length | 单块最大长度 |
| min_length | 单块最小长度,小于此值会合并到下一块 |
| chunk_size | 目标块大小 |
| workers | LLM 并发数(用于处理大纲提取) |
| llm_max_tokens | LLM 单次最大 token |
| align_parallel | 是否并行对齐 |
semantic 策略参数
| 字段 | 说明 |
|---|---|
| split_length | 期望块长度;系统会按语义相似度向上向下调整 |
创建提交
- 填完所有必填字段
- 系统实时校验
name格式 - 点击「创建知识库」 → 跳转到知识库详情页
1.3.3 知识库详情 [U]
路径:/knowledge-base/{id}
页头
- 返回按钮 + 知识库标题 + 描述
- 右上角:「编辑」「删除」按钮
统计卡片
| 卡片 | 内容 |
|---|---|
| 文档总数 | 数字 + 解析中/失败数 |
| 解析器 | parser_type 名称 |
| 状态 | 启用 / 禁用 |
Tab 切换
| Tab | 用途 |
|---|---|
| 文档 | 上传和管理文件 |
| QA 管理 | 人工编写问答对补充知识 |
| 知识图谱 | 可视化查看实体关系图(LightRAG 自动构建) |
| 查询测试 | 不走应用直接测试检索效果 |
| 配置 | 等同于编辑页 |
文档 Tab — 文档列表
表格列:
| 列 | 说明 |
|---|---|
| 文件名 | 含图标(按类型) |
| 大小 | MB |
| 状态 | 上传中 / 解析中 / 成功 / 失败 |
| 上传时间 | |
| 操作 | 下载(原文件)/ 移动到文件夹 / 重试(失败时)/ 删除 |
每个文档都可下载它的原始文件(操作列的「下载(原文件)」)。
顶部「上传文档」按钮 → 跳转上传页。
文档 Tab — 文件夹管理
文档 Tab 左侧是一棵多级文件夹树,用于归类文档:
- 左侧文件夹树:点击切换右侧列表过滤,支持新建 / 重命名 / 删除文件夹
- 多选文档 + 「移动到…」:勾选多个文档后,出现批量操作条,点「移动到…」选目标文件夹
- 含子文件夹 开关:开启后右侧列表显示所选文件夹及其子文件夹下的全部文档
- 拖拽移动:直接把文档行拖到目标文件夹节点即可移动(拖单条;若该条在多选内则拖整组)
危险操作
- 删除知识库 → 二次确认 → 整库及所有文档、QA、图谱数据永久删除
- 删除单个文档 → 二次确认 → 该文档从索引中移除
1.3.4 编辑知识库 [U]
路径:/knowledge-base/{id}/edit
字段与创建页几乎相同,差异:
name字段禁用(创建后不可改)- 新增
status复选框(启用 / 已禁用) - 解析器和分词策略可改,但已有文档不会自动重新解析;改完想生效,需要重新上传
💡 修改
language字段会触发提示框警告"需重新上传所有文档"。
1.3.5 文档上传 [U]
路径:/knowledge-base/{id}/upload
三种上传方式
- 本地文件拖拽 / 选择:支持 PDF / DOCX / XLSX / PPTX / TXT / MD,单文件 ≤ 100MB
- 从 URL 添加:输入网页 URL,系统抓取正文后入库
- 抓取 Sitemap:输入
sitemap.xmlURL,批量导入整站(适合产品文档站、博客)
文件列表
每个待上传/已上传的文件占一行:
| 字段 | 编辑性 |
|---|---|
| 显示名称 | 待上传时可编辑 |
| 描述 | 待上传时可编辑 |
| 大小 | 只读 |
| 状态 | 待上传 / 上传中(带进度条) / 成功 / 失败 |
| 操作 | 单独上传 / 删除 / 重试 |
批量操作
- 全部上传:批量上传所有待上传文件
- 完成:全部成功后点击返回详情页
⚠️ 解析需要时间。一份 100 页 PDF + MinerU 可能需要 5~15 分钟。上传完后状态会显示「解析中」,在详情页可看进度。
1.3.6 查询测试 [U]
路径:/knowledge-base/{id}/query
不接入应用,直接在这里试问知识库回答效果,边问边调参数。
左侧:查询配置
| 字段 | 类型 | 默认 | 说明 |
|---|---|---|---|
| mode | select | mix | naive / local / global / hybrid / mix(推荐) / bypass |
| vlm_enhanced | checkbox | 关 | 启用视觉模型解读图片块 |
| topK | slider 1~20 | 5 | 召回片段数 |
| max_tokens | slider 500~4000 | 2000 | 回答上限 |
| temperature | slider 0~1 | 0.7 | LLM 发散度 |
模式说明:
naive:纯向量召回,最快local:基于实体的局部检索global:基于主题的全局检索hybrid:local + global 合并mix:向量 + 图谱混合(默认推荐)bypass:绕过 RAG,直接让 LLM 回答(用于对比基线)
右侧:查询区
- 上方:问题输入框 + 「查询」按钮
- 示例问题按钮:点击自动填充常见问题
- 下方:查询历史(从新到旧),每条包含:
- 问题、时间戳、处理耗时
- 流式渲染的回答(Markdown)
- 来源标签:点击展开看具体引用片段(相似度百分比、文件路径、预览文本)
清空历史
按钮位置:右侧顶部「清空历史记录」。仅清空当前页面显示,不删数据库。
1.3.7 QA 问答对管理 [U]
路径:/knowledge-base/{id}/qa
文档型知识有时不够准确。QA 模块让你人工写问答对作为高优先级答案,典型场景:常见问题清单、敏感问题口径、政策标准答复。
布局
左侧 — 分类树
- 树形结构(可多层)
- 每个分类显示 QA 数量
- 点击切换右侧列表过滤
- 右键菜单:新建子分类 / 编辑 / 删除
- 顶部「新建分类」按钮
右侧 — QA 列表
- 表格列:问题、回答(截断)、分类、标签、创建时间、操作
- 顶部:「创建 QA 对」、「批量导入」按钮
- 行操作:编辑、删除
对话框
创建/编辑 QA 对
| 字段 | 必填 | 说明 |
|---|---|---|
| 问题 | ✓ | 用户可能问的原话 |
| 回答 | ✓ | 标准答复(Markdown) |
| 所属分类 | 树形选择 | |
| 标签 | 多标签 |
创建分类
| 字段 | 必填 | 说明 |
|---|---|---|
| 分类名称 | ✓ | |
| 父分类 | 留空表示根分类 |
批量导入
- 上传 CSV 文件,格式:
question,answer,category - 系统按行解析,导入后给出成功/失败统计
💡 QA 对在检索时优先级高于文档。如果一个问题既匹配 QA 又匹配文档,QA 会被优先返回。
1.3.8 常见问题
Q1:文档解析卡在"解析中"很久?
视文件大小、解析器、是否需要 OCR 而定:
- markitdown / 纯文本:几秒
- 普通 PDF + MinerU pipeline:1~3 分钟/100 页
- 扫描件 PDF + MinerU VLM:5~15 分钟/100 页
超过预期可在 管理员-审计 看后端任务状态。
Q2:查询测试效果好,接入应用后却答非所问?
检查智能体的 知识库步骤 配置:
retrieval_config.mode是否和测试时一致top_k是否设太低threshold是否设太高(被过滤掉了)as_tool=true时 AI 可能选择不调用知识库 — 关掉它让每次都强制检索
Q3:删错文档怎么办?
文档软删除后会在后端保留 30 天(由部署方设置),期间联系管理员可以恢复。超过 30 天则物理删除。
Q4:能跨知识库检索吗?
可以。在智能体的知识库步骤里 knowledge_base_ids 选多个即可。每个知识库会独立检索,结果合并后送入 LLM。
