graphrag
微软官方 graphrag 自版本 0.4.0 以来进行了大规模的重构,如今已经迭代到 v1.1.2。graphrag-server 上一版一直停留在 v0.4.0。以下是自 0.4.0 以来的重大功能更新,也是本次 graphrag-server 更新将要支持的功能,跟进 graphrag 最新重构。
1.官方重要功能更新
- 支持四种检索模式:
- basic:基础检索模式,提供快速结果。
- local:本地数据检索,适合私有化场景。
- global:全局数据检索,支持动态社区选择。
- drift:高级动态检索,适应复杂数据流。
- 支持增量更新:便于实时同步新数据。
- 完全定制化 Prompts:支持用户对提示进行灵活调整。
- 动态社区选择:优化全局检索性能。
- 移除流程管理模块 DataShaper:精简系统,提升易用性。
为更好兼容官方 graphrag 的重构,并减少合并冲突, graphrag-server v1.1.2 对代码进行了重构,开源地址:
主要改动如下所示。
2. 移除嵌入的 graphrag 源码
- 改为通过
pip
安装 graphrag 依赖。 - 大幅简化代码维护流程,降低复杂性。
3. 优化代码结构
新的代码结构清晰简洁,如下图所示:
graphrag-server 新代码结构
4. 提供默认配置
- Prompts 和 settings.yaml 均已内置,无需额外初始化操作。
- settings.yaml 默认配置了 GLM 的 API 地址和免费模型 glm-4-flash。
- 用户只需将自己的大模型秘钥填写到
.env
文件即可快速启动。 - Embedding 部分默认使用 LM Studio 的地址,方便用户快速上手。
- 默认提供输入文件小说《围城》.txt,节选自第三章方鸿渐与唐晓芙的感情故事。
5. 对话模式支持多种检索
v1.1.2 支持对话使用新增的 basic 检索模式,只需在请求中将 model
设置为 basic
即可。此外,其他三种模式(local、global、drift)也完全支持。以下是一个简单的请求示例:
curl --location 'http://localhost:20213/v1/chat/completions' \
--header 'accept: application/json' \
--header 'Content-Type: application/json' \
--data '{
"model": "basic",
"messages": [
{
"role": "user",
"content": "这些活动的目的是什么"
}
],
"stream": true
}'
6. 提示
问题生成功能接口已暂时移除,新代码结构尚在调整中,后续版本或许会恢复支持。
总结
graphrag-server v1.1.2 是一次重要的更新,功能更加全面,架构更加简洁。通过优化后的依赖管理和默认配置,用户可以更轻松地体验多种检索模式和增强的对话功能。如果你还未升级,建议尽快尝试!
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。原始发表:2025-01-14,如有侵权请联系 cloudcommunity@tencent 删除重构server模型配置优化