W
AI-Wiki
ENTITY

Yuxi-Know

定义与身份

Yuxi-Know(语析)是一款基于大模型的开源智能知识库与知识图谱问答系统,也被定位为一站式智能知识库与知识图谱问答系统开发平台。

它的目标不是单一聊天工具,而是把 RAG、知识图谱、模型接入、权限控制和智能体扩展整合在同一套系统中,用于构建智能问答系统与知识管理平台。

项目代码托管在 GitHub 仓库 xerrors/Yuxi-Know,采用 MIT 开源协议,强调可快速部署、可二次开发和社区协作迭代。

核心技术栈

原文明确给出的核心技术栈包括:

  • LangGraph:用于组织大模型相关流程与智能体能力。
  • Vue.js:用于 Web 前端界面。
  • FastAPI:用于后端 API 服务。
  • LightRAG:用于知识检索增强相关能力。

在配套基础设施上,系统还依赖:

  • Milvus:负责向量存储与检索。
  • Neo4j:负责知识图谱图数据库存储、导入和查询。
  • Docker Compose:负责多服务容器编排与部署。

主要能力

多模型适配

Yuxi-Know 支持接入多个模型供应商与部署方式。原文列举的主流平台模型包括:

  • OpenAI
  • 智谱清言
  • 阿里 DashScope
  • 豆包方舟

此外还支持本地部署模型,原文明确提到:

  • vllm
  • ollama

系统通过配置相应 API_KEY 即可切换模型使用。默认使用 SiliconFlow 服务,初始化时要求输入 SILICONFLOW_API_KEY;其他模型供应商密钥按需启用。

知识库与文档导入

知识库部分支持多格式文档上传。原文明确列出的格式包括:

  • PDF
  • 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_NAME
  • YUXI_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_DIR
  • SAVE_DIR
  • 多个模型供应商 API_KEY
  • Neo4j 连接参数
  • 超级管理员预置账号密码

启动与初始化等待

启动命令为:

docker compose up --build -d

需要注意的边界条件是:后端服务启动后需要 2 到 3 分钟初始化,期间不应强制终止进程。