语析 - 基于大模型的知识库与知识图谱问答系统使用教程
1. 项目介绍
语析是一款结合了大模型 RAG 知识库与知识图谱技术的问答平台,基于 Llamaindex + VueJS + FastAPI + Neo4j 构建。它具备以下核心特点:
- 多模型支持:适配 OpenAI、国内主流大模型平台,以及本地 vllm、ollama 部署。
- 灵活知识库:支持 PDF、TXT、MD 等多种格式文档。
- 知识图谱集成:基于 Neo4j 的知识图谱问答能力。
- 简单配置:只需配置对应服务平台的 API_KEY 即可使用。
- 智能体拓展:可以编写自己的智能体代码(开发过程,非正式版)。
2. 项目快速启动
在启动前,您需要提供 API 服务商的 API_KEY,并放置在 src/.env 文件中(此文件项目中没有,需要自行参考 src/.env.template 创建)。以下是开发环境启动的步骤:
docker compose -f docker/docker-compose.dev.yml --env-file src/.env up --build
如果您希望在后台运行,可以添加 -d
参数。
对于生产环境部署,请使用以下命令:
docker compose -f docker/docker-compose.yml --env-file src/.env up --build -d
成功启动后,您可以通过访问 http://localhost:5173/
来使用系统。
3. 应用案例和最佳实践
知识库管理
- 支持多种文档格式的上传,包括 PDF、TXT、MD、Docx 等。
- 系统会自动将上传的文件转换为纯文本,并使用向量模型将文本转换为向量,然后存储到向量数据库中。
知识图谱集成
- 使用 Neo4j 作为知识图谱存储。
- 将图谱整理成 jsonl 格式,每行格式为
{"h": "实体1", "t": "实体2", "r": "关系"}
。 - 在网页的图谱管理中添加此文件。
模型支持
- 项目支持通过 API 调用的模型,本地模型需使用 vllm、ollama 转成 API 服务后使用。
- 可以在
src/static/models.yaml
中添加或配置新的模型供应商。
4. 典型生态项目
目前,语析支持与以下典型生态项目集成:
- 向量模型与重排序模型:推荐使用硅基流动部署的 bge-m3(免费且无需修改)。
- 本地模型部署:支持添加以 OpenAI 兼容模式运行的本地模型,如 vllm 和 Ollama。
- 知识图谱存储:使用 Neo4j 作为存储,支持自定义和导入知识图谱。
通过上述教程,您应该能够快速上手并使用语析项目,构建自己的知识库与知识图谱问答系统。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考