GraphRAG 索引
GraphRAG 索引包是一个数据管道和转换套件,旨在使用 LLM 从非结构化文本中提取有意义的结构化数据。
索引管道是可配置的。它们由工作流、标准和自定义步骤、提示模板以及输入/输出适配器组成。我们的标准管道旨在:
从原始文本中提取实体、关系和声明
在实体中执行社区检测
生成多层次的社区摘要和报告
将实体嵌入到图向量空间中
将文本块嵌入文本向量空间
管道的输出可以存储为多种格式,包括 JSON 和 Parquet - 或者可以通过 Python API 手动处理。
入门
要求
有关设置开发环境的详细信息,请参阅“入门”中的要求部分。
索引引擎可以在默认配置模式下使用,也可以与自定义管道一起使用。要配置 GraphRAG,请参阅配置文档。获得配置文件后,您可以使用 CLI 或 Python API 运行管道。
用法
命令行界面
# Via Poetry
poetry run poe cli --root <data_root> # default config mode
poetry run poe cli --config your_pipeline.yml # custom config mode
# Via Node
yarn run:index --root <data_root> # default config mode
yarn run:index --config your_pipeline.yml # custom config mode
Python API
from graphrag.index import run_pipeline
from graphrag.index.config import PipelineWorkflowReference
workflows: list[PipelineWorkflowReference] = [
PipelineWorkflowReference(
steps=[
{
# built-in verb
"verb": "derive", # https://github.com/microsoft/datashaper/blob/main/python/datashaper/datashaper/engine/verbs/derive.py
"args": {
"column1": "col1", # from above
"column2": "col2", # from above
"to": "col_multiplied", # new column name
"operator": "*", # multiply the two columns
},
# Since we're trying to act on the default input, we don't need explicitly to specify an input
}
]
),
]
dataset = pd.DataFrame([{"col1": 2, "col2": 4}, {"col1": 5, "col2": 10}])
outputs = []
async for output in await run_pipeline(dataset=dataset, workflows=workflows):
outputs.append(output)
pipeline_result = outputs[-1]
print(pipeline_result)
作者:Jeebiz 创建时间:2024-08-06 22:02
最后编辑:Jeebiz 更新时间:2025-01-08 23:23
最后编辑:Jeebiz 更新时间:2025-01-08 23:23