docs: 更新文档内容并优化图标映射
更新多个文档内容,包括移除演示视频、调整模型配置说明、优化知识库文档结构 在HomeView.vue中添加图标映射区域注释 将FileTable.vue中的刷新图标从RefreshCcw改为ReloadOutlined 添加agent.png图片资源
This commit is contained in:
parent
696cd97618
commit
cd34ea5474
@ -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`),可根据需要修改。
|
||||
@ -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)
|
||||
- 建议根据系统性能调整批次大小
|
||||
- 大量文件处理时建议开启分批等待功能
|
||||
- 先上传后处理的机制更稳定,适合大批量文档导入
|
||||
|
||||
@ -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` 后再次重启服务即可。
|
||||
|
||||
## 服务端口
|
||||
|
||||
|
||||
@ -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. 以三元组形式导入
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -22,16 +22,3 @@ Yuxi-Know(语析)是一个基于知识图谱和向量数据库的智能知
|
||||
- **文档解析**: 支持 PDF、Word、图片等多种格式的智能解析
|
||||
- **权限管理**: 三级权限体系(超级管理员、管理员、普通用户)
|
||||
- **内容安全**: 内置内容审查机制,保障服务合规性
|
||||
|
||||
## 演示视频
|
||||
|
||||
<div align="center">
|
||||
<a href="https://www.bilibili.com/video/BV1DF14BTETq" target="_blank">
|
||||
<img width="3651" height="1933" alt="视频演示缩略图" src="https://github.com/user-attachments/assets/eac4fa89-2176-46ae-a649-45a125cb6ed1" />
|
||||
</a>
|
||||
<p style="margin-top: 12px;">
|
||||
<a href="https://www.bilibili.com/video/BV1DF14BTETq" target="_blank" style="text-decoration: none; color: #23ade5; font-weight: 500;">
|
||||
📽️ 点击查看视频演示 <i class="fa fa-external-link" style="margin-left: 4px;"></i>
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
@ -16,19 +16,19 @@
|
||||
|
||||
```bash
|
||||
# 克隆稳定版本
|
||||
git clone --branch v0.3.6-beta --depth 1 https://github.com/xerrors/Yuxi-Know.git
|
||||
git clone --branch v0.4.0-beta --depth 1 https://github.com/xerrors/Yuxi-Know.git
|
||||
cd Yuxi-Know
|
||||
```
|
||||
|
||||
::: warning 版本说明
|
||||
- `v0.3.0`: 稳定版本
|
||||
- `v0.3.6-beta`:最新的 Beta 测试版
|
||||
- `v0.4.0-beta`:最新的 Beta 测试版
|
||||
- `main`: 最新开发版本(不稳定,新特性可能会导致新 bug)
|
||||
:::
|
||||
|
||||
#### 2. 项目启动
|
||||
|
||||
** 方法 1**:使用 init 脚本(推荐)
|
||||
**方法 1**:使用 init 脚本(推荐)
|
||||
|
||||
我们提供了自动化的初始化脚本,可以帮您完成环境配置和 Docker 镜像拉取:
|
||||
|
||||
@ -51,7 +51,7 @@ cd Yuxi-Know
|
||||
- [Tavily](https://app.tavily.com/) 获取搜索服务 API Key(可选)
|
||||
:::
|
||||
|
||||
** 方法 2**:手动配置环境变量
|
||||
**方法 2**:手动配置环境变量
|
||||
|
||||
复制环境变量模板并编辑:
|
||||
|
||||
@ -92,7 +92,17 @@ docker compose up --build -d
|
||||
docker compose down
|
||||
```
|
||||
|
||||
### 故障排除
|
||||
## 对话
|
||||
|
||||
项目第一次启动后,会要求填写超级管理员账号和密码,请确保填写正确。
|
||||
|
||||
然后在智能体页面可以进行对话,在右侧可以配置提示词、模型、工具等参数。
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
## 故障排除
|
||||
|
||||
#### 查看服务状态
|
||||
|
||||
|
||||
BIN
docs/public/images/agent.png
Normal file
BIN
docs/public/images/agent.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 474 KiB |
@ -22,7 +22,7 @@
|
||||
type="text"
|
||||
@click="handleRefresh"
|
||||
:loading="refreshing"
|
||||
:icon="h(RefreshCcw)"
|
||||
:icon="h(ReloadOutlined)"
|
||||
title="刷新"
|
||||
class="panel-action-btn"
|
||||
/>
|
||||
@ -171,13 +171,13 @@ import {
|
||||
CloseCircleFilled,
|
||||
ClockCircleFilled,
|
||||
PlusOutlined,
|
||||
ReloadOutlined,
|
||||
} from '@ant-design/icons-vue';
|
||||
import {
|
||||
Trash2,
|
||||
Download,
|
||||
RefreshCw,
|
||||
ChevronLast,
|
||||
RefreshCcw,
|
||||
Ellipsis,
|
||||
} from 'lucide-vue-next';
|
||||
|
||||
|
||||
@ -147,6 +147,7 @@ onMounted(async () => {
|
||||
|
||||
const iconKey = (value) => typeof value === 'string' ? value.toLowerCase() : ''
|
||||
|
||||
// region icon_mapping
|
||||
const featureIconMap = {
|
||||
stars: Star,
|
||||
issues: CheckCircle2,
|
||||
@ -169,6 +170,7 @@ const actionIconMap = {
|
||||
github: Github,
|
||||
default: Github
|
||||
}
|
||||
// endregion icon_mapping
|
||||
|
||||
const featureCards = computed(() => {
|
||||
const list = Array.isArray(infoStore.features) ? infoStore.features : []
|
||||
|
||||
Loading…
Reference in New Issue
Block a user