配置 (Configuration)¶
类型化配置系统,基于 Pydantic BaseSettings 和 .env 文件。提供五个子模型分别管理 PostgreSQL、LLM、Embedding、Reranker 和查询参数的配置,以及一个模块级延迟单例 settings。所有配置验证在首次访问时以快速失败方式执行,错误信息按分组归类展示。
顶层配置¶
lightrag_langchain.config.Settings ¶
Bases: BaseSettings
组合所有五个配置组的顶层配置。
所有实例化失败(直接或通过单例)都会抛出 SettingsError
并附带分类摘要,绝不会抛出原始的 ValidationError。
Example
源代码位于: src/lightrag_langchain/config.py
settings 为模块级延迟单例,通过 from lightrag_langchain.config import settings 访问。
配置子模型¶
lightrag_langchain.config.PgConfig ¶
Bases: BaseModel
PostgreSQL 连接和连接池设置。
环境变量通过顶层 Settings 的字段名 pg 进行路由。
PG_HOST → pg.host、PG_PORT → pg.port 等。
连接池字段:
- workspace:多租户 LightRAG 数据库的隔离命名空间
(D-05 单工作空间策略,默认 "default")。
- pool_min_size / pool_max_size:asyncpg 连接池大小
(D-03,默认 2 / 10)。
- pool_timeout:命令超时时间,单位为秒(默认 30.0)。
Example
源代码位于: src/lightrag_langchain/config.py
lightrag_langchain.config.LlmConfig ¶
Bases: BaseModel
LLM provider 设置。
必填:binding、binding_host、binding_api_key、model。 可选:temperature(默认 0.0)、max_tokens(默认 9000)。
Example
源代码位于: src/lightrag_langchain/config.py
lightrag_langchain.config.EmbeddingConfig ¶
Bases: BaseModel
Embedding provider 设置。
dim 默认为 1024(根据 D-06,匹配上游阿里云 text-embedding-v4)。
Example
源代码位于: src/lightrag_langchain/config.py
lightrag_langchain.config.RerankerConfig ¶
Bases: BaseModel
Reranker 设置。
所有字段均有默认值——binding 为空字符串表示禁用 rerank。
Example
源代码位于: src/lightrag_langchain/config.py
lightrag_langchain.config.QueryParamsConfig ¶
Bases: BaseModel
匹配上游 LightRAG 常量的查询行为默认值。
Token budget 不变量(D-08):
max_entity_tokens + max_relation_tokens < max_total_tokens。
Example
源代码位于: src/lightrag_langchain/config.py
check_token_budget ¶
强制执行 token budget 不变量——只读(不进行修改)。
源代码位于: src/lightrag_langchain/config.py
异常¶
lightrag_langchain.config.SettingsError ¶
Bases: Exception
配置验证失败时抛出,附带分类摘要。