feat: add Qwen (DashScope) support as default provider

- 添加 Qwen flash/plus/max 三个等级模型
- 设置 Qwen 为默认路由策略
- 配置 DashScope API 接口
- 更新 .env.example 包含 Qwen API Key
This commit is contained in:
2026-04-17 23:47:06 +08:00
parent 4259478a37
commit ba63394e22
3 changed files with 22 additions and 5 deletions

View File

@@ -1,3 +1,6 @@
# DashScope API Key (阿里云 Qwen)
DASHSCOPE_API_KEY=sk-37e148fafdfb425f8cc1cfa4efcbc9e1
# OpenAI API Key
OPENAI_API_KEY=sk-your-openai-key-here

View File

@@ -11,6 +11,10 @@ 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},
@@ -32,14 +36,17 @@ ROUTING_THRESHOLDS = {
"medium": 500, # < 500 tokens
}
# 默认模型选择策略
# 默认模型选择策略(使用 Qwen 作为默认)
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"
"simple": "qwen-flash", # 轻量级任务
"medium": "qwen-plus", # 中等任务
"complex": "qwen-max", # 复杂任务
}
# API Keyslitellm 自动读取环境变量)
# 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", "")

View File

@@ -10,8 +10,15 @@ from typing import List, Dict, Any, Optional
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
from litellm import acompletion
import litellm
from config import MODEL_CONFIG, ROUTING_THRESHOLDS, DEFAULT_ROUTING
from config import MODEL_CONFIG, ROUTING_THRESHOLDS, DEFAULT_ROUTING, DASHSCOPE_API_KEY
# 配置 LiteLLM 使用 DashScope (Qwen)
if DASHSCOPE_API_KEY:
litellm.api_key = DASHSCOPE_API_KEY
# Qwen 使用 OpenAI 兼容接口,但需要通过 api_base 指定
litellm.api_base = "https://dashscope.aliyuncs.com/compatible-mode/v1"
# 调用历史记录