Skip to content

jasonkylelol/graphrag-chinese

Repository files navigation

graphrag-chinese

支持中文🇨🇳🇨🇳🇨🇳的 microsoft graphrag

来自 microsoft/graphrag

  • 可以使用OpenAI协议兼容的中文大模型API,或者开源中文模型搭建的OpenAI协议兼容的API server
  • 使用开源模型搭建API server可以显著降低索引构建成本

更新

  • 🚀 2025/01/14 新增 BASIC query 模式,升级graphrag版本为 v1.1.2
  • 🚀 2024/11/27 新增了 DRIFT query 模式,升级graphrag版本为 v0.5.0
  • 🚀 2024/09/13 适配中文,graphrag版本为 v0.3.3

与原生 graphrag 的区别

  • 定制的基于中文字符和标点符号的分词器
  • 将 index 和 query 使用到的 prompt 翻译为中文

用法

index

GRAPHRAG_API_BASE=GRAPHRAG_API_BASE GRAPHRAG_API_BASE_EMBEDDING=GRAPHRAG_API_BASE_EMBEDDING GRAPHRAG_API_KEY=GRAPHRAG_API_KEY GRAPHRAG_INPUT_FILE_TYPE=text python index.py --root /working_root --input /input_files --lang chinese

GRAPHRAG_API_BASE: OpenAI api 兼容的服务
GRAPHRAG_API_BASE_EMBEDDING: OpenAI api 兼容的embedding服务
GRAPHRAG_API_KEY: OpenAI api key
GRAPHRAG_INPUT_FILE_TYPE: graphrag input 类型, text/csv

--root: graphrag 工作目录  
--input: index 用到的输入文件夹  
--lang: 可选, 默认 english, 可用 chinese  
--update: 可选,更新已有的知识图谱索引  

query

index 完成后, 使用 python serving.py 启动 FastAPI server,支持流式查询
method: POST
body:

{
    "root": "/working_root",
    "method": "local",  # graphrag query method, can be local, global, drift or basic
    "query": "query prompt",
    "graphrag_api_base": "",  # OpenAI compatible api llm server
    "graphrag_api_base_embedding": "", # OpenAI compatible api embedding server
    "graphrag_input_type": "text",  # graphrag input type, text or csv
    "streaming": false  # streaming output
}

可能需要设置api key: GRAPHRAG_API_KEY
调用示例:

curl -N -X POST -H 'Content-Type:application/json' -d '{"root":"/workspace/test", "method":"local", "query":"why Musk is essential for OpenAI?","graphrag_api_base":"http://api/v1", "graphrag_api_base_embedding": "http://api/v1", "streaming": false, "graphrag_input_type":"text"}' 'http://192.168.0.20:38062/query'

About

支持中文🇨🇳🇨🇳🇨🇳 的 microsoft/graphrag

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published