Skip to content

默认配置模式(使用环境变量)

从1.3版本开始,GraphRAG不再支持完整的预构建环境变量。相反,我们支持在settings.yml文件中进行变量替换,因此您可以指定任何您喜欢的环境变量。

我们唯一预期的标准环境变量是GRAPHRAG_API_KEY,它已包含在默认的settings.yml中。如果您已经在使用许多之前的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字段(可以通过环境变量映射),但如果它们还包含titletimestampsource字段会更有帮助。也可以包含其他字段,这些字段将作为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_chatazure_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 最大token数 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客户端每分钟的token数。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 生成时使用的temperature float 0
GRAPHRAG_LLM_TOP_P 采样时使用的top_p float 1
GRAPHRAG_LLM_N 生成的响应数量 int 1

文本嵌入设置

这些设置控制流水线使用的文本嵌入模型。任何具有回退的设置将使用基础LLM设置(如果可用)。

参数 是否必需? 描述 类型 默认
GRAPHRAG_EMBEDDING_TYPE AOAI必需 使用的嵌入客户端。可以是openai_embeddingazure_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 每批的最大token数(Azure限制为8191) int 8191
GRAPHRAG_EMBEDDING_TARGET 要嵌入的目标字段。可以是requiredall str required
### 输入设置

这些设置控制流水线使用的数据输入。任何具有回退的设置将使用基础LLM设置(如果可用)。

纯文本输入数据 (GRAPHRAG_INPUT_FILE_TYPE=text)

参数 描述 类型 必需或可选 默认
GRAPHRAG_INPUT_FILE_PATTERN 从输入目录读取输入文件时使用的文件模式正则表达式 str 可选 .*\.txt$

CSV输入数据 (GRAPHRAG_INPUT_FILE_TYPE=csv)

参数 描述 类型 必需或可选 默认
GRAPHRAG_INPUT_TYPE 读取文件时使用的输入存储类型。(fileblob 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 Storage blob端点。格式为https://<storage_account_name>.blob.core.windows.net str 可选 None
GRAPHRAG_INPUT_CONNECTION_STRING 从Azure Blob Storage读取CSV输入文件时使用的连接字符串 str 可选 None
GRAPHRAG_INPUT_CONTAINER_NAME 从Azure Blob Storage读取CSV输入文件时使用的容器名称 str 可选 None
GRAPHRAG_INPUT_BASE_DIR 读取输入文件的基础目录 str 可选 None

数据映射设置

参数 描述 类型 必需或可选 默认
GRAPHRAG_INPUT_FILE_TYPE 输入数据类型,csvtext str 可选 text
GRAPHRAG_INPUT_ENCODING 读取CSV/文本输入文件时应用的编码 str 可选 utf-8

数据分块

参数 描述 类型 必需或可选 默认
GRAPHRAG_CHUNK_SIZE 文本块分析窗口的token大小 str 可选 1200
GRAPHRAG_CHUNK_OVERLAP 文本块分析窗口的重叠token数 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 每个描述摘要生成的最大token数 int 可选 500
GRAPHRAG_CLAIM_EXTRACTION_ENABLED 是否为此流水线启用声明提取 bool 可选 False
GRAPHRAG_CLAIM_EXTRACTION_DESCRIPTION 使用的claim_description提示参数 string 可选 "Any claims or facts that could be relevant to threat analysis."
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 每个社区报告生成的最大token数 int 可选 1500
### 存储

这部分控制流水线用于导出输出表的存储机制。

参数 描述 类型 必需或可选 默认
GRAPHRAG_STORAGE_TYPE 使用的存储类型。选项为filememoryblob str 可选 file
GRAPHRAG_STORAGE_STORAGE_ACCOUNT_BLOB_URL blob模式和使用托管身份时使用的Azure Storage blob端点。格式为https://<storage_account_name>.blob.core.windows.net str 可选 None
GRAPHRAG_STORAGE_CONNECTION_STRING blob模式时使用的Azure Storage连接字符串 str 可选 None
GRAPHRAG_STORAGE_CONTAINER_NAME blob模式时使用的Azure Storage容器名称 str 可选 None
GRAPHRAG_STORAGE_BASE_DIR 数据输出的基础路径 str 可选 None

缓存

这部分控制流水线使用的缓存机制。用于缓存LLM调用结果。

参数 描述 类型 必需或可选 默认
GRAPHRAG_CACHE_TYPE 使用的缓存类型。选项为filememorynoneblob str 可选 file
GRAPHRAG_CACHE_STORAGE_ACCOUNT_BLOB_URL blob模式和使用托管身份时使用的Azure Storage blob端点。格式为https://<storage_account_name>.blob.core.windows.net str 可选 None
GRAPHRAG_CACHE_CONNECTION_STRING blob模式时使用的Azure Storage连接字符串 str 可选 None
GRAPHRAG_CACHE_CONTAINER_NAME blob模式时使用的Azure Storage容器名称 str 可选 None
GRAPHRAG_CACHE_BASE_DIR 缓存文件的基础路径 str 可选 None

报告

这部分控制流水线用于常见事件和错误消息的报告机制。默认是将报告写入输出目录中的文件。但您也可以选择将报告写入控制台或Azure Blob Storage容器。

参数 描述 类型 必需或可选 默认
GRAPHRAG_REPORTING_TYPE 使用的报告类型。选项为fileconsoleblob str 可选 file
GRAPHRAG_REPORTING_STORAGE_ACCOUNT_BLOB_URL blob模式和使用托管身份时使用的Azure Storage blob端点。格式为https://<storage_account_name>.blob.core.windows.net str 可选 None
GRAPHRAG_REPORTING_CONNECTION_STRING blob模式时使用的Azure Storage连接字符串 str 可选 None
GRAPHRAG_REPORTING_CONTAINER_NAME blob模式时使用的Azure Storage容器名称 str 可选 None
GRAPHRAG_REPORTING_BASE_DIR 报告输出的基础路径 str 可选 None

Node2Vec参数

参数 描述 类型 必需或可选 默认
GRAPHRAG_NODE2VEC_ENABLED 是否启用Node2Vec bool 可选 False
GRAPHRAG_NODE2VEC_NUM_WALKS Node2Vec执行的walk次数 int 可选 10
GRAPHRAG_NODE2VEC_WALK_LENGTH Node2Vec的walk长度 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 使用的异步模式。可以是asynciothreaded str 可选 asyncio
GRAPHRAG_ENCODING_MODEL 用于tiktoken编码文本的文本编码模型 str 可选 cl100k_base
GRAPHRAG_MAX_CLUSTER_SIZE 单个Leiden聚类中包含的最大实体数 int 可选 10
GRAPHRAG_UMAP_ENABLED 是否启用UMAP布局 bool 可选 False