.env 环境变量和 provider.json 模型配置文件。
配置总览
.env 环境变量
管理日志目录、日志级别以及 Langfuse 等运行时配置。
provider.json
管理提供商、模型、API 密钥、重试和限流参数。
.env 文件
.env 用于存放环境变量。本框架主要读取日志配置和 Langfuse 配置。你可以在项目工作目录创建 .env,也可以直接通过系统环境变量覆盖。
日志相关环境变量
支持的环境变量
| 环境变量 | 说明 | 可选值 | 默认值 |
|---|---|---|---|
LOG_LEVEL | 控制台与文件日志级别 | DEBUG, INFO, WARNING, ERROR, CRITICAL | DEBUG |
LOG_DIR | 日志输出目录 | 任意路径 | logs |
环境变量优先级从高到低依次为:运行时环境变量、
.env 文件、框架默认值。provider.json 文件
provider.json 用于配置模型提供商、API 密钥和限流参数。OpenAICompatible.load_from_json_file(...) 与 OpenAIResponsesCompatible.load_from_json_file(...) 都会读取此文件,并返回二维字典:providers[provider_id][model_name]。
provider.json 只描述 provider/model/key/base_url/retry/rate-limit 这些运行时接入信息,不决定你使用哪个装饰器。选择 OpenAICompatible 还是 OpenAIResponsesCompatible,取决于上游实际暴露的是 chat/completions 兼容端点还是 Responses API 端点。配置文件结构
provider.json 采用“提供商 -> 模型配置列表”的结构。每个模型配置包含 model_name、密钥和重试 / 限流参数。
配置参数说明
| 参数 | 类型 | 说明 | 示例 |
|---|---|---|---|
model_name | 字符串 | 模型名称,作为索引 key | gpt-3.5-turbo |
api_keys | 数组 | API 密钥列表,支持负载均衡 | [”key1”, ”key2”] |
base_url | 字符串 | API 服务地址 | https://api.openai.com/v1 |
max_retries | 数字 | 最大重试次数 | 5 |
retry_delay | 浮点数 | 重试间隔,单位秒 | 1.0 |
rate_limit_capacity | 数字 | 令牌桶容量 | 20 |
rate_limit_refill_rate | 浮点数 | 令牌补充速率,单位 tokens/秒 | 3.0 |
加载和使用
最佳实践
多密钥负载均衡
多密钥负载均衡
为同一模型配置多个 key,可以降低单 key 限流风险,并让
APIKeyPool 更好地分摊请求。按模型调整限流参数
按模型调整限流参数
高成本或严格限速的模型应配置更保守的
rate_limit_capacity 和 rate_limit_refill_rate。避免重复 model_name
避免重复 model_name
同一 provider 下的
model_name 会作为索引键,若重复,后者会覆盖前者。