diff --git a/docs/latest/intro/knowledge-base.md b/docs/latest/intro/knowledge-base.md index 63ea5efc..96740c7a 100644 --- a/docs/latest/intro/knowledge-base.md +++ b/docs/latest/intro/knowledge-base.md @@ -2,7 +2,7 @@ 项目中的知识库与知识图谱,即是知识管理组织的方式,同时会被封装为工具供 AgenticRAG 系统调用。 -## 创建知识库 +## 知识库介绍 系统支持多种知识库存储形式,满足不同场景需求: @@ -15,22 +15,14 @@ 这里需要**注意**的是,这里的知识库的标题和描述都会作为智能体选择工具的依据,因此尽量详尽的描述该知识库。 +### 文件上传流程 -### LightRAG 知识库说明 +文件的处理总共分为三个过程,分别是 上传、解析、入库。上传就是将文件从本地上传到服务器(运行本项目的机器)中,此时文件是以原始文件存储的,比如 PDF 还是 PDF。 +然后会进行第二步解析,即将文件解析成 markdown 格式,其中文件中的图片会被提取出来上传到 minio 数据库中,并在 markdown 文件中的对应位置,添加 url `![图片](minio url)` 这样; +第三步就是入库,这里的入库在 CommonRAG 知识库中,指代的是对 markdown 内容 chunk 后将向量保存到 milvus 中,对于 LightRAG 知识库,则指代的是,提取图谱并保存到知识库中。 -在本项目中,系统支持基于 [LightRAG](https://github.com/HKUDS/LightRAG) 的知识图谱自动构建,能够从文档中自动提取实体和关系,构建结构化知识图谱。 +在前端界面中,默认完成前两步,即上传后会自动解析,如果想要实现解析后还继续入库的话,需要在上传的时候勾选自动入库。否则需要在上传后手动点击入库。 -**LightRAG 图谱 vs 全局知识图谱的区别:** - -- **LightRAG 图谱**(知识库专属):针对单个知识库由 LightRAG 自动抽取实体/关系,用于该库内的图增强检索与可视化。通过特殊的 label(知识库ID)与全局图谱区分,不会混入全局数据。 - -- **全局知识图谱**(系统级):通过三元组文件上传的图谱数据,提供系统级的知识图谱查询和可视化能力,会作为工具供 LLM 使用。 - -两者共享同一个 Neo4j 实例,但完全隔离,互不影响。 - -LightRAG 知识库可在知识库详情、知识图谱中可视化。由于免费版的 neo4j 智能创建一个图数据库,因此实际上 LightRAG 的节点和边依然是和知识图谱本身构建在了同一个 Neo4j 数据库中,但是使用了特殊的 label `{知识库ID}` 做区分。 - -同时项目支持原 LightRAG 的所有环境变量,只需要在项目的 `.env` 文件中配置即可。比如当本地计算资源有限时,可以配置 `EMBEDDING_TIMEOUT=60`, `LLM_TIMEOUT=180` 增加超时时间。 ## 文档管理 @@ -50,6 +42,29 @@ LightRAG 知识库可在知识库详情、知识图谱中可视化。由于免 去重策略:系统按“内容哈希”判断是否已存在相同文件,避免重复入库。 +## 其他 + +### LightRAG 知识库说明 + +在本项目中,系统支持基于 [LightRAG](https://github.com/HKUDS/LightRAG) 的知识图谱自动构建,能够从文档中自动提取实体和关系,构建结构化知识图谱。 + +**LightRAG 图谱 vs 全局知识图谱的区别:** + +- **LightRAG 图谱**(知识库专属):针对单个知识库由 LightRAG 自动抽取实体/关系,用于该库内的图增强检索与可视化。通过特殊的 label(知识库ID)与全局图谱区分,不会混入全局数据。 + +- **全局知识图谱**(系统级):通过三元组文件上传的图谱数据,提供系统级的知识图谱查询和可视化能力,会作为工具供 LLM 使用。 + +两者共享同一个 Neo4j 实例,但完全隔离,互不影响。 + +LightRAG 知识库可在知识库详情、知识图谱中可视化。由于免费版的 neo4j 智能创建一个图数据库,因此实际上 LightRAG 的节点和边依然是和知识图谱本身构建在了同一个 Neo4j 数据库中,但是使用了特殊的 label `{知识库ID}` 做区分。 + +**常见问题** + +1. 只有节点没有边/出现了 TPM 的报错:大概率是由于供应商限制了模型的调用量,解决办法是更换 TPM 更大的模型,或其他供应商。 +2. 当本地计算资源有限时,可以配置 `EMBEDDING_TIMEOUT=60`, `LLM_TIMEOUT=180` 增加超时时间 + +同时项目支持原 LightRAG 的所有环境变量,只需要在项目的 `.env` 文件中配置即可。 + ## 知识图谱 本项目存在两类“图谱相关”能力: