""" 简单配置管理 """ import os from typing import Literal from dotenv import load_dotenv # 加载 .env 文件 load_dotenv() # 统一模型配置(支持多提供商) # 格式: "统一模型名": {"provider": "litellm格式", "input_cost": x, "output_cost": y} MODEL_CONFIG = { # Qwen (阿里云) "qwen-flash": {"provider": "openai/qwen-turbo", "input_cost": 0.0003, "output_cost": 0.0006}, "qwen-plus": {"provider": "openai/qwen-plus", "input_cost": 0.0008, "output_cost": 0.002}, "qwen-max": {"provider": "openai/qwen-max", "input_cost": 0.002, "output_cost": 0.006}, # 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 } # 默认模型选择策略(使用 Qwen 作为默认) DEFAULT_ROUTING = { "simple": "qwen-flash", # 轻量级任务 "medium": "qwen-plus", # 中等任务 "complex": "qwen-max", # 复杂任务 } # API Keys(litellm 自动读取环境变量) # Qwen (阿里云) DASHSCOPE_API_KEY = os.getenv("DASHSCOPE_API_KEY", "") # OpenAI OPENAI_API_KEY = os.getenv("OPENAI_API_KEY", "") ANTHROPIC_API_KEY = os.getenv("ANTHROPIC_API_KEY", "") GEMINI_API_KEY = os.getenv("GEMINI_API_KEY", "")