综合介绍
GraphRAG-Dify是一个开源项目,旨在结合GraphRAG和Dify技术,快速创建和部署AI Agent。该项目利用FastAPI和Uvicorn进行服务搭建,并支持DSL导入,方便用户在实际应用中集成和使用。
功能列表
- 创建AI Agent:结合GraphRAG与Dify技术,快速创建AI Agent。
- 服务搭建:使用FastAPI和Uvicorn进行服务搭建,确保高效运行。
- DSL导入:支持DSL导入,方便用户集成和使用。
- 代码管理:提供详细的代码管理和版本控制功能。
- 兼容性:兼容官方最新版本,确保代码的稳定性和可靠性。
使用帮助
安装与配置
- 克隆代码仓库:
git clone https://github.com/brightwang/graphrag-dify.git cd graphrag-dify
- 安装依赖: 在
pyproject.toml
文件中添加以下依赖包,并执行poetry install
:[tool.poetry.dependencies] fastapi = "^0.115.0" uvicorn = "^0.31.0" asyncio = "^3.4.3" utils = "^1.0.2"
- 配置GraphRAG: 将
main.py
文件放置于GraphRAG项目源码根目录,并将search.py
和search_prompt.py
按照仓库中的目录位置覆盖GraphRAG的源文件。 - 生成索引: 将生成的索引文件存放于根目录下的
indexs
目录中。
使用GraphRAG-Dify
- 启动服务: 使用以下命令启动GraphRAG服务:
poetry shell uvicorn main:app --reload --host 0.0.0.0 --port 8000
- 测试查询: 参考以下命令测试服务是否正常运行:
poetry run poe query --root ./indexs/wzry --method local --response_type search_prompt "项羽有什么技能"
- 导入Dify DSL: 将Dify的两个DSL导入,并重新发布工作流为工具,在Agent中重新引用,具体步骤可参考项目中的视频教程。
详细功能操作流程
- GraphRAG与Dify结合:
- 将GraphRAG暴露为HTTP服务,供Dify使用。
- 配置Dify的Agent,使其能够调用GraphRAG提供的服务。
- 通过DSL定义Dify的工作流,并将其发布为工具。
- 测试与验证:
- 使用提供的测试命令验证服务的正确性。
- 调整配置文件和代码,确保服务稳定运行。
- 优化与维护:
- 定期更新依赖包,保持与GraphRAG官方版本的兼容性。
- 根据实际使用情况,优化代码和配置,提高服务性能。