SOURCE
Yuxi-Know:一站式智能知识库与知识图谱问答系统开发平台 - 今日头条 摘要
文档概览
- 文章先交代背景:随着大模型应用扩展,RAG与知识图谱融合问答 被视为解决精准问答与知识管理的核心方案,而传统知识库系统常见问题包括格式兼容有限、模型适配单一、知识关联薄弱。
- 随后给出产品定位:Yuxi-Know 被描述为一款基于大模型的开源智能知识库与知识图谱问答系统,强调“一站式”“易部署”“支持二次开发”。
- 中段进入实际使用,重点讲 Docker Compose 部署、环境依赖、API_KEY 配置、启动命令、访问地址与首次初始化。
- 然后分别介绍三条主要使用路径:智能对话、知识库管理、知识图谱管理。
- 结尾总结其适用场景,包括企业内部知识库、教育辅导、科研资料整理与开发者二次开发。
关键事实
整体定位
- Yuxi-Know 被原文定位为一款开源的智能知识库与知识图谱问答系统。
- 它的核心用途是构建智能问答系统和知识管理平台。
- 文章反复强调其是一站式平台,不只是单纯文档问答,而是把知识库、知识图谱、智能体对话、模型适配与权限管理整合在同一系统里。
- 项目托管在 GitHub,仓库地址为
https://github.com/xerrors/Yuxi-Know。 - 开源协议为 MIT。
技术栈与系统组成
- 原文明确列出其技术架构为:LangGraph + Vue.js + FastAPI + LightRAG。
- 图数据库使用 Neo4j,承担知识图谱导入、可视化与图查询功能。
- 向量数据库使用 Milvus,承担文档分块后的索引与检索。
- 部署方式基于 Docker Compose 进行容器编排。
- 从系统组成上看,它至少覆盖前端界面、后端 API、向量检索、图数据库、模型接入与工具调用几个部分。
模型与能力范围
- 多模型支持被视为其主要卖点之一。
- 原文点名支持的云端模型平台包括:OpenAI、智谱清言、阿里 DashScope、豆包方舟。
- 同时支持本地部署模型,举例为 vllm、ollama。
- 切换模型的基本方式是配置对应 API_KEY。
- 默认依赖的服务商是 SiliconFlow,因此初始化时必填的是
SILICONFLOW_API_KEY。 - 若要启用联网搜索,原文给出可选配置项
TAVILY_API_KEY。
知识库与知识图谱两条能力线
- 知识库线路:上传 PDF、TXT、Markdown、Docx 等文档,或者通过 URL 抓取网页内容;系统会自动分块、建立索引,并存入 Milvus。
- 知识图谱线路:准备 jsonl 格式的三元组数据,每行一条,字段为
h、t、r;导入后写入 Neo4j,并支持图谱可视化和图查询。 - 文档检索和图谱查询都可以在对话时作为工具能力接入大模型。
- 因此它不是单一的向量检索系统,而是把文档型知识与结构化关系型知识同时纳入问答流程。
权限与扩展能力
- 文章提到系统具备三级角色权限:超级管理员、管理员、普通用户。
- 同时带有内容审查机制,用于保障服务合规性。
- 还支持智能体扩展,开发者可以编写自定义智能体代码来满足个性化需求。
使用与部署流程
运行前提
- 需要预先安装 Docker。
- 需要安装
nvidia-container-toolkit。 - 即使没有 GPU,也可以运行核心服务;限制主要在本地模型使用。
- 支持 Linux、macOS 和 Windows。
- Windows 环境下原文特别说明需使用 PowerShell。
- 建议使用 Python 3.12 及以上版本,以保证兼容性。
拉取代码
- 原文推荐直接拉取稳定版本分支
v0.4.3,以保证运行稳定性。 - 使用的命令为:
git clone --branch v0.4.3 --depth 1 https://github.com/xerrors/Yuxi-Know.gitcd Yuxi-Know
初始化脚本与 .env 生成
- 原文推荐先运行初始化脚本,而不是手动一步步配置。
- Linux/macOS 使用:
./scripts/init.sh - Windows PowerShell 使用:
.\scripts\init.ps1 - 脚本会自动检查并创建
.env文件。 - 脚本会提示输入必需的
SILICONFLOW_API_KEY。 - 脚本也会提示可选输入
TAVILY_API_KEY,用于联网搜索。 - 脚本还会自动拉取所有必需的 Docker 镜像,因此不需要手动逐个拉取。
手动环境变量配置
- 如果不走脚本,也可以手动复制模板:
cp .env.template .env。 - 然后编辑
.env,原文示例给出如下关键参数: MODEL_DIR=./modelsSAVE_DIR=./savesSILICONFLOW_API_KEY=...,该项在原文中被标注为必需。TAVILY_API_KEY=...,用于搜索服务,为可选项。- 可选模型 API_KEY 包括:
OPENAI_API_KEY、ZHIPUAI_API_KEY、DEEPSEEK_API_KEY、ARK_API_KEY、DASHSCOPE_API_KEY。 - Neo4j 默认使用容器内置服务,示例中
NEO4J_URI、NEO4J_USERNAME、NEO4J_PASSWORD都被标注为默认无需修改。 - 超级管理员也可以通过环境变量预设:
YUXI_SUPER_ADMIN_NAME、YUXI_SUPER_ADMIN_PASSWORD,但原文说明这两项是可选的,启动后系统也会提示设置。
启动服务
- 统一启动命令为:
docker compose up --build -d。 - 原文建议加
-d让服务在后台运行。 - 启动后后端不会立刻可用,初始化需要 2-3 分钟。
- 这 2-3 分钟内需要耐心等待,不要强制终止进程。
故障处理
- 文中特别给出一个常见故障:Milvus 向量数据库可能启动失败。
- 处理方式不是整套环境全部重建,而是先单独拉起 Milvus:
docker compose up milvus -d。 - 然后重启 API 服务:
docker restart api-dev。 - 这是文中明确保留的例外处理步骤。
状态检查与访问入口
- 可以通过
docker ps查看所有容器状态,确认服务是否正常运行。 - Web 前端地址:
http://localhost:5173。 - API 文档地址:
http://localhost:5050/docs。 - API 文档被明确说明可用于查看后端接口详情。
首次初始化
- 首次访问前端界面时,系统会提示设置超级管理员账号和密码。
- 该账号是系统最高权限账号。
- 其用途包括管理用户、配置系统参数等。
- 原文特别提醒要牢记该账号密码。
- 完成超级管理员初始化后,才进入正常登录和使用流程。
功能路径整理
智能对话功能
- 登录后首页可见的核心模块包括:智能体对话、知识库管理、知识图谱管理。
- 正式使用前,文章建议先进入右上角“设置”检查系统配置是否正确。
- 重点检查模型供应商和 API_KEY 配置是否生效。
- 如果要切换模型,需要在模型配置中选择对应供应商,并确保已配置该供应商的 API_KEY。
- 进入“智能体”页面后,点击“创建新对话”即可开始交互。
- 在右侧配置面板中可以设置系统提示词、驱动模型、是否启用工具等参数。
- 文中给出的示例提示词是:
You are a professional technical assistant。 - 示例模型是 SiliconFlow 提供的
**Qwen**/Qwen2.5-7B-Instruct,并注明为免费模型。 - 示例工具是 “Tavily 网页搜索”。
- 开启后,系统能把知识库内容、联网搜索结果和大模型能力结合起来生成回答。
- 文中示例问题包括“解释什么是机器学习”和“推荐几本 AI 领域的经典书籍”,前者用于定义型问答,后者用于结合知识库与网络资源生成推荐列表。
知识库管理
- 在“知识库”模块中,可以新建知识库并上传文档。
- 支持的文件格式原文明确列出:PDF、TXT、Markdown、Docx。
- 除本地上传外,还支持“添加 URL”,由系统自动抓取网页内容并加入知识库。
- 上传后系统会自动进行分块、索引,并把结果存储到 Milvus 向量数据库。
- 处理耗时与文件大小相关,大文件可能需要几分钟。
- 文中示例是上传一份 PDF 格式的《Python 编程入门》文档。
- 处理完成后,可以在对话中提问“Python 中列表和字典的区别是什么”,系统会从已上传文档中检索相关内容,再结合大模型生成回答。
- 除导入和问答外,还支持对知识库进行编辑、删除和权限设置,用于控制不同用户的访问权限。
知识图谱使用
- 知识图谱功能依赖 Neo4j。
- 使用时需要先准备 jsonl 格式数据。
- 原文要求每行一条数据,结构为三元组对象,包含
h、t、r三个字段。 - 文中给出的示例包括:
{"h": "北京", "t": "中国", "r": "首都"}{"h": "Python", "t": "编程语言", "r": "属于"}{"h": "机器学习", "t": "人工智能", "r": "子集"}- 在界面点击“导入图谱”后,选择整理好的 jsonl 文件,系统会将数据导入 Neo4j。
- 导入完成后,可在图谱可视化界面查看实体之间的关联。
- 如果在对话中启用“查询知识图谱”工具,智能助手就可以基于图谱回答关系型问题。
- 原文示例问题是“北京和中国是什么关系”,示例返回答案为“首都”。