功能特点: - 多提供商支持: 配置多个上游大模型提供商 - 优先级调度: 按优先级自动选择可用提供商 - OpenAI API兼容: 完全兼容OpenAI API格式 - 故障切换: 自动切换到备用提供商 - 流式支持: 支持流式和非流式响应 - 模型别名: 支持模型别名映射 - 健康检查: 自动健康检查和熔断 上游配置: 1. [高优先] Local Qwen: http://192.168.2.5:1234/v1 (qwen3.5-4b) 2. [低优先] SiliconFlow: https://api.siliconflow.cn/v1 (DeepSeek-V3.2) 支持的模型: - auto: 自动选择可用模型 - qwen3.5-4b, qwen3.5, qwen - deepseek-v3, deepseek-v3.2, deepseek 端口: 19007
76 lines
1.7 KiB
Python
76 lines
1.7 KiB
Python
"""
|
|
大模型API中转系统配置
|
|
"""
|
|
|
|
# 上游模型配置(按优先级排序,从高到低)
|
|
UPSTREAM_PROVIDERS = [
|
|
{
|
|
"name": "local-qwen",
|
|
"priority": 1, # 数字越小优先级越高
|
|
"base_url": "http://192.168.2.5:1234/v1",
|
|
"api_key": "sk-lm-fuP5tGU8:Hi7YU87jHyDP6Ay8Tl2j",
|
|
"models": ["qwen3.5-4b", "qwen3.5", "qwen"],
|
|
"default_model": "qwen3.5-4b",
|
|
"timeout": 120,
|
|
"enabled": True,
|
|
},
|
|
{
|
|
"name": "siliconflow-deepseek",
|
|
"priority": 2,
|
|
"base_url": "https://api.siliconflow.cn/v1",
|
|
"api_key": "sk-fhpoexpptvjghpnphtaxbkhjwulzovoqfffbckcfscjmwhcg",
|
|
"models": ["Pro/deepseek-ai/DeepSeek-V3.2", "deepseek-v3", "deepseek"],
|
|
"default_model": "Pro/deepseek-ai/DeepSeek-V3.2",
|
|
"timeout": 120,
|
|
"enabled": True,
|
|
},
|
|
]
|
|
|
|
# 模型别名映射
|
|
MODEL_ALIASES = {
|
|
# auto 自动选择可用模型
|
|
"auto": "auto",
|
|
|
|
# Qwen别名
|
|
"qwen": "qwen3.5-4b",
|
|
"qwen3.5": "qwen3.5-4b",
|
|
"qwen3.5-4b": "qwen3.5-4b",
|
|
|
|
# DeepSeek别名
|
|
"deepseek": "Pro/deepseek-ai/DeepSeek-V3.2",
|
|
"deepseek-v3": "Pro/deepseek-ai/DeepSeek-V3.2",
|
|
"deepseek-v3.2": "Pro/deepseek-ai/DeepSeek-V3.2",
|
|
}
|
|
|
|
# 服务配置
|
|
SERVER_CONFIG = {
|
|
"host": "0.0.0.0",
|
|
"port": 19007,
|
|
"debug": True,
|
|
}
|
|
|
|
# 日志配置
|
|
LOG_CONFIG = {
|
|
"log_dir": "logs",
|
|
"log_requests": True,
|
|
"log_errors": True,
|
|
}
|
|
|
|
# 重试配置
|
|
RETRY_CONFIG = {
|
|
"max_retries": 3,
|
|
"retry_delay": 1, # 秒
|
|
"retry_on_errors": [
|
|
"connection_error",
|
|
"timeout",
|
|
"rate_limit",
|
|
"server_error",
|
|
],
|
|
}
|
|
|
|
# 健康检查配置
|
|
HEALTH_CHECK = {
|
|
"enabled": True,
|
|
"interval": 60, # 秒
|
|
"timeout": 10,
|
|
} |