2024最新KRAGEN安装教程:从Docker部署到Weaviate向量数据库配置全流程
2024最新KRAGEN安装教程:从Docker部署到Weaviate向量数据库配置全流程
【免费下载链接】KRAGENSoftware to implement GoT with a weviate vectorized database项目地址: https://gitcode.com/gh_mirrors/kr/KRAGEN
KRAGEN(GitHub 加速计划)是一款结合Graph of Thoughts (GoT)与Weaviate向量数据库的强大工具,能帮助用户高效实现知识图谱的提取、向量化存储与智能检索。本教程将带你完成从环境准备到数据库配置的完整部署流程,让你快速上手这款功能强大的开源工具。
📋 准备工作:环境与依赖检查
在开始部署前,请确保你的系统满足以下要求:
- 操作系统:Linux(推荐Ubuntu 20.04+)
- Docker:20.10.0+
- Docker Compose:2.0.0+
- Git:2.20.0+
通过以下命令检查Docker是否已安装:
docker --version docker-compose --version如果尚未安装Docker,可以参考官方文档进行安装。
项目架构概览
KRAGEN采用模块化架构设计,主要包含四个核心服务:
- kragen:核心业务逻辑服务
- weaviate:向量数据库服务
- execgpt:API后端服务
- gui:前端界面服务
这些服务通过Docker Compose进行编排,实现无缝协作。下图展示了KRAGEN的工作流程:
图1:KRAGEN从知识图谱提取到向量数据库存储的完整流程
🚀 快速部署:Docker一键启动
1. 克隆项目代码
首先,使用Git克隆KRAGEN项目仓库:
git clone https://gitcode.com/gh_mirrors/kr/KRAGEN cd KRAGEN2. 配置环境变量
项目提供了环境变量模板文件,复制并修改配置:
cp config/kragen.env.example config/kragen.env使用文本编辑器打开config/kragen.env,根据实际需求修改以下关键参数:
OPENAI_API_KEY:你的OpenAI API密钥(用于向量化处理)WEAVIATE_URL:Weaviate数据库地址(默认:http://weaviate:8080)EMBEDDING_MODEL:嵌入模型选择(默认:text-embedding-ada-002)
3. 启动Docker服务栈
KRAGEN提供了统一的Docker Compose配置文件docker-compose.yml,该文件整合了所有必要的服务:
services: kragen: extends: file: docker-compose-kragen.yml service: kragen depends_on: - weaviate weaviate: extends: file: docker-compose-weaviate.yml service: weaviate execgpt: extends: file: docker-compose-flask.yml service: execgpt gui: extends: file: docker-compose-gui.yml service: gui执行以下命令启动所有服务:
docker-compose up -d首次启动时,Docker会自动拉取所需镜像并构建服务,这个过程可能需要几分钟时间。可以使用以下命令检查服务状态:
docker-compose ps当所有服务状态显示为Up时,说明部署成功!
⚙️ Weaviate向量数据库配置
1. 访问Weaviate控制台
Weaviate提供了Web控制台,可通过以下地址访问:
http://localhost:8080/console在控制台中,你可以查看数据库状态、创建数据模式以及执行查询操作。
2. 初始化向量数据库
KRAGEN提供了初始化脚本,用于创建必要的数据模式和索引:
docker-compose exec kragen python src/make_vector.py该脚本会根据配置文件中的设置,创建适合知识图谱存储的向量索引。执行成功后,你可以在Weaviate控制台中看到新创建的类和属性。
3. 验证数据库连接
使用以下命令测试Weaviate数据库连接:
docker-compose exec kragen python -c "from src.config import WEAVIATE_URL; import weaviate; client = weaviate.Client(WEAVIATE_URL); print(client.get_meta())"如果输出包含Weaviate的版本信息和配置详情,说明数据库连接正常。
🔍 功能验证:知识图谱处理流程
1. 数据提取与向量化
KRAGEN的核心功能是将知识图谱数据提取并转换为向量表示。以下是完整的处理流程:
- 提取:使用Cypher查询语言从知识图谱中提取数据
- 转换:将查询结果转换为自然语言描述
- 向量化:使用嵌入模型将文本转换为向量
- 存储:将向量数据上传到Weaviate数据库
- 检索:通过RAG技术进行智能搜索
图2:KRAGEN知识图谱提取与向量化处理详细流程
2. 运行示例查询
项目提供了测试数据,可以通过以下命令运行示例查询:
docker-compose exec kragen python src/kragen.py --query "List the body parts associated with the gene METTL5"正常情况下,你将得到类似以下的输出:
heart, adrenal gland3. 访问Web界面
KRAGEN的前端界面可以通过以下地址访问:
http://localhost:3000在Web界面中,你可以:
- 输入自然语言查询
- 查看知识图谱可视化结果
- 调整搜索参数和显示选项
📊 KRAGEN性能优势
KRAGEN结合了Graph of Thoughts和RAG技术,在知识检索任务中表现出显著优势。以下是KRAGEN与其他模型的性能对比:
图3:KRAGEN与不同LLM模型在各类知识问答任务中的性能对比
从雷达图可以看出,KRAGEN(红色线条)在多跳问答(T/F-2hop、MCQ-2hop)任务中表现尤为突出,充分体现了其处理复杂知识推理的能力。
❗ 常见问题与解决方案
1. Docker服务启动失败
如果遇到服务启动失败,可以通过以下命令查看日志:
docker-compose logs -f [服务名称]常见问题及解决方法:
- 端口冲突:确保8080、5000、3000端口未被其他服务占用
- 资源不足:Weaviate需要较多内存,建议分配至少4GB RAM
- 网络问题:检查网络连接,确保能正常拉取Docker镜像
2. Weaviate数据库连接超时
如果出现数据库连接超时,可能是以下原因:
- Weaviate服务尚未完全启动,等待几分钟后重试
- 环境变量
WEAVIATE_URL配置错误,确保使用容器名称而非localhost - 网络配置问题,检查
kragen-net网络是否正常创建
3. 向量化处理速度慢
向量化处理速度受以下因素影响:
- API密钥:使用OpenAI API时,确保密钥有效且有足够配额
- 网络状况:API调用需要稳定的网络连接
- 模型选择:本地模型可能速度较慢但隐私性更好
🎉 总结
通过本教程,你已经成功部署了KRAGEN并完成了Weaviate向量数据库的配置。现在你可以:
- 使用Docker Compose管理KRAGEN的所有服务
- 配置Weaviate数据库以存储知识图谱向量
- 通过命令行或Web界面执行知识检索任务
KRAGEN的强大之处在于其将Graph of Thoughts与向量数据库相结合的创新设计,为复杂知识推理提供了高效解决方案。如果你想深入了解KRAGEN的内部实现,可以查看项目源代码:
- 核心功能:src/kragen.py
- 向量处理:src/make_vector.py
- API服务:KRAGEN_Dashboard/Backend/ExecGPTServer/server.py
祝你使用KRAGEN愉快!如有任何问题,可以查阅项目文档或提交issue寻求帮助。
【免费下载链接】KRAGENSoftware to implement GoT with a weviate vectorized database项目地址: https://gitcode.com/gh_mirrors/kr/KRAGEN
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
