💡 GraphRAG-Local-UI简介
GraphRAG-Local-UI是一个基于Microsoft的GraphRAG项目改编而来的开源系统,旨在支持本地模型并提供全面的交互式用户界面生态系统。它利用本地语言模型和嵌入模型,为用户提供了一个强大而灵活的知识图谱查询平台。
🌟 主要特性
-
API中心架构:基于FastAPI的强大服务器(
api.py
)作为GraphRAG操作的核心。 -
专用索引和提示调优UI:单独的基于Gradio的界面(
index_app.py
)用于管理索引和提示调优过程。 -
本地模型支持:支持使用本地模型进行LLM和嵌入,包括与Ollama和OpenAI兼容API的兼容性。
-
成本效益:通过使用自己的本地模型,消除了对昂贵的基于云的模型的依赖。
-
交互式UI:用户友好的界面,用于管理数据、运行查询和可视化结果(主应用程序)。
-
实时图形可视化:使用Plotly在2D或3D中可视化您的知识图谱(主应用程序)。
-
文件管理:直接从UI上传、查看、编辑和删除输入文件。
-
设置管理:通过UI轻松更新和管理GraphRAG设置。
-
输出探索:浏览和查看索引输出和工件。
-
日志记录:实时日志记录,以便更好地调试和监控。
-
灵活查询:支持全局、本地和直接聊天查询,具有可自定义的参数(主应用程序)。
-
可定制可视化:调整图形布局、节点大小、颜色等以满足您的偏好(主应用程序)。
🚀 安装和设置
要设置和运行GraphRAG-Local-UI生态系统,请按照以下步骤操作:
- 创建并激活新的conda环境:
conda create -n graphrag-local -y
conda activate graphrag-local
- 安装所需的包:
首先安装此存储库中的GraphRAG目录(包含Microsoft存储库中不存在的更改):
pip install -e ./graphrag
然后安装其余的依赖项:
pip install -r requirements.txt
- 启动API服务器:
python api.py --host 0.0.0.0 --port 8012 --reload
- 如果使用Ollama进行嵌入,请启动嵌入代理:
python embedding_proxy.py --port 11435 --host http://localhost:11434
注意:有关使用Ollama嵌入与GraphRAG的详细说明,请参阅EMBEDDING_PROXY_README.md文件。
- 启动索引和提示调优UI:
python index_app.py
- 启动主交互式UI(旧版应用程序):
gradio app.py
或
python app.py
- 访问UI:
- 索引和提示调优UI:在Web浏览器中导航到
http://localhost:7861
- 主UI(旧版):在Web浏览器中导航到
http://localhost:7860
📊 GraphRAG-Local-UI工作流程
-
创建索引目录:首先创建所需的目录结构以存储输入数据和索引结果。
-
添加示例数据:可以选择添加示例数据或自己的.txt文件到输入目录中。
-
初始化索引文件夹:运行命令以初始化./indexing文件夹。
-
配置设置:移动预配置的
settings.yaml
文件到索引目录。 -
自定义:可以通过修改环境变量来自定义设置。
🖥️ GraphRAG应用程序生态系统
GraphRAG-Local-UI生态系统由三个主要组件组成,每个组件在知识图谱创建和查询过程中都有特定的用途:
-
核心API(
api.py
):作为GraphRAG系统的骨干,提供所有核心操作的强大FastAPI服务器。 -
索引和提示调优UI(
index_app.py
):提供用户友好的Gradio界面来管理索引和提示调优过程。 -
主交互式UI(旧版应用程序)(
app.py
):pre-existing主应用程序,正在逐步淘汰但仍提供有用的功能。
🔍 未来发展方向
GraphRAG-Local-UI项目正在不断发展中,未来计划包括:
- 开发专用的查询/聊天UI,与API交互
- 为更轻松部署创建Dockerfile
- 启动自己的GraphRAG API服务器,以便在外部应用程序中使用
- 实验性功能:混合代理用于知识图谱的索引/查询
- 支持更多文件格式(CSV、PDF等)
- Web搜索/抓取功能
- 高级图分析工具
- 与流行的知识管理工具集成
- 团队知识图谱构建的协作功能
📚 结语
GraphRAG-Local-UI为用户提供了一个强大而灵活的本地化知识图谱查询系统。通过结合本地语言模型、交互式UI和丰富的功能,它为知识管理和信息检索开辟了新的可能性。无论您是研究人员、开发人员还是企业用户,GraphRAG-Local-UI都能为您的知识图谱项目带来价值。我们期待看到社区如何利用这个工具,并欢迎您的贡献和反馈,以使GraphRAG-Local-UI成为更加强大和用户友好的解决方案。