默认配置模式(使用环境变量)
自版本1.3起,GraphRAG不再支持全套预构建环境变量。相反,我们支持在settings.yml文件中进行变量替换,因此您可以指定任何您喜欢的环境变量。
我们期望的唯一标准环境变量,并包含在默认的settings.yml中,是GRAPHRAG_API_KEY。如果您已经使用了许多以前的GRAPHRAG_*环境变量,您可以将它们以模板语法插入到settings.yml中,它们将被采用。
下面记录的环境变量作为迁移的辅助,但除非您在settings.yml中使用模板语法,否则它们将不会被读取。我们也不会随着主配置对象的更改而更新此页面。
文本嵌入自定义
默认情况下,GraphRAG索引器将只导出查询方法所需的嵌入。但是,模型为所有纯文本字段定义了嵌入,可以通过将GRAPHRAG_EMBEDDING_TARGET环境变量设置为all来生成这些嵌入。
嵌入字段
text_unit.text
document.text
entity.title
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 |
|
LLM模型。 |
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 |
必填 |
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_TEXT_COLUMN |
读取CSV输入文件时使用的“text”列。 |
str |
可选 |
text |
GRAPHRAG_INPUT_METADATA |
一个逗号分隔的CSV列列表,以JSON形式合并到元数据列中。 |
str |
可选 |
None (无) |
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提示参数。 |
字符串 |
可选 |
"任何可能与威胁分析相关的声明或事实。" |
GRAPHRAG_CLAIM_EXTRACTION_PROMPT_FILE |
要利用的主张提取提示。 |
字符串 |
可选 |
None (无) |
GRAPHRAG_CLAIM_EXTRACTION_MAX_GLEANINGS |
在循环中提取主张时,最大重试次数(提取)。 |
int |
可选 |
1 |
GRAPHRAG_CLAIM_EXTRACTION_ENCODING_MODEL |
用于主张提取的编码模型。 |
str |
可选 |
顶层编码模型 |
GRAPHRAG_COMMUNITY_REPORTS_PROMPT_FILE |
要利用的社区报告提取提示。 |
字符串 |
可选 |
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或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_EMBEDDINGS |
是否启用嵌入快照。 |
bool |
可选 |
False |
GRAPHRAG_SNAPSHOT_GRAPHML |
是否启用GraphML快照。 |
bool |
可选 |
False |
GRAPHRAG_SNAPSHOT_RAW_ENTITIES |
是否启用原始实体快照。 |
bool |
可选 |
False |
GRAPHRAG_SNAPSHOT_TOP_LEVEL_NODES |
是否启用顶级节点快照。 |
bool |
可选 |
False |
GRAPHRAG_SNAPSHOT_TRANSIENT |
是否启用瞬态表快照。 |
bool |
可选 |
False |
杂项设置
| 参数 |
描述 |
类型 |
必填或可选 |
默认值 |
GRAPHRAG_ASYNC_MODE |
要使用的异步模式。asyncio 或 threaded。 |
str |
可选 |
asyncio |
GRAPHRAG_ENCODING_MODEL |
用于tiktoken的文本编码模型,用于编码文本。 |
str |
可选 |
cl100k_base |
GRAPHRAG_MAX_CLUSTER_SIZE |
单个Leiden聚类中包含的最大实体数。 |
int |
可选 |
10 |
GRAPHRAG_UMAP_ENABLED |
是否启用UMAP布局 |
bool |
可选 |
False |