索引(Index)
配置(Config)
环境变量(EnvVars)

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

文本嵌入自定义

默认情况下,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 字段(可以使用环境变量进行映射),但如果它们还有 titletimestampsource 字段会更有帮助。还可以包含额外的字段,这些字段也会作为附加字段出现在 Document 表上。

基本 LLM 设置

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

参数是否必需描述类型默认值
GRAPHRAG_API_KEYOpenAI 必需,AOAI 可选API 密钥(注意:OPENAI_API_KEY 也将用作后备)。如果在使用 AOAI 时没有定义,将使用托管的标识。strNone
GRAPHRAG_API_BASE对于 AOAI 来说必需API 基本 URLstrNone
GRAPHRAG_API_VERSION对于 AOAI 来说必需AOAI API 版本strNone
GRAPHRAG_API_ORGANIZATIONAOAI 组织strNone
GRAPHRAG_API_PROXYAOAI 代理strNone

文本生成设置

这些设置控制流程中使用的文本生成模型。如果基本 LLM 设置可用,任何带有后备的设置将使用基本 LLM 设置。

参数是否必需描述类型默认值
GRAPHRAG_LLM_TYPE对于 AOAI 来说必需LLM 操作类型。可以是 openai_chatazure_openai_chatstropenai_chat
GRAPHRAG_LLM_DEPLOYMENT_NAME对于 AOAI 来说必需AOAI 模型部署名称strNone
GRAPHRAG_LLM_API_KEY必需(使用后备)API 密钥。如果在使用 AOAI 时没有定义,将使用托管的标识strNone
GRAPHRAG_LLM_API_BASE对于 AOAI(使用后备)API 基本 URLstrNone
GRAPHRAG_LLM_API_VERSION对于 AOAI(使用后备)AOAI API 版本strNone
GRAPHRAG_LLM_API_ORGANIZATION对于 AOAI(使用后备)AOAI 组织strNone
GRAPHRAG_LLM_API_PROXYAOAI 代理strNone
GRAPHRAG_LLM_MODELLLM 模型strgpt-4-turbo-preview
GRAPHRAG_LLM_MAX_TOKENS最大标记数int4000
GRAPHRAG_LLM_REQUEST_TIMEOUT等待从聊天客户端收到响应的最大秒数int180
GRAPHRAG_LLM_MODEL_SUPPORTS_JSON指示给定模型是否支持 JSON 输出模式。True 为启用strNone
GRAPHRAG_LLM_THREAD_COUNT用于 LLM 并行化的线程数int50
GRAPHRAG_LLM_THREAD_STAGGER在启动每个线程之间等待的时间(以秒为单位)float0.3
GRAPHRAG_LLM_CONCURRENT_REQUESTS允许并发请求的数目int25
GRAPHRAG_LLM_TOKENS_PER_MINUTE允许 LLM 客户端每分钟使用的标记数。0 = Bypassint0
GRAPHRAG_LLM_REQUESTS_PER_MINUTE允许 LLM 客户端每分钟的请求数。0 = Bypassint0
GRAPHRAG_LLM_MAX_RETRIES在请求失败时尝试的最大次数int10
GRAPHRAG_LLM_MAX_RETRY_WAIT在重试之间等待的最大秒数int10
GRAPHRAG_LLM_SLEEP_ON_RATE_LIMIT_RECOMMENDATION是否根据速率限制推荐进行休眠。 (仅适用于 Azure)boolTrue
GRAPHRAG_LLM_TEMPERATURE使用生成的温度float0
GRAPHRAG_LLM_TOP_P用于抽样的 top_p 值float1
GRAPHRAG_LLM_N生成响应的数量int1

文本嵌入设置

这些设置控制流程中使用的文本嵌入模型。如果基本 LLM 设置可用,任何带有后备的设置将使用基本 LLM 设置。

参数是否必需描述类型默认值
GRAPHRAG_EMBEDDING_TYPE对于 AOAI 来说必需要使用的嵌入客户端。可以是 openai_embeddingazure_openai_embeddingstropenai_embedding
GRAPHRAG_EMBEDDING_DEPLOYMENT_NAME对于 AOAI 来说必需AOAI 部署名称strNone
GRAPHRAG_EMBEDDING_API_KEY必需(使用后备)用于嵌入客户端的 API 密钥。如果在使用 AOAI 时没有定义,将使用托管的标识strNone
GRAPHRAG_EMBEDDING_API_BASE对于 AOAI(使用后备)API 基本 URLstrNone
GRAPHRAG_EMBEDDING_API_VERSION对于 AOAI(使用后备)用于嵌入客户端的 AOAI API 版本strNone
GRAPHRAG_EMBEDDING_API_ORGANIZATION对于 AOAI(使用后备)用于嵌入客户端的 AOAI 组织strNone
GRAPHRAG_EMBEDDING_API_PROXY用于嵌入客户端的 AOAI 代理strNone
GRAPHRAG_EMBEDDING_MODEL用于嵌入客户端的模型strtext-embedding-3-small
GRAPHRAG_EMBEDDING_BATCH_SIZE一次嵌入的文本数量。(Azure 限制为 16) (opens in a new tab)int16
GRAPHRAG_EMBEDDING_BATCH_MAX_TOKENS每批的最大标记数。(Azure 限制为 8191) (opens in a new tab)int8191
GRAPHRAG_EMBEDDING_TARGET要嵌入的目标字段。可以是 requiredallstrrequired
GRAPHRAG_EMBEDDING_SKIP要跳过嵌入的字段的逗号分隔列表。例如:'relationship.description'strNone
GRAPHRAG_EMBEDDING_THREAD_COUNT用于嵌入并行化的线程数int
GRAPHRAG_EMBEDDING_THREAD_STAGGER开始每个线程之间等待的时间(以秒为单位)float50
GRAPHRAG_EMBEDDING_CONCURRENT_REQUESTS允许嵌入客户端的并发请求的数量int25
GRAPHRAG_EMBEDDING_TOKENS_PER_MINUTE每分钟允许嵌入客户端使用的标记数。0 = Bypassint0
GRAPHRAG_EMBEDDING_REQUESTS_PER_MINUTE每分钟允许嵌入客户端的请求数。0 = Bypassint0
GRAPHRAG_EMBEDDING_MAX_RETRIES请求失败时尝试的最大次数int10
GRAPHRAG_EMBEDDING_MAX_RETRY_WAIT重试之间等待的最大秒数int10
GRAPHRAG_EMBEDDING_TARGET要嵌入的目标字段。可以是 requiredallstrrequired
GRAPHRAG_EMBEDDING_SLEEP_ON_RATE_LIMIT_RECOMMENDATION是否根据速率限制推荐进行休眠。 (仅适用于 Azure)boolTrue

输入设置

            这些设置控制流程使用的输入数据。如果有回退设置,将使用基本 LLM 设置(如果可用)。

Plaintext 输入数据(GRAPHRAG_INPUT_FILE_TYPE = text)

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

CSV 输入数据(GRAPHRAG_INPUT_FILE_TYPE = csv)

参数描述类型必需或可选默认值
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输入数据类型,csvtextstr可选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_ENTITY_EXTRACTION_PROMPT_FILE实体提取提示模板文本文件的路径(相对于根目录)。str可选None
GRAPHRAG_ENTITY_EXTRACTION_MAX_GLEANINGS提取实体时调用的最大重试次数(gleanings)。int可选1
GRAPHRAG_ENTITY_EXTRACTION_ENTITY_TYPES要提取的实体类型的逗号分隔列表。str可选organization,person,event,geo
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可选" Any claims or facts that could be relevant to threat analysis."
GRAPHRAG_CLAIM_EXTRACTION_PROMPT_FILE要使用的 claim 提取提示。string可选None
GRAPHRAG_CLAIM_EXTRACTION_MAX_GLEANINGS提取循环中提取 claim 时调用的最大重试次数(gleanings)。int可选1
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 Storage 容器中。

参数描述类型必需或可选默认值
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是否启用 Node2Vecbool可选False
GRAPHRAG_NODE2VEC_NUM_WALKS进行 Node2Vec 的步行次数int可选10
GRAPHRAG_NODE2VEC_WALK_LENGTHNode2Vec 的步行长度int可选40
GRAPHRAG_NODE2VEC_WINDOW_SIZENode2Vec 的窗口大小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使用的异步模式,可以是 asynciothreadedstr可选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