默认配置模式(使用环境变量)
文本嵌入自定义
默认情况下,GraphRAG 索引器只会发出查询方法所需的嵌入。然而,模型为所有纯文本字段定义了嵌入,这些嵌入可以通过将 GRAPHRAG_EMBEDDING_TARGET
环境变量设置为 all
来生成。
如果嵌入目标是 all
,并且您只想嵌入这些字段的一个子集,可以使用下面描述的 GRAPHRAG_EMBEDDING_SKIP
参数指定要跳过的嵌入。
嵌入字段
text_unit.text
document.raw_content
entity.name
entity.description
relationship.description
community.title
community.summary
community.full_content
输入数据
我们的管道可以从输入文件夹中摄取 .csv 或 .txt 数据。这些文件可以嵌套在子文件夹中。要配置输入数据的处理方式、映射的字段以及时间戳的解析方式,请查找以下以 GRAPHRAG_INPUT_
开头的配置值。通常,基于 CSV 的数据提供了最大的自定义性。每个 CSV 至少应包含一个 text
字段(可以使用环境变量进行映射),但如果它们还包含 title
、timestamp
和 source
字段,则会有所帮助。还可以包含其他字段,这些字段将作为 Document
表上的额外字段。
基础 LLM 设置
这些是配置 LLM 连接的主要设置。
参数 |
是否必需? |
描述 |
类型 |
默认值 |
GRAPHRAG_API_KEY |
对于 OpenAI 是必需的。对于 AOAI 可选 |
API 密钥。(注意:OPENAI_API_KEY 也用作回退)。如果在使用 AOAI 时未定义,将使用托管身份。 |
str |
None |
GRAPHRAG_API_BASE |
对于 AOAI 是必需的 |
API 基础 URL |
str |
None |
GRAPHRAG_API_VERSION |
对于 AOAI 是必需的 |
AOAI API 版本。 |
str |
None |
GRAPHRAG_API_ORGANIZATION |
|
AOAI 组织。 |
str |
None |
GRAPHRAG_API_PROXY |
|
AOAI 代理。 |
str |
None |
文本生成设置
这些设置控制管道使用的文本生成模型。任何具有回退的设置将在可用时使用基础 LLM 设置。
参数 |
是否必需? |
描述 |
类型 |
默认值 |
GRAPHRAG_LLM_TYPE |
对于 AOAI 是必需的 |
LLM 操作类型。可以是 openai_chat 或 azure_openai_chat |
str |
openai_chat |
GRAPHRAG_LLM_DEPLOYMENT_NAME |
对于 AOAI 是必需的 |
AOAI 模型部署名称。 |
str |
None |
GRAPHRAG_LLM_API_KEY |
是(使用回退) |
API 密钥。如果在使用 AOAI 时未定义,将使用托管身份。 |
str |
None |
GRAPHRAG_LLM_API_BASE |
对于 AOAI(使用回退) |
API 基础 URL |
str |
None |
GRAPHRAG_LLM_API_VERSION |
对于 AOAI(使用回退) |
AOAI API 版本。 |
str |
None |
GRAPHRAG_LLM_API_ORGANIZATION |
对于 AOAI(使用回退) |
AOAI 组织。 |
str |
None |
GRAPHRAG_LLM_API_PROXY |
|
AOAI 代理。 |
str |
None |
GRAPHRAG_LLM_MODEL |
|
语言模型。 |
str |
gpt-4-turbo-preview |
GRAPHRAG_LLM_MAX_TOKENS |
|
最大令牌数。 |
int |
4000 |
GRAPHRAG_LLM_REQUEST_TIMEOUT |
|
等待聊天客户端响应的最大秒数。 |
int |
180 |
GRAPHRAG_LLM_MODEL_SUPPORTS_JSON |
|
指示给定模型是否支持JSON输出模式。True 表示启用。 |
str |
None |
GRAPHRAG_LLM_THREAD_COUNT |
|
用于LLM并行化的线程数。 |
int |
50 |
GRAPHRAG_LLM_THREAD_STAGGER |
|
启动每个线程之间的等待时间(以秒为单位)。 |
float |
0.3 |
GRAPHRAG_LLM_CONCURRENT_REQUESTS |
|
嵌入客户端允许的并发请求数。 |
int |
25 |
GRAPHRAG_LLM_TOKENS_PER_MINUTE |
|
允许LLM客户端每分钟处理的令牌数。0 = 绕过 |
int |
0 |
GRAPHRAG_LLM_REQUESTS_PER_MINUTE |
|
允许LLM客户端每分钟处理的请求数。0 = 绕过 |
int |
0 |
GRAPHRAG_LLM_MAX_RETRIES |
|
请求失败时尝试的最大重试次数。 |
int |
10 |
GRAPHRAG_LLM_MAX_RETRY_WAIT |
|
重试之间的最大等待秒数。 |
int |
10 |
GRAPHRAG_LLM_SLEEP_ON_RATE_LIMIT_RECOMMENDATION |
|
是否在速率限制建议时休眠。(仅限Azure) |
bool |
True |
GRAPHRAG_LLM_TEMPERATURE |
|
用于生成的温度。 |
float |
0 |
GRAPHRAG_LLM_TOP_P |
|
用于采样的top_p值。 |
float |
1 |
GRAPHRAG_LLM_N |
|
生成的响应数量。 |
int |
1 |
文本嵌入设置
这些设置控制管道使用的文本嵌入模型。任何具有回退的设置将使用基础LLM设置(如果可用)。
参数 |
是否必需? |
描述 |
类型 |
默认值 |
GRAPHRAG_EMBEDDING_TYPE |
对于AOAI |
要使用的嵌入客户端。可以是openai_embedding 或azure_openai_embedding |
str |
openai_embedding |
GRAPHRAG_EMBEDDING_DEPLOYMENT_NAME |
对于AOAI |
AOAI部署名称。 |
str |
None |
GRAPHRAG_EMBEDDING_API_KEY |
是(使用回退) |
用于嵌入客户端的API密钥。如果使用AOAI时未定义,将使用托管身份。 |
str |
None |
GRAPHRAG_EMBEDDING_API_BASE |
对于AOAI(使用回退) |
API基础URL。 |
str |
None |
GRAPHRAG_EMBEDDING_API_VERSION |
对于AOAI(使用回退) |
用于嵌入客户端的AOAI API版本。 |
str |
None |
GRAPHRAG_EMBEDDING_API_ORGANIZATION |
用于AOAI(使用回退) |
用于嵌入客户端的AOAI组织。 |
str |
None |
GRAPHRAG_EMBEDDING_API_PROXY |
|
用于嵌入客户端的AOAI代理。 |
str |
None |
GRAPHRAG_EMBEDDING_MODEL |
|
用于嵌入客户端的模型。 |
str |
text-embedding-3-small |
GRAPHRAG_EMBEDDING_BATCH_SIZE |
|
一次嵌入的文本数量。(Azure限制为16) |
int |
16 |
GRAPHRAG_EMBEDDING_BATCH_MAX_TOKENS |
|
每批的最大令牌数(Azure限制为8191) |
int |
8191 |
GRAPHRAG_EMBEDDING_TARGET |
|
要嵌入的目标字段。可以是required 或all 。 |
str |
required |
GRAPHRAG_EMBEDDING_SKIP |
|
要跳过嵌入的字段列表(以逗号分隔)。(例如'relationship.description') |
str |
None |
GRAPHRAG_EMBEDDING_THREAD_COUNT |
|
用于嵌入的并行线程数。 |
int |
|
GRAPHRAG_EMBEDDING_THREAD_STAGGER |
|
启动每个嵌入线程之间的等待时间(以秒为单位)。 |
float |
50 |
GRAPHRAG_EMBEDDING_CONCURRENT_REQUESTS |
|
嵌入客户端允许的并发请求数。 |
int |
25 |
GRAPHRAG_EMBEDDING_TOKENS_PER_MINUTE |
|
嵌入客户端每分钟允许的令牌数。0 = 绕过 |
int |
0 |
GRAPHRAG_EMBEDDING_REQUESTS_PER_MINUTE |
|
嵌入客户端每分钟允许的请求数。0 = 绕过 |
int |
0 |
GRAPHRAG_EMBEDDING_MAX_RETRIES |
|
请求失败时尝试的最大重试次数。 |
int |
10 |
GRAPHRAG_EMBEDDING_MAX_RETRY_WAIT |
|
重试之间的最大等待秒数。 |
int |
10 |
GRAPHRAG_EMBEDDING_SLEEP_ON_RATE_LIMIT_RECOMMENDATION |
|
是否在速率限制建议时休眠。(仅限Azure) |
bool |
True |
输入设置
这些设置控制管道使用的数据输入。任何具有回退的设置将使用基础LLM设置(如果可用)。
纯文本输入数据 (GRAPHRAG_INPUT_FILE_TYPE
=text)
参数 |
描述 |
类型 |
必填或可选 |
默认值 |
GRAPHRAG_INPUT_FILE_PATTERN |
读取输入目录中的输入文件时使用的文件模式正则表达式。 |
str |
可选 |
.*\.txt$ |
参数 |
描述 |
类型 |
必填或可选 |
默认值 |
GRAPHRAG_INPUT_TYPE |
读取文件时使用的输入存储类型(file 或 blob ) |
str |
可选 |
file |
GRAPHRAG_INPUT_FILE_PATTERN |
从输入目录读取输入文件时使用的文件模式正则表达式 |
str |
可选 |
.*\.txt$ |
GRAPHRAG_INPUT_SOURCE_COLUMN |
读取 CSV 输入文件时使用的 'source' 列 |
str |
可选 |
source |
GRAPHRAG_INPUT_TIMESTAMP_COLUMN |
读取 CSV 输入文件时使用的 'timestamp' 列 |
str |
可选 |
None |
GRAPHRAG_INPUT_TIMESTAMP_FORMAT |
解析时间戳列中的时间戳时使用的时间戳格式 |
str |
可选 |
None |
GRAPHRAG_INPUT_TEXT_COLUMN |
读取 CSV 输入文件时使用的 'text' 列 |
str |
可选 |
text |
GRAPHRAG_INPUT_DOCUMENT_ATTRIBUTE_COLUMNS |
要作为文档字段合并的 CSV 列列表,以逗号分隔 |
str |
可选 |
id |
GRAPHRAG_INPUT_TITLE_COLUMN |
读取 CSV 输入文件时使用的 'title' 列 |
str |
可选 |
title |
GRAPHRAG_INPUT_STORAGE_ACCOUNT_BLOB_URL |
在 blob 模式下使用托管身份时使用的 Azure 存储 blob 端点。格式为 https://<storage_account_name>.blob.core.windows.net |
str |
可选 |
None |
GRAPHRAG_INPUT_CONNECTION_STRING |
从 Azure Blob 存储读取 CSV 输入文件时使用的连接字符串 |
str |
可选 |
None |
GRAPHRAG_INPUT_CONTAINER_NAME |
从 Azure Blob 存储读取 CSV 输入文件时使用的容器名称 |
str |
可选 |
None |
GRAPHRAG_INPUT_BASE_DIR |
读取输入文件的基本目录 |
str |
可选 |
None |
数据映射设置
参数 |
描述 |
类型 |
必填或可选 |
默认值 |
GRAPHRAG_INPUT_FILE_TYPE |
输入数据的类型,csv 或 text |
str |
可选 |
text |
GRAPHRAG_INPUT_ENCODING |
读取 CSV/文本输入文件时应用的编码。 |
str |
可选 |
utf-8 |
数据分块
参数 |
描述 |
类型 |
必填或可选 |
默认值 |
GRAPHRAG_CHUNK_SIZE |
文本分块分析窗口的块大小(以标记为单位)。 |
str |
可选 |
1200 |
GRAPHRAG_CHUNK_OVERLAP |
文本分块分析窗口的块重叠(以标记为单位)。 |
str |
可选 |
100 |
GRAPHRAG_CHUNK_BY_COLUMNS |
执行 TextUnit 分块时按其分组的文档属性列表,以逗号分隔。 |
str |
可选 |
id |
GRAPHRAG_CHUNK_ENCODING_MODEL |
用于分块的编码模型。 |
str |
可选 |
顶级编码模型。 |
提示覆盖
参数 |
描述 |
类型 |
必填或可选 |
默认值 |
GRAPHRAG_ENTITY_EXTRACTION_PROMPT_FILE |
实体提取提示模板文本文件的路径(相对于根目录)。 |
str |
可选 |
None |
GRAPHRAG_ENTITY_EXTRACTION_MAX_GLEANINGS |
在循环中提取实体时调用的最大重试次数(收获)。 |
int |
可选 |
1 |
GRAPHRAG_ENTITY_EXTRACTION_ENTITY_TYPES |
要提取的实体类型的逗号分隔列表。 |
str |
可选 |
organization,person,event,geo |
GRAPHRAG_ENTITY_EXTRACTION_ENCODING_MODEL |
用于实体提取的编码模型。 |
str |
可选 |
顶级编码模型。 |
GRAPHRAG_SUMMARIZE_DESCRIPTIONS_PROMPT_FILE |
描述摘要提示模板文本文件的路径(相对于根目录)。 |
str |
可选 |
None |
GRAPHRAG_SUMMARIZE_DESCRIPTIONS_MAX_LENGTH |
每个描述摘要生成的最大令牌数。 |
int |
可选 |
500 |
GRAPHRAG_CLAIM_EXTRACTION_ENABLED |
此管道是否启用声明提取。 |
bool |
可选 |
False |
GRAPHRAG_CLAIM_EXTRACTION_DESCRIPTION |
要使用的 claim_description 提示参数。 |
string |
可选 |
"任何可能与威胁分析相关的声明或事实。" |
GRAPHRAG_CLAIM_EXTRACTION_PROMPT_FILE |
要使用的声明提取提示。 |
string |
可选 |
None |
GRAPHRAG_CLAIM_EXTRACTION_MAX_GLEANINGS |
在循环中提取声明时调用的最大重试次数(收获)。 |
int |
可选 |
1 |
GRAPHRAG_CLAIM_EXTRACTION_ENCODING_MODEL |
用于声明提取的编码模型。 |
str |
可选 |
顶级编码模型 |
GRAPHRAG_COMMUNITY_REPORTS_PROMPT_FILE |
要使用的社区报告提取提示。 |
string |
可选 |
None |
GRAPHRAG_COMMUNITY_REPORTS_MAX_LENGTH |
每个社区报告生成的最大令牌数。 |
int |
可选 |
1500 |
存储
此部分控制用于发出输出表的管道的存储机制。
参数 |
描述 |
类型 |
必填或可选 |
默认值 |
GRAPHRAG_STORAGE_TYPE |
要使用的报告器类型。选项有 file 、memory 或 blob |
str |
可选 |
file |
GRAPHRAG_STORAGE_STORAGE_ACCOUNT_BLOB_URL |
在 blob 模式下使用托管身份时要使用的 Azure 存储 blob 端点。格式为 https://<storage_account_name>.blob.core.windows.net |
str |
可选 |
None |
GRAPHRAG_STORAGE_CONNECTION_STRING |
在 blob 模式下使用的 Azure 存储连接字符串。 |
str |
可选 |
None |
GRAPHRAG_STORAGE_CONTAINER_NAME |
在 blob 模式下使用的 Azure 存储容器名称。 |
str |
可选 |
None |
GRAPHRAG_STORAGE_BASE_DIR |
数据输出输出的基础路径。 |
str |
可选 |
None |
缓存
本节控制管道使用的缓存机制。用于缓存 LLM 调用结果。
参数 |
描述 |
类型 |
必填或可选 |
默认值 |
GRAPHRAG_CACHE_TYPE |
要使用的缓存类型。选项有 file 、memory 、none 或 blob |
str |
可选 |
file |
GRAPHRAG_CACHE_STORAGE_ACCOUNT_BLOB_URL |
在 blob 模式下使用托管身份时使用的 Azure 存储 blob 端点。格式为 https://<storage_account_name>.blob.core.windows.net |
str |
可选 |
None |
GRAPHRAG_CACHE_CONNECTION_STRING |
在 blob 模式下使用的 Azure 存储连接字符串。 |
str |
可选 |
None |
GRAPHRAG_CACHE_CONTAINER_NAME |
在 blob 模式下使用的 Azure 存储容器名称。 |
str |
可选 |
None |
GRAPHRAG_CACHE_BASE_DIR |
缓存文件的基础路径。 |
str |
可选 |
None |
报告
本节控制管道使用的报告机制,用于常见事件和错误消息。默认情况下,报告会写入输出目录中的文件。不过,您也可以选择将报告写入控制台或 Azure Blob 存储容器。
参数 |
描述 |
类型 |
必填或可选 |
默认值 |
GRAPHRAG_REPORTING_TYPE |
要使用的报告器类型。选项有 file 、console 或 blob |
str |
可选 |
file |
GRAPHRAG_REPORTING_STORAGE_ACCOUNT_BLOB_URL |
在 blob 模式下使用托管身份时使用的 Azure 存储 blob 端点。格式为 https://<storage_account_name>.blob.core.windows.net |
str |
可选 |
None |
GRAPHRAG_REPORTING_CONNECTION_STRING |
在 blob 模式下使用的 Azure 存储连接字符串。 |
str |
可选 |
None |
GRAPHRAG_REPORTING_CONTAINER_NAME |
在 blob 模式下使用的 Azure 存储容器名称。 |
str |
可选 |
None |
GRAPHRAG_REPORTING_BASE_DIR |
报告输出的基础路径。 |
str |
可选 |
None |
Node2Vec 参数
参数 |
描述 |
类型 |
必填或可选 |
默认值 |
GRAPHRAG_NODE2VEC_ENABLED |
是否启用Node2Vec |
bool |
可选 |
False |
GRAPHRAG_NODE2VEC_NUM_WALKS |
Node2Vec要执行的行走次数 |
int |
可选 |
10 |
GRAPHRAG_NODE2VEC_WALK_LENGTH |
Node2Vec的行走长度 |
int |
可选 |
40 |
GRAPHRAG_NODE2VEC_WINDOW_SIZE |
Node2Vec的窗口大小 |
int |
可选 |
2 |
GRAPHRAG_NODE2VEC_ITERATIONS |
运行node2vec的迭代次数 |
int |
可选 |
3 |
GRAPHRAG_NODE2VEC_RANDOM_SEED |
用于node2vec的随机种子 |
int |
可选 |
597832 |
数据快照
参数 |
描述 |
类型 |
必填或可选 |
默认值 |
GRAPHRAG_SNAPSHOT_GRAPHML |
是否启用GraphML快照。 |
bool |
可选 |
False |
GRAPHRAG_SNAPSHOT_RAW_ENTITIES |
是否启用原始实体快照。 |
bool |
可选 |
False |
GRAPHRAG_SNAPSHOT_TOP_LEVEL_NODES |
是否启用顶级节点快照。 |
bool |
可选 |
False |
杂项设置
参数 |
描述 |
类型 |
必填或可选 |
默认值 |
GRAPHRAG_ASYNC_MODE |
使用哪种异步模式。可以是asyncio 或threaded 。 |
str |
可选 |
asyncio |
GRAPHRAG_ENCODING_MODEL |
用于tiktoken编码文本的文本编码模型。 |
str |
可选 |
cl100k_base |
GRAPHRAG_MAX_CLUSTER_SIZE |
单个Leiden聚类中包含的最大实体数量。 |
int |
可选 |
10 |
GRAPHRAG_SKIP_WORKFLOWS |
要跳过的工作流名称的逗号分隔列表。 |
str |
可选 |
None |
GRAPHRAG_UMAP_ENABLED |
是否启用UMAP布局 |
bool |
可选 |
False |