跳转至

配置参考

Heta 的配置由两个文件控制:

  • config.yaml(项目根目录)— API 密钥、数据库连接、各模块的模型选择。从 config.example.yaml 复制后填入你的凭证。
  • src/hetadb/config/db_config.yaml — 处理管线调优参数(批量大小、并发数、分块设置)。通常无需修改。

必填与可选 — 标注 必填 的参数必须在启动前设置,其余均有可用默认值。


config.yaml

providers

通过 YAML 锚点在各模块间共享的凭证块。只需定义你实际使用的服务商,未使用的可留空或删除。

参数 是否必填 说明
providers.dashscope.api_key 必填(国内) 阿里云 DashScope API Key
providers.dashscope.base_url DashScope OpenAI 兼容端点(已预填)
providers.siliconflow.api_key 必填 SiliconFlow API Key(用于向量化)
providers.siliconflow.base_url SiliconFlow 端点(已预填)
providers.openai.api_key 必填(国际) OpenAI API Key
providers.openai.base_url OpenAI 端点(已预填)
providers.gemini.api_key 必填(国际) Google Gemini API Key
providers.gemini.base_url Gemini OpenAI 兼容端点(已预填)

persistence

三个后端存储的连接配置。使用 Docker Compose 时默认值已预配置,无需修改。

PostgreSQL

参数 默认值 说明
persistence.postgresql.host postgres 主机名(Docker 外部使用 localhost
persistence.postgresql.port 5432 端口
persistence.postgresql.user postgres 用户名
persistence.postgresql.password postgres 密码
persistence.postgresql.database postgres 数据库名

Milvus

参数 默认值 说明
persistence.milvus.host milvus 主机名
persistence.milvus.port 19530 gRPC 端口
persistence.milvus.url http://milvus:19530 完整 URI,设置后覆盖 host/port

Neo4j

仅 HetaMem MemoryVG 使用。

参数 默认值 说明
persistence.neo4j.url bolt://neo4j:7687 Bolt 连接地址
persistence.neo4j.username neo4j 用户名
persistence.neo4j.password heta_password 密码
persistence.neo4j.database neo4j 数据库名

hetadb

hetadb.llm

用于图谱实体/关系抽取和答案生成的大语言模型。

参数 默认值 说明
hetadb.llm.model qwen3-32b 模型名称
hetadb.llm.max_concurrent_requests 10 最大并发 LLM 调用数
hetadb.llm.max_retries 3 失败重试次数
hetadb.llm.timeout 120 请求超时时间(秒)

hetadb.vlm

用于 PDF 页面和图片理解的视觉语言模型。

参数 默认值 说明
hetadb.vlm.model qwen2.5-vl-72b-instruct VLM 模型名称
hetadb.vlm.max_concurrent_requests 10 最大并发 VLM 调用数
hetadb.vlm.max_retries 5 失败重试次数
hetadb.vlm.timeout 120 请求超时时间(秒)

hetadb.embedding_api

用于文本块和节点向量索引的 Embedding 模型。

参数 默认值 说明
hetadb.embedding_api.model BAAI/bge-m3 Embedding 模型名称
hetadb.embedding_api.dim 1024 向量维度,必须与 Milvus 集合 Schema 一致
hetadb.embedding_api.timeout 30 请求超时时间(秒)
hetadb.embedding_api.batch_size 2000 每批向量化队列的记录数
hetadb.embedding_api.num_threads 8 并行向量化工作线程数
hetadb.embedding_api.max_retries 5 失败重试次数
hetadb.embedding_api.retry_delay 2 初始重试等待时间(秒),每次翻倍

hetadb.milvus

参数 默认值 说明
hetadb.milvus.db_name hetadb HetaDB 集合所在的 Milvus 数据库名
hetadb.milvus.sentence_mode false 是否使用句子级分块(默认段落级)

hetadb.query_defaults

调用方未指定时使用的默认检索参数。

参数 默认值 说明
hetadb.query_defaults.top_k 10 每次查询的向量候选池大小
hetadb.query_defaults.threshold 0.0 结果包含的最低相似度分数
hetadb.query_defaults.similarity_weight 1.5 向量相似度得分的权重系数
hetadb.query_defaults.occur_weight 1.0 知识图谱出现次数的权重系数
hetadb.query_defaults.reranker_url (未设置) 自托管交叉编码器重排服务的地址。rerank 模式的完整功能依赖此配置;未设置时 rerank 模式将退化为纯 RRF 排序,不执行交叉编码器打分。接口规范:POST /rerank,请求体 {"pairs": [["query", "doc"], ...]},响应体 {"scores": [...]}。推荐模型:Qwen3-Reranker。

hetadb.search_params

参数 默认值 说明
hetadb.search_params.ef_multiplier 10 HNSW ef = top_k × ef_multiplier,越大越准确但越慢

hetamem

hetamem.memorykb

MemoryKB 基于 LightRAG(NanoVectorDB + NetworkX),轻量低延迟。

参数 默认值 国内替代方案
hetamem.memorykb.llm.model gpt-4o-mini-2024-07-18 DashScope qwen-plus
hetamem.memorykb.embedding.model text-embedding-3-small DashScope text-embedding-v4
hetamem.memorykb.embedding.dim 1536 1536

hetamem.memoryvg

MemoryVG 基于 Milvus + Neo4j,用于多轮对话的结构化事实存储。

参数 默认值 国内替代方案
hetamem.memoryvg.llm.config.model qwen3-32b 同上
hetamem.memoryvg.embedder.config.model text-embedding-3-large SiliconFlow BAAI/bge-m3
hetamem.memoryvg.embedder.config.embedding_dims 1024 1024
hetamem.memoryvg.vector_store.config.collection_name memoryvg Milvus 集合名称
hetamem.memoryvg.vector_store.config.db_name hetamem Milvus 数据库名

Note

hetamem.memoryvg.graph_store 直接继承 persistence.neo4j 的连接配置,无需单独设置。


hetagen

参数 默认值 国内替代方案
hetagen.llm.model gemini-3-flash-preview DashScope qwen3-32b
hetagen.llm.max_concurrent_requests 10
hetagen.llm.timeout 120
hetagen.vlm.model Qwen/Qwen3-VL-32B-Instruct 同上
hetagen.embedding_api.model BAAI/bge-m3 同上
hetagen.embedding_api.dim 1024

db_config.yaml

位于 src/hetadb/config/db_config.yaml,控制文档处理管线的吞吐量参数。默认值适用于大多数硬件配置;仅在处理超大规模数据集时需要调整。

顶层参数

参数 默认值 说明
postgres_batch_size 500 PostgreSQL 批量插入的行数
parse_max_workers 2 最大并发文档解析任务数

parameter.chunk_config

参数 默认值 说明
chunk_size 1024 目标分块大小(token 数)
overlap 50 相邻分块的重叠 token 数
max_workers 16 并行分块的线程池大小

parameter.graph_config

参数 默认值 说明
batch_size 2000 每批图谱抽取的分块数
max_workers 200 实体/关系抽取的最大并发 LLM 调用数

parameter.graph_merge_config

参数 默认值 说明
parallel_batches 16 并行处理的合并批次数
batch_size 500 每批合并的实体数

parameter.vector_config

参数 默认值 说明
batch_size 2000 每次 Embedding API 调用的分块数
num_threads 8 Milvus 并发写入线程数