graphrag api 调用
Project description
GraphRag-API
GraphRag-API 在 GraphRag 库的基础上扩展,提供了 API 调用功能,用于执行本地和全局搜索。此扩展允许用户通过 RESTful API 调用,轻松地将 GraphRag 的强大搜索功能集成到他们的应用程序中。
功能
- 本地搜索:在指定的本地数据集内进行搜索。
- 全局搜索:在更广泛的全球数据集中进行搜索。
- 可配置参数:通过配置文件或 API 调用自定义搜索参数。
- RESTful API:通过 HTTP 请求轻松与其他应用程序和服务集成。
安装
先决条件
确保已安装 Python 3.8+。
通过 pip 安装
使用 pip 安装 GraphRag-API:
pip install graphrag_api
从源码安装
- 克隆源码库:
git clone https://github.com/nightzjp/graphrag_api
- 进入项目目录并安装依赖:
cd graphrag_api
pip install -r requirements.txt
使用
初始化
- 命令行初始化
python -m graphrag.index --init --root ./rag # graphrag初始化
python index_test.py --init --root rag # graphrag_api初始化
2代码初始化
from graphrag_api.index import GraphRagIndexer
indexer = GraphRagIndexer(root="rag", init=True)
indexer.run()
索引创建
- 命令行初始化(会生成rag目录)
python -m graphrag.index --root rag # graphrag初始化
python index_test.py --root rag # graphrag_api初始化
- 代码初始化
from graphrag_api.index import GraphRagIndexer
indexer = GraphRagIndexer(root="rag")
indexer.run()
- 修改配置文件(自动生成,需要修改相应配置)
.env
文件
GRAPHRAG_API_KEY=<API_KEY>
settings.yaml
文件
encoding_model: cl100k_base
skip_workflows: []
llm:
api_key: ${GRAPHRAG_API_KEY}
type: openai_chat # or azure_openai_chat
model: gpt-4o-mini # mini性价比比较高
model_supports_json: true # recommended if this is available for your model.
embeddings:
## parallelization: override the global parallelization settings for embeddings
async_mode: threaded # or asyncio
llm:
api_key: ${GRAPHRAG_API_KEY}
type: openai_embedding # or azure_openai_embedding
model: text-embedding-3-small
input:
type: file # or blob
file_type: csv # or text 这里以csv为例
base_dir: "input"
file_encoding: utf-8
file_pattern: ".*\\.csv$"
source_column: "question" # csv-key
text_column: "answer" # csv-key
q.csv
文件示例
question,answer
"你是谁","你猜啊"
搜索
- 命令行初始化
python -m graphrag.query \
--root ./ragtest \
--method global(local) \
"What are the top themes in this story?" # graphrag初始化
python search_test.py --root rag --method global(local) "What are the top themes in this story?" # graphrag初始化
2代码初始化
from graphrag_api.search import SearchRunner
search_runner = SearchRunner(root_dir="rag")
search_runner.run_local_search(query="What are the top themes in this story?", streaming=False)
search_runner.run_global_search(query="What are the top themes in this story?", streaming=False)
# 对于输出的结果可能带有一些特殊字符,可以采用以下函数去除特殊字符或自行处理。
search_runner.remove_sources(search_runner.run_local_search(query="What are the top themes in this story?"))
报告问题
如果遇到任何问题,请在 GitHub 上提交 issue。
许可证
此项目依据 MIT 许可证授权。有关详细信息,请参阅 LICENSE 文件。
致谢
此项目基于 GraphRag 库。特别感谢原项目的贡献者。
如果有任何需要进一步调整的地方,请告诉我!
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
graphrag_api-0.3.1.tar.gz
(11.3 kB
view details)
Built Distribution
File details
Details for the file graphrag_api-0.3.1.tar.gz
.
File metadata
- Download URL: graphrag_api-0.3.1.tar.gz
- Upload date:
- Size: 11.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8680ddb464c438c32f0ed3833819b7d1747173a742ea181f399db63716e79963 |
|
MD5 | e1f268169e7675dff97a5fcc492c88b9 |
|
BLAKE2b-256 | 8da4e13e78e49ae3c56c477c20feadca49dd965f493f835a8141ef4c37f54331 |
File details
Details for the file graphrag_api-0.3.1-py3-none-any.whl
.
File metadata
- Download URL: graphrag_api-0.3.1-py3-none-any.whl
- Upload date:
- Size: 10.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 68cdeb61c3f903cfdf73ffa48a92e3913ea24520f5ad9372f81481d355b75322 |
|
MD5 | 1823e679b4e991ff761efeec2e31a1ba |
|
BLAKE2b-256 | 994fe18f5b6d0772361d17b26cd233e9f555efdd479157e711205e7f022883df |