Yuxi-Know
定义与身份
Yuxi-Know(语析)是一款基于大模型的开源智能知识库与知识图谱问答系统,也被定位为一站式智能知识库与知识图谱问答系统开发平台。
它的目标不是单一聊天工具,而是把 RAG、知识图谱、模型接入、权限控制和智能体扩展整合在同一套系统中,用于构建智能问答系统与知识管理平台。
项目代码托管在 GitHub 仓库 xerrors/Yuxi-Know,采用 MIT 开源协议,强调可快速部署、可二次开发和社区协作迭代。
核心技术栈
原文明确给出的核心技术栈包括:
在配套基础设施上,系统还依赖:
- Milvus:负责向量存储与检索。
- Neo4j:负责知识图谱图数据库存储、导入和查询。
- Docker Compose:负责多服务容器编排与部署。
主要能力
多模型适配
Yuxi-Know 支持接入多个模型供应商与部署方式。原文列举的主流平台模型包括:
- OpenAI
- 智谱清言
- 阿里 DashScope
- 豆包方舟
此外还支持本地部署模型,原文明确提到:
- vllm
- ollama
系统通过配置相应 API_KEY 即可切换模型使用。默认使用 SiliconFlow 服务,初始化时要求输入 SILICONFLOW_API_KEY;其他模型供应商密钥按需启用。
知识库与文档导入
知识库部分支持多格式文档上传。原文明确列出的格式包括:
- TXT
- Markdown
- Docx
除了本地文件上传外,还支持:
- 通过 URL 添加文件或网页内容
- 启用联网搜索获取最新信息辅助回答
文档上传后,系统会自动进行分块、索引,并写入 Milvus 向量数据库。处理耗时与文件大小相关,大文件可能需要几分钟。
智能对话与联网搜索
在智能体对话页面,用户可以创建新对话,并配置:
- 系统提示词
- 驱动模型
- 是否启用工具
原文示例中可启用 Tavily 网页搜索 工具,使系统同时结合知识库内容、联网搜索结果和大模型能力生成回答。对应的搜索能力需要可选配置 TAVILY_API_KEY。
知识图谱导入、可视化与图查询
Yuxi-Know 集成 Neo4j 作为图数据库,支持知识图谱:
- 导入
- 可视化查看
- 图查询
原文要求知识图谱数据整理为 jsonl 格式,每行一条三元组数据,字段为:
h:头实体t:尾实体r:关系
示例数据为:
{"h": "北京", "t": "中国", "r": "首都"}
{"h": "Python", "t": "编程语言", "r": "属于"}
{"h": "机器学习", "t": "人工智能", "r": "子集"}
导入完成后,用户可在图谱可视化界面查看实体关系;在对话中启用“查询知识图谱”工具后,系统可基于图谱回答关联关系问题。
权限管理与内容审查
系统具备完善的权限管理与内容审查能力。原文明确提到其内置内容审查机制,用于保障服务合规性。
权限方面,系统采用三级角色体系:
- 超级管理员
- 管理员
- 普通用户
知识库还支持编辑、删除和权限设置,因此不同用户对知识库的访问范围可以被控制。
自定义智能体扩展
Yuxi-Know 支持智能体拓展,允许开发者编写自定义智能体代码,以满足个性化业务需求。这意味着它不仅是现成应用,也可作为开发框架继续扩展。
角色体系与职责边界
超级管理员
超级管理员是系统最高权限角色。首次访问 Web 界面时,系统会提示设置超级管理员账号和密码。
原文指出,超级管理员主要用于:
- 管理用户
- 配置系统参数
- 作为系统最高权限账号进行初始化管理
环境变量中可以预先设置:
YUXI_SUPER_ADMIN_NAMEYUXI_SUPER_ADMIN_PASSWORD
但这两项是可选配置;如果未预设,启动后系统仍会提示进行设置。
管理员
原文没有细化管理员的全部操作清单,但根据三级权限结构,管理员处于超级管理员与普通用户之间,承担日常管理职能,通常会涉及知识库、图谱或业务资源的管理权限。
普通用户
普通用户是最低权限角色,主要面向系统使用者,例如进行智能对话、查询知识库内容、在授权范围内访问相关资源。
部署与运行信息
部署方式
项目采用 Docker Compose 进行容器编排部署。
部署前需要提前安装:
- Docker
- nvidia-container-toolkit
其中,无 GPU 也可以运行核心服务,但会限制本地模型使用。
操作系统与版本要求
原文说明支持以下操作系统:
- Linux
- macOS
- Windows(需使用 PowerShell)
同时建议使用 Python 3.12 及以上版本以保证兼容性。
稳定版本示例
原文给出的示例部署方式推荐直接克隆稳定版本 v0.4.3:
git clone --branch v0.4.3 --depth 1 https://github.com/xerrors/Yuxi-Know.git
cd Yuxi-Know
初始化配置
默认使用 SiliconFlow 服务,可通过初始化脚本自动检查并创建 .env 文件。
Linux 或 macOS 使用:
./scripts/init.sh
Windows PowerShell 使用:
.\scripts\init.ps1
初始化脚本会提示输入:
- 必需的
SILICONFLOW_API_KEY - 可选的
TAVILY_API_KEY,用于联网搜索
并自动拉取所需 Docker 镜像。
如果手动配置,则需要复制环境变量模板为 .env 后再编辑。原文示例中还涉及:
MODEL_DIRSAVE_DIR- 多个模型供应商 API_KEY
- Neo4j 连接参数
- 超级管理员预置账号密码
启动与初始化等待
启动命令为:
docker compose up --build -d
需要注意的边界条件是:后端服务启动后需要 2 到 3 分钟初始化,期间不应强制终止进程。