使用 LiteLLM 统一接口支持多 LLM 提供商: - 支持 OpenAI, Anthropic, Gemini, Ollama 等 100+ 提供商 - 统一模型配置 (MODEL_CONFIG) - 新增 /models 端点列出可用模型 - 统计增加提供商分布 - 简化代码,移除 OpenAI 客户端初始化
46 lines
1.8 KiB
Python
46 lines
1.8 KiB
Python
"""
|
||
简单配置管理
|
||
"""
|
||
import os
|
||
from typing import Literal
|
||
from dotenv import load_dotenv
|
||
|
||
# 加载 .env 文件
|
||
load_dotenv()
|
||
|
||
# 统一模型配置(支持多提供商)
|
||
# 格式: "统一模型名": {"provider": "litellm格式", "input_cost": x, "output_cost": y}
|
||
MODEL_CONFIG = {
|
||
# OpenAI
|
||
"gpt-3.5": {"provider": "gpt-3.5-turbo", "input_cost": 0.0005, "output_cost": 0.0015},
|
||
"gpt-4o-mini": {"provider": "gpt-4o-mini", "input_cost": 0.00015, "output_cost": 0.0006},
|
||
"gpt-4o": {"provider": "gpt-4o", "input_cost": 0.005, "output_cost": 0.015},
|
||
# Anthropic
|
||
"claude-3-haiku": {"provider": "claude-3-haiku-20240307", "input_cost": 0.00025, "output_cost": 0.00125},
|
||
"claude-3-sonnet": {"provider": "claude-3-sonnet-20240229", "input_cost": 0.003, "output_cost": 0.015},
|
||
"claude-3-opus": {"provider": "claude-3-opus-20240229", "input_cost": 0.015, "output_cost": 0.075},
|
||
# Gemini
|
||
"gemini-flash": {"provider": "gemini/gemini-1.5-flash", "input_cost": 0.000075, "output_cost": 0.0003},
|
||
"gemini-pro": {"provider": "gemini/gemini-1.5-pro", "input_cost": 0.00125, "output_cost": 0.005},
|
||
# 本地/开源
|
||
"llama3": {"provider": "ollama/llama3", "input_cost": 0, "output_cost": 0},
|
||
}
|
||
|
||
# 路由阈值(token 数 -> 推荐模型)
|
||
ROUTING_THRESHOLDS = {
|
||
"simple": 100, # < 100 tokens
|
||
"medium": 500, # < 500 tokens
|
||
}
|
||
|
||
# 默认模型选择策略
|
||
DEFAULT_ROUTING = {
|
||
"simple": "gpt-3.5", # 或 "claude-3-haiku", "gemini-flash"
|
||
"medium": "gpt-4o-mini", # 或 "claude-3-haiku"
|
||
"complex": "gpt-4o", # 或 "claude-3-sonnet", "gemini-pro"
|
||
}
|
||
|
||
# API Keys(litellm 自动读取环境变量)
|
||
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY", "")
|
||
ANTHROPIC_API_KEY = os.getenv("ANTHROPIC_API_KEY", "")
|
||
GEMINI_API_KEY = os.getenv("GEMINI_API_KEY", "")
|