问题域/PD-105

配置管理

Configuration Management

环境变量驱动的分层配置系统,支持运行时动态更新

子问题

1.环境变量与默认值管理

2.配置分组与层级组织

3.运行时配置热更新

4.向后兼容与废弃警告

5.配置验证与类型安全

6.大 Config 到小 Config 的桥接映射

7.配置自省与敏感信息过滤

各项目的解法1 solutions

Signals

横向对比

维度RAG-Anything
配置载体单 @dataclass,18 字段按 6 组注释分隔
环境变量集成get_env_value(key, default, type) 模块导入时求值
运行时更新update_config + update_context_config 级联刷新处理器
向后兼容__post_init__ legacy 检测 + @property DeprecationWarning
配置透传lightrag_kwargs: Dict 透传下游 LightRAG 全量参数
配置自省get_config_info() 分组结构化输出,过滤 callable 和敏感字段

最佳实践

1.使用 dataclass + field(default_factory) 定义配置

2.通过 get_env_value 统一环境变量读取

3.提供 deprecated 属性保持向后兼容

4.用 _create_context_config 实现大 Config → 小 Config 关注点分离

5.get_config_info 过滤 callable 和敏感 kwargs 后输出配置快照

6.Mixin 用 TYPE_CHECKING 导入配置类避免循环依赖