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:
@@ -1,3 +1,6 @@
|
||||
# DashScope API Key (阿里云 Qwen)
|
||||
DASHSCOPE_API_KEY=sk-37e148fafdfb425f8cc1cfa4efcbc9e1
|
||||
|
||||
# OpenAI API Key
|
||||
OPENAI_API_KEY=sk-your-openai-key-here
|
||||
|
||||
|
||||
15
config.py
15
config.py
@@ -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 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", "")
|
||||
|
||||
9
main.py
9
main.py
@@ -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"
|
||||
|
||||
|
||||
# 调用历史记录
|
||||
|
||||
Reference in New Issue
Block a user