diff --git a/docs/latest/advanced/branding.md b/docs/latest/advanced/branding.md index 2f82b51a..84bb38dc 100644 --- a/docs/latest/advanced/branding.md +++ b/docs/latest/advanced/branding.md @@ -16,6 +16,10 @@ cp src/config/static/info.template.yaml src/config/static/info.local.yaml <<< @/../src/config/static/info.template.yaml +上述中提到的 ICON 预设了下面这些,如果需要更多的 ICONS,可以手动从 `lucide-vue-next` 中引入。 + +<<< @/../web/src/views/HomeView.vue#icon_mapping{js} + ### 3. 环境变量配置 在 `.env` 文件中指定配置文件路径: @@ -47,5 +51,6 @@ YUXI_BRAND_FILE_PATH=src/config/static/info.local.yaml /* ... 其他色板 */ } -**此外**,`web/src/stores/theme.js` 中也包含了主题相关的配置(需要修改 `colorPrimary`),可根据需要修改。 ``` + +**此外**,`web/src/stores/theme.js` 中也包含了主题相关的配置(需要修改 `colorPrimary`),可根据需要修改。 \ No newline at end of file diff --git a/docs/latest/advanced/document-processing.md b/docs/latest/advanced/document-processing.md index 16284a75..3fb3e7df 100644 --- a/docs/latest/advanced/document-processing.md +++ b/docs/latest/advanced/document-processing.md @@ -11,7 +11,7 @@ ### 常规文档格式 - **文本文档**: `.txt`, `.md`, `.html`, `.htm` -- **Word 文档**: `.doc`, `.docx` +- **Word 文档**: `.docx` - **PDF 文档**: `.pdf` - **电子表格**: `.csv`, `.xls`, `.xlsx` - **JSON 数据**: `.json` @@ -22,7 +22,7 @@ ### ZIP 压缩包 - **ZIP 文档**: `.zip` - 支持包含 Markdown 文件和图片的压缩包 - 自动提取和处理 ZIP 包中的 `.md` 文件 - - 自动处理 ZIP 包中的图片文件并上传到对象存储 + - 自动处理 ZIP 包中的图片文件并上传到对象存储(MINIO) - 图片链接会自动替换为可访问的 URL - 优先处理名为 `full.md` 的文件,否则使用第一个 `.md` 文件 - 支持图片目录的智能识别(`images/`、`../images/` 等) @@ -43,6 +43,8 @@ hf download SWHL/RapidOCR --local-dir ./models/SWHL/RapidOCR docker compose up -d api ``` +需要确保 `MODEL_DIR` 环境变量指向 RapidOCR 上层目录,例如 `./models`。 + ### 2. 高精度 OCR (MinerU) 需要在 `.env` 文件中配置: @@ -62,6 +64,11 @@ docker compose up mineru-vllm-server mineru-api -d docker compose up api -d ``` +::: tip 处理超时 +文档解析超时时间默认 600 秒,可通过 `MINERU_TIMEOUT` 环境变量调整。 +::: + + ### 3. 官方云服务 (MinerU Official) API 密钥可以从 [MinerU 官网](https://mineru.net) 申请。 @@ -97,6 +104,9 @@ docker compose up -d api ## 参数说明 ### enable_ocr 选项 + +对应网页中的 `使用 OCR` 选项 + - `disable`: 不启用 OCR(PDF 按文本提取,图片**必须选择 OCR 方式**) - `onnx_rapid_ocr`: RapidOCR 处理 - `mineru_ocr`: MinerU HTTP API 处理 @@ -108,69 +118,3 @@ docker compose up -d api - MinerU 和 PaddleX 需要 GPU 支持 - MinerU Official 需要设置 `MINERU_API_KEY` 环境变量 - RapidOCR 适合 CPU 环境和基础识别需求 - -## 故障排除 - -### 常见问题 - -1. **RapidOCR 模型不存在** - ```bash - # 下载模型 - huggingface-cli download SWHL/RapidOCR --local-dir ./models/SWHL/RapidOCR - ``` - -2. **GPU 服务连接失败** - ```bash - # 检查服务状态 - docker compose ps - - # 查看日志 - docker compose logs mineru - ``` - -3. **健康检查** - ```bash - # 检查所有 OCR 服务状态 - curl http://localhost:5050/system/health/ocr-services - ``` - -## 批量处理脚本 - -系统提供便捷的批量处理脚本,用于高效批量上传文档。 - -### 文件上传脚本 - -使用 `scripts/batch_upload.py` 批量上传文件到知识库: - -```bash -# 批量上传文档(多种格式) -uv run scripts/batch_upload.py \ - --db-id kb_b2730ad6801b149694021106c7eddd38 \ - --directory data.nogit/农业农村局 \ - --pattern "*.docx" --pattern "*.txt" --pattern "*.html" \ - --base-url http://172.19.13.6:5050/api \ - --username admin \ - --password admin123 \ - --batch-size 20 \ - --wait-for-completion \ - --poll-interval 5 \ - --recursive \ - --enable-ocr mineru_ocr \ # mineru_official, paddlex_ocr, onnx_rapid_ocr - --record-file scripts/tmp/batch_processed_files_1029.txt -``` - -**参数说明**: -- `--db-id`: 目标知识库 ID -- `--directory`: 文件目录路径 -- `--pattern`: 文件匹配模式,可以多次指定以支持多种格式(例如:`--pattern "*.docx" --pattern "*.pdf" --pattern "*.html"`) -- `--batch-size`: 每批处理的文件数量(默认20) -- `--wait-for-completion`: 是否等待任务完成再处理下一批(默认开启) -- `--poll-interval`: 任务状态检查间隔,单位秒(默认5秒) -- `--recursive`: 递归处理子目录 -- `--record-file`: 处理记录文件路径 - -**注意事项**: -- 系统按"内容哈希"进行去重;同一知识库已存在相同内容的文件会被拒绝(409) -- 建议根据系统性能调整批次大小 -- 大量文件处理时建议开启分批等待功能 -- 先上传后处理的机制更稳定,适合大批量文档导入 diff --git a/docs/latest/advanced/misc.md b/docs/latest/advanced/misc.md index 2dfdd422..3872da1a 100644 --- a/docs/latest/advanced/misc.md +++ b/docs/latest/advanced/misc.md @@ -15,7 +15,7 @@ ## 网页搜索 -系统内置了基于 Tavily 的联网搜索能力,配置完成后,大模型会自动在需要时调用 `enable_web_search` 对应的工具,为回答提供实时网页信息。 +系统内置了基于 Tavily 的联网搜索能力,配置完成后,大模型会自动在需要时调用对应的工具,为回答提供实时网页信息。 1. 前往 [Tavily 官网](https://app.tavily.com/) 注册并在控制台创建 API Key。 @@ -29,7 +29,7 @@ ``` 若服务已运行,则使用 `docker compose restart api-dev` 即可。 -完成以上步骤后,后端会自动将 `enable_web_search` 标记为启用,在智能体的工具配置区域即可看到这个工具,展示 Tavily 返回的实时结果。若需要关闭该能力,删除或清空 `TAVILY_API_KEY` 后再次重启服务即可。 +完成以上步骤后,在智能体的工具配置区域即可看到这个工具,展示 Tavily 返回的实时结果。若需要关闭该能力,删除或清空 `TAVILY_API_KEY` 后再次重启服务即可。 ## 服务端口 diff --git a/docs/latest/intro/knowledge-base.md b/docs/latest/intro/knowledge-base.md index d031ca7b..cb9bb5f5 100644 --- a/docs/latest/intro/knowledge-base.md +++ b/docs/latest/intro/knowledge-base.md @@ -21,23 +21,13 @@ 在本项目中,系统支持基于 [LightRAG](https://github.com/HKUDS/LightRAG) 的知识图谱自动构建,能够从文档中自动提取实体和关系,构建结构化知识图谱。但是 LightRAG 所构建的知识图谱不作为全局的知识图谱来使用。只是将 LightRAG 作为知识的组织和检索形式。一方面是因为 LightRAG 构建的图谱的质量比较差,另一方面是不希望与全局的知识图谱弄混。 -LightRAG 知识库可在知识库详情中可视化,但不支持在侧边栏图谱中直接检索,图谱检索工具不支持 LightRAG 知识库,查询需要使用对应的知识库作为工具。 - -在 Neo4j 的检索中可以看到,实际上 LightRAG 的节点和边依然是和知识图谱本身构建在了同一个 Neo4j 数据库中,但是使用了特殊的 tag 做区分。这点在后面介绍知识图谱的时候也会额外说明。 +LightRAG 知识库可在知识库详情、知识图谱中可视化。由于免费版的 neo4j 智能创建一个图数据库,因此实际上 LightRAG 的节点和边依然是和知识图谱本身构建在了同一个 Neo4j 数据库中,但是使用了特殊的 label `{知识库ID}` 做区分。 同时项目支持原 LightRAG 的所有环境变量,只需要在项目的 `.env` 文件中配置即可。比如当本地计算资源有限时,可以配置 `EMBEDDING_TIMEOUT=60`, `LLM_TIMEOUT=180` 增加超时时间。 - - ## 文档管理 -本系统的“上传 → 解析入库 → 检索/可视化”流程既可通过 Web 界面完成,也可使用 API/脚本批量处理。 - -**支持的文件类型** - -- 文本与文档:`.txt`、`.md`、`.doc`、`.docx`、`.pdf` -- 网页与数据:`.html`、`.htm`、`.json`、`.csv`、`.xls`、`.xlsx` -- 图片:`.jpg`、`.jpeg`、`.png`、`.bmp`、`.tiff`、`.tif` +本系统的“上传 → 解析入库 → 检索/可视化”流程既可通过 Web 界面完成,也可使用 API/脚本批量处理。详见[文档解析](../advanced/document-processing.md) 接口查询:`GET /api/knowledge/files/supported-types` @@ -53,42 +43,12 @@ LightRAG 知识库可在知识库详情中可视化,但不支持在侧边栏 去重策略:系统按“内容哈希”判断是否已存在相同文件,避免重复入库。 -### 批量脚本 - -- 上传并入库:参见 `scripts/batch_upload.py upload` - ## 知识图谱 本项目存在两类“图谱相关”能力: -- 全局知识图谱(Neo4j):用于智能体工具 `query_knowledge_graph` 的图实体查询;统一保存在 Neo4j 中,提供三元组检索和系统级可视化。 -- LightRAG 知识库内图谱:针对某个知识库由 LightRAG 自动抽取实体/关系,用于该库内的图增强检索与可视化;与全局图共享同一 Neo4j 实例,但通过特殊 tag 区分,不作为全局图谱使用。 - -选择建议: -- 更结构化的库内检索/可视化:优先使用 LightRAG(注意构建质量与成本)。 -- 统一的图查询/工具调用:依赖全局 Neo4j 图谱与工具 `query_knowledge_graph`。 - -因此,侧边栏知识图谱页面展示的是 Neo4j 图数据库中符合以下规则的知识图谱信息。 - -具体展示内容包括: - -- 带有 Entity 标签的节点 -- 带有 RELATION 类型的关系边 - - -```SQL -MATCH (n:Entity)-[r]->(m:Entity) -RETURN - {id: elementId(n), name: n.name} AS h, - {type: r.type, source_id: elementId(n), target_id: elementId(m)} AS r, - {id: elementId(m), name: m.name} AS t -LIMIT $num -``` - -如需查看完整的 Neo4j 数据库内容,请使用 "Neo4j 浏览器" 按钮访问 Neo4j 原生界面。 - -通过网页上传的 `jsonl` 文件的图谱默认会符合上述条件。 - +- 上传的知识图谱(Neo4j):提供三元组检索和系统级可视化。会作为工具供 LLM 使用。 +- LightRAG 知识库内图谱:针对某个知识库由 LightRAG 自动抽取实体/关系,用于该库内的图增强检索与可视化;与上传的图谱共享同一 Neo4j 实例,但通过特殊 label 区分,不作为全局图谱使用。 ### 1. 以三元组形式导入 diff --git a/docs/latest/intro/model-config.md b/docs/latest/intro/model-config.md index a7897a39..8a96bfd4 100644 --- a/docs/latest/intro/model-config.md +++ b/docs/latest/intro/model-config.md @@ -13,28 +13,28 @@ | 智谱清言 | `ZHIPUAI_API_KEY` | GLM 系列模型 | | 阿里云百炼 | `DASHSCOPE_API_KEY` | 通义千问系列 | -其余还支持火山、Together、vLLM、Ollama 等。 +其余还支持火山豆包、Together、vLLM、Ollama 等。 ### 配置方法 在 `.env` 文件中添加对应的环境变量: -<<< @/../.env.template#model_provider{bash 5} -### 默认对话模型格式 - -系统的默认对话模型通过配置项 `default_model` 指定,格式统一为 `模型提供商/模型名称`,例如: - -```yaml -default_model: siliconflow/deepseek-ai/DeepSeek-V3.2 -``` - -在 Web 界面中选择模型时也会自动按照这一格式保存。 ::: tip 免费获取 API Key [硅基流动](https://cloud.siliconflow.cn/i/Eo5yTHGJ) 注册即送 14 元额度,支持多种开源模型。 ::: +<<< @/../.env.template#model_provider{bash 5} + +### 默认对话模型格式 + +系统的默认对话模型可以在设置页面配置,也可以通过配置项 `default_model` 指定,格式统一为 `模型提供商/模型名称`,例如: + +```yaml +default_model: siliconflow/deepseek-ai/DeepSeek-V3.2 +``` + ## 自定义模型供应商 ::: tip 配置系统升级 (v0.3.x) diff --git a/docs/latest/intro/project-overview.md b/docs/latest/intro/project-overview.md index 7390fe1f..0198d743 100644 --- a/docs/latest/intro/project-overview.md +++ b/docs/latest/intro/project-overview.md @@ -22,16 +22,3 @@ Yuxi-Know(语析)是一个基于知识图谱和向量数据库的智能知 - **文档解析**: 支持 PDF、Word、图片等多种格式的智能解析 - **权限管理**: 三级权限体系(超级管理员、管理员、普通用户) - **内容安全**: 内置内容审查机制,保障服务合规性 - -## 演示视频 - -
- - 📽️ 点击查看视频演示 - -
-