genworker 的 LLM 接入默认基于 LiteLLM。
这套配置分成两层:
configs/config.env / configs/config_local.env 和进程环境变量加载configs/litellm_local.json 读取;正式部署通过外部配置注入,后续可替换为 Nacos provider公开仓库只会发出本地模板,不会包含真实 provider 密钥或私有 endpoint。
公开导出的 genworker 默认只带一份 LiteLLM 模板:
configs/litellm_local.json.example使用时复制为本地私有文件:
cp configs/litellm_local.json.example configs/litellm_local.json
configs/litellm_local.json 主要定义这几件事:
default_tier: 默认 tiermodel_list: LiteLLM 实际可调用的 model group 列表tier_aliases: 把业务 tier 映射到具体 model groupfallbacks: model group 的降级链routing_strategy、num_retries、timeoutgenworker 当前只暴露以下四个 base tier:
faststandardstrongreasoning设计意图:
requires_tools 仍由调用点声明,但不再扩散到配置层fast 且需要 tools,routing policy 会自动软升级到 standardconfigs/litellm_local.json{
"default_tier": "standard",
"model_list": [
{
"model_name": "tier-fast",
"litellm_params": {
"model": "${LITELLM_FAST_MODEL}",
"api_base": "${LITELLM_FAST_API_BASE}",
"api_key": "${LITELLM_FAST_API_KEY}"
}
},
{
"model_name": "tier-standard",
"litellm_params": {
"model": "${LITELLM_STANDARD_MODEL}",
"api_base": "${LITELLM_STANDARD_API_BASE}",
"api_key": "${LITELLM_STANDARD_API_KEY}"
}
},
{
"model_name": "tier-strong",
"litellm_params": {
"model": "${LITELLM_STRONG_MODEL}",
"api_base": "${LITELLM_STRONG_API_BASE}",
"api_key": "${LITELLM_STRONG_API_KEY}"
}
},
{
"model_name": "tier-reasoning",
"litellm_params": {
"model": "${LITELLM_REASONING_MODEL}",
"api_base": "${LITELLM_REASONING_API_BASE}",
"api_key": "${LITELLM_REASONING_API_KEY}"
}
}
],
"tier_aliases": {
"fast": "tier-fast",
"standard": "tier-standard",
"strong": "tier-strong",
"reasoning": "tier-reasoning"
},
"fallbacks": [
{"tier-reasoning": ["tier-strong"]},
{"tier-strong": ["tier-standard"]},
{"tier-standard": ["tier-fast"]}
]
}
配套环境变量:
export LITELLM_FAST_MODEL=provider/fast-model
export LITELLM_FAST_API_BASE=https://your-provider.example/v1
export LITELLM_FAST_API_KEY=replace-me
export LITELLM_STANDARD_MODEL=provider/standard-model
export LITELLM_STANDARD_API_BASE=https://your-provider.example/v1
export LITELLM_STANDARD_API_KEY=replace-me
export LITELLM_STRONG_MODEL=provider/strong-model
export LITELLM_STRONG_API_BASE=https://your-provider.example/v1
export LITELLM_STRONG_API_KEY=replace-me
export LITELLM_REASONING_MODEL=provider/reasoning-model
export LITELLM_REASONING_API_BASE=https://your-provider.example/v1
export LITELLM_REASONING_API_KEY=replace-me
configs/litellm_local.json 里的 fallbacks 用于定义降级顺序:
reasoning -> strongstrong -> standardstandard -> fast不再维护单独的 *-tools fallback 链。
test / prod 环境不再从仓库静态文件读取 LiteLLM 配置。启动前必须注入:
LITELLM_CONFIG_SOURCE=json + LITELLM_CONFIG_JSONLITELLM_CONFIG_SOURCE=file + LITELLM_CONFIG_PATH如果非本地环境未注入,启动会直接 fail-fast。
configs/litellm_local.json.example,不要提交真实 configs/litellm_local.json优先检查:
configs/litellm_local.json 是否存在tier_aliases 是否完整覆盖 fast / standard / strong / reasoning优先检查:
ENVIRONMENT 是否为非本地值LITELLM_CONFIG_SOURCE 是否设置为 json 或 file不要优先去改业务代码。
优先检查两层: