跳至内容

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

从 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 字段(可以使用环境变量映射),但如果它们还具有 titletimestampsource 字段,则会很有帮助。 也可以包含其他字段,这些字段将作为额外字段添加到 Document 表中。

基本 LLM 设置

这些是配置 LLM 连接的主要设置。

参数 是否必需? 描述 类型 默认值
GRAPHRAG_API_KEY OpenAI 为必需。 AOAI 为可选 API 密钥。(注意:OPENAI_API_KEY 也被用作备用)。 如果在使用 AOAI 时未定义,将使用托管标识。 str
GRAPHRAG_API_BASE 用于 AOAI API 基准 URL str
GRAPHRAG_API_VERSION 用于 AOAI AOAI API 版本。 str
GRAPHRAG_API_ORGANIZATION AOAI 组织。 str
GRAPHRAG_API_PROXY AOAI 代理。 str

文本生成设置

这些设置控制管道使用的文本生成模型。 任何具有回退的设置都将使用基本 LLM 设置(如果可用)。

参数 是否必需? 描述 类型 默认值
GRAPHRAG_LLM_TYPE 用于 AOAI LLM 操作类型。 可以是 openai_chatazure_openai_chat str openai_chat
GRAPHRAG_LLM_DEPLOYMENT_NAME 用于 AOAI AOAI 模型部署名称。 str
GRAPHRAG_LLM_API_KEY 是(使用回退) API 密钥。 如果在使用 AOAI 时未定义,将使用托管标识。 str
GRAPHRAG_LLM_API_BASE 对于 AOAI(使用回退) API 基准 URL str
GRAPHRAG_LLM_API_VERSION 对于 AOAI(使用回退) AOAI API 版本。 str
GRAPHRAG_LLM_API_ORGANIZATION 对于 AOAI(使用回退) AOAI 组织。 str
GRAPHRAG_LLM_API_PROXY AOAI 代理。 str
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
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_embeddingazure_openai_embedding str openai_embedding
GRAPHRAG_EMBEDDING_DEPLOYMENT_NAME 用于 AOAI AOAI 部署名称。 str
GRAPHRAG_EMBEDDING_API_KEY 是(使用回退) 用于嵌入客户端的 API 密钥。 如果在使用 AOAI 时未定义,将使用托管标识。 str
GRAPHRAG_EMBEDDING_API_BASE 对于 AOAI(使用回退) API 基准 URL。 str
GRAPHRAG_EMBEDDING_API_VERSION 对于 AOAI(使用回退) 用于嵌入客户端的 AOAI API 版本。 str
GRAPHRAG_EMBEDDING_API_ORGANIZATION 对于 AOAI(使用回退) 用于嵌入客户端的 AOAI 组织。 str
GRAPHRAG_EMBEDDING_API_PROXY 用于嵌入客户端的 AOAI 代理。 str
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 要嵌入的目标字段。 可以是 requiredall str required
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$

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 要作为 JSON 合并到元数据列中的 CSV 列的列表(以逗号分隔)。 str 可选
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 可选
GRAPHRAG_INPUT_CONNECTION_STRING 从 Azure Blob Storage 读取 CSV 输入文件时使用的连接字符串。 str 可选
GRAPHRAG_INPUT_CONTAINER_NAME 从 Azure Blob Storage 读取 CSV 输入文件时使用的容器名称。 str 可选
GRAPHRAG_INPUT_BASE_DIR 从中读取输入文件的基本目录。 str 可选

数据映射设置

参数 描述 类型 必需或可选 默认
GRAPHRAG_INPUT_FILE_TYPE 输入数据的类型,csvtext 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 可选
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 可选
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 可选
GRAPHRAG_CLAIM_EXTRACTION_MAX_GLEANINGS 在循环中提取声明时,要调用的最大重驱动(收集)次数。 int 可选 1
GRAPHRAG_CLAIM_EXTRACTION_ENCODING_MODEL 用于声明提取的编码模型。 str 可选 顶层编码模型
GRAPHRAG_COMMUNITY_REPORTS_PROMPT_FILE 要使用的社区报告提取提示。 string 可选
GRAPHRAG_COMMUNITY_REPORTS_MAX_LENGTH 每次社区报告生成令牌的最大数量。 int 可选 1500

存储

本节控制管道用于导出输出表的存储机制。

参数 描述 类型 必需或可选 默认
GRAPHRAG_STORAGE_TYPE 要使用的存储类型。选项包括 filememoryblob str 可选 file
GRAPHRAG_STORAGE_STORAGE_ACCOUNT_BLOB_URL blob 模式下并使用托管标识时使用的 Azure 存储 blob 终结点。 将采用 https://<storage_account_name>.blob.core.windows.net 格式 str 可选
GRAPHRAG_STORAGE_CONNECTION_STRING blob 模式下使用的 Azure 存储连接字符串。 str 可选
GRAPHRAG_STORAGE_CONTAINER_NAME blob 模式下使用的 Azure 存储容器名称。 str 可选
GRAPHRAG_STORAGE_BASE_DIR 数据输出的基本路径。 str 可选

缓存

本节控制管道使用的缓存机制。 用于缓存 LLM 调用结果。

参数 描述 类型 必需或可选 默认
GRAPHRAG_CACHE_TYPE 要使用的缓存类型。选项包括 filememorynoneblob str 可选 file
GRAPHRAG_CACHE_STORAGE_ACCOUNT_BLOB_URL blob 模式下并使用托管标识时使用的 Azure 存储 blob 终结点。 将采用 https://<storage_account_name>.blob.core.windows.net 格式 str 可选
GRAPHRAG_CACHE_CONNECTION_STRING blob 模式下使用的 Azure 存储连接字符串。 str 可选
GRAPHRAG_CACHE_CONTAINER_NAME blob 模式下使用的 Azure 存储容器名称。 str 可选
GRAPHRAG_CACHE_BASE_DIR 缓存文件的基本路径。 str 可选

报告

本节控制管道使用的报告机制,用于常见事件和错误消息。 默认是将报告写入输出目录中的文件。 但是,您也可以选择将报告写入控制台或 Azure Blob 存储容器。

参数 描述 类型 必需或可选 默认
GRAPHRAG_REPORTING_TYPE 要使用的报告器类型。选项包括 fileconsoleblob str 可选 file
GRAPHRAG_REPORTING_STORAGE_ACCOUNT_BLOB_URL blob 模式下并使用托管标识时使用的 Azure 存储 blob 终结点。 将采用 https://<storage_account_name>.blob.core.windows.net 格式 str 可选
GRAPHRAG_REPORTING_CONNECTION_STRING blob 模式下使用的 Azure 存储连接字符串。 str 可选
GRAPHRAG_REPORTING_CONTAINER_NAME blob 模式下使用的 Azure 存储容器名称。 str 可选
GRAPHRAG_REPORTING_BASE_DIR 报告输出的基本路径。 str 可选

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 要使用的异步模式。 可以是 asynciothreaded str 可选 asyncio
GRAPHRAG_ENCODING_MODEL 文本编码模型,用于 tiktoken 中对文本进行编码。 str 可选 cl100k_base
GRAPHRAG_MAX_CLUSTER_SIZE 单个 Leiden 集群中包含的实体最大数量。 int 可选 10
GRAPHRAG_UMAP_ENABLED 是否启用 UMAP 布局 bool 可选 False