Login
Back to Blog
"通义千问 API 完整指南 2026:接入教程与最佳实践"

"通义千问 API 完整指南 2026:接入教程与最佳实践"

C
Crazyrouter Team
April 8, 2026
0 views中文Tutorial
Share:

通义千问 API 完整指南 2026:接入教程与最佳实践#

通义千问(Qwen)是阿里云推出的大语言模型系列,在代码生成、多模态理解和中文任务上表现出色。本指南提供完整的 API 接入教程,适合开发者快速上手。

什么是通义千问?#

通义千问(Qwen)是阿里云达摩院开发的大型语言模型,具备以下特点:

  • 强大的中文能力:在中文理解和生成方面领先众多国际模型
  • 多模态支持:Qwen-VL 系列支持图像+文本理解
  • 代码能力:Qwen3 Coder 系列专为编程任务优化
  • 长上下文:支持最高 128K token 上下文窗口
  • 开源可用:部分模型开源,支持本地部署

2026 年主要 Qwen 模型#

模型参数量特长上下文
Qwen2.5-VL-72B72B多模态视觉理解128K
Qwen3-VL-235B235B (MoE)顶级视觉+语言128K
Qwen3-Coder-72B72B代码生成128K
Qwen2.5-72B72B通用语言128K
Qwen2.5-14B14B轻量级部署128K
Qwen2.5-Omni7B音视频多模态32K

如何获取通义千问 API#

方式一:阿里云官方 API#

  1. 访问 阿里云百炼平台
  2. 注册/登录阿里云账号
  3. 开通模型服务
  4. 在控制台创建 API Key

官方 API 定价(2026年4月):

模型输入价格输出价格
Qwen2.5-72B-Instruct¥4.0/1M¥12.0/1M
Qwen3-VL-235B¥21.0/1M¥63.0/1M
Qwen2.5-VL-72B¥4.5/1M¥13.5/1M

方式二:通过 Crazyrouter 使用#

Crazyrouter 提供 OpenAI 兼容的 API 接口,可以用同一套代码访问通义千问及 300+ 其他模型。

Crazyrouter 通义千问定价:

模型输入价格输出价格节省
Qwen2.5-VL-72B~$0.40/1M~$1.20/1M约25-30%
Qwen3-Coder-72B~$0.45/1M~$1.80/1M约25%

快速开始:代码示例#

Python 示例#

python
from openai import OpenAI

# 通过 Crazyrouter 访问通义千问(无需额外配置)
client = OpenAI(
    api_key="your-crazyrouter-api-key",
    base_url="https://crazyrouter.com/v1"
)

# 基础对话
response = client.chat.completions.create(
    model="qwen2.5-vl-72b-instruct",
    messages=[
        {
            "role": "system",
            "content": "你是一个专业的AI助手,擅长中文理解和代码生成。"
        },
        {
            "role": "user",
            "content": "用Python写一个计算斐波那契数列的函数,要求支持记忆化"
        }
    ],
    max_tokens=2048,
    temperature=0.1  # 代码任务用低temperature
)

print(response.choices[0].message.content)

流式输出示例#

python
# 流式输出,适合长文生成
stream = client.chat.completions.create(
    model="qwen2.5-vl-72b-instruct",
    messages=[
        {"role": "user", "content": "详细解释一下大型语言模型的工作原理"}
    ],
    stream=True,
    max_tokens=4096
)

for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)
print()  # 换行

多模态图像理解(Qwen-VL)#

python
import base64

def analyze_image(image_path: str, question: str) -> str:
    """使用 Qwen-VL 分析图像"""
    
    # 读取并编码图像
    with open(image_path, "rb") as f:
        image_data = base64.b64encode(f.read()).decode("utf-8")
    
    # 获取图像格式
    ext = image_path.split(".")[-1].lower()
    mime_type = f"image/{ext}"
    
    response = client.chat.completions.create(
        model="qwen2.5-vl-72b-instruct",
        messages=[
            {
                "role": "user",
                "content": [
                    {
                        "type": "image_url",
                        "image_url": {
                            "url": f"data:{mime_type};base64,{image_data}"
                        }
                    },
                    {
                        "type": "text",
                        "text": question
                    }
                ]
            }
        ],
        max_tokens=1024
    )
    
    return response.choices[0].message.content

# 使用示例
result = analyze_image(
    "product_screenshot.png",
    "请描述这张图片中的内容,并指出任何UI问题"
)
print(result)

Node.js 示例#

javascript
import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: process.env.CRAZYROUTER_API_KEY,
  baseURL: 'https://crazyrouter.com/v1',
});

// 中文问答
async function askQwen(question) {
  const response = await client.chat.completions.create({
    model: 'qwen2.5-vl-72b-instruct',
    messages: [
      {
        role: 'system',
        content: '你是一个专业助手,请用清晰的中文回答问题。'
      },
      {
        role: 'user',
        content: question
      }
    ],
    max_tokens: 2048,
    temperature: 0.7,
  });
  
  return response.choices[0].message.content;
}

// 使用示例
const answer = await askQwen('如何优化 Node.js 应用的内存使用?');
console.log(answer);

cURL 示例#

bash
curl https://crazyrouter.com/v1/chat/completions \
  -H "Authorization: Bearer your-crazyrouter-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen2.5-vl-72b-instruct",
    "messages": [
      {
        "role": "user",
        "content": "用Python实现一个简单的HTTP服务器"
      }
    ],
    "max_tokens": 2048,
    "temperature": 0.1
  }'

通义千问 vs 其他模型对比#

中文能力对比#

模型中文理解中文生成文化理解
Qwen2.5-72B⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
DeepSeek V3.2⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
Claude Opus 4.6⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
GPT-5.2⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
Gemini 3 Pro⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
GLM-4.6⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐

代码能力对比(Qwen Coder)#

模型HumanEval价格(输入)适用场景
Qwen3-Coder-72B78.6%~$0.45/1M开源替代方案
Claude Sonnet 4.588.3%$3/1M最佳商业平衡
DeepSeek V3.282.4%$0.27/1M最优性价比
GPT-5 Mini72.1%$0.15/1M最低成本

实际应用场景#

1. 中文内容生成#

python
def generate_chinese_content(topic: str, style: str = "professional") -> str:
    """生成高质量中文内容"""
    
    style_prompts = {
        "professional": "请用专业、正式的语气撰写",
        "casual": "请用轻松、口语化的风格撰写",
        "technical": "请用技术性语言,包含具体数据和例子"
    }
    
    response = client.chat.completions.create(
        model="qwen2.5-vl-72b-instruct",
        messages=[
            {
                "role": "system",
                "content": f"{style_prompts.get(style)},确保内容准确、流畅、符合中文表达习惯。"
            },
            {
                "role": "user",
                "content": f"请为我撰写一篇关于「{topic}」的文章,约800字。"
            }
        ],
        max_tokens=2000
    )
    
    return response.choices[0].message.content

# 使用示例
article = generate_chinese_content("人工智能在医疗领域的应用", "professional")

2. 中英文翻译与本地化#

python
def translate_and_localize(text: str, target_lang: str) -> str:
    """翻译并本地化内容"""
    
    prompt_map = {
        "zh": f"请将以下英文内容翻译成自然流畅的中文,注意文化适配:\n\n{text}",
        "en": f"请将以下中文内容翻译成自然流畅的英文,注意文化适配:\n\n{text}"
    }
    
    response = client.chat.completions.create(
        model="qwen2.5-vl-72b-instruct",
        messages=[
            {"role": "user", "content": prompt_map.get(target_lang, prompt_map["en"])}
        ],
        temperature=0.3
    )
    
    return response.choices[0].message.content

3. 文档问答系统#

python
def document_qa(document: str, question: str) -> str:
    """基于文档的智能问答"""
    
    response = client.chat.completions.create(
        model="qwen2.5-vl-72b-instruct",
        messages=[
            {
                "role": "system",
                "content": "你是一个专业的文档分析助手。请根据提供的文档内容回答用户问题,如果文档中没有相关信息,请明确说明。"
            },
            {
                "role": "user",
                "content": f"文档内容:\n{document}\n\n问题:{question}"
            }
        ],
        max_tokens=1024,
        temperature=0.1
    )
    
    return response.choices[0].message.content

最佳实践与注意事项#

1. 温度设置建议#

任务类型推荐 temperature
代码生成0.0-0.2
事实问答0.1-0.3
翻译0.2-0.4
创意写作0.7-1.0
头脑风暴0.8-1.2

2. System Prompt 中文优化#

python
# ✅ 好的系统提示
system_prompt = """你是一位专业的助手。请注意:
1. 优先使用简洁准确的中文表达
2. 避免过度翻译英文词汇,适当保留通用技术词汇
3. 回答要结构清晰,重点突出
4. 代码示例用注释说明关键步骤"""

# ❌ 较差的系统提示  
system_prompt = "Be helpful and answer in Chinese."

3. 长上下文管理#

python
def chat_with_memory(history: list, new_message: str, max_context_tokens: int = 4096):
    """带历史的对话,自动管理上下文长度"""
    
    # 简单的历史截断策略
    messages = history[-10:]  # 保留最近10轮对话
    messages.append({"role": "user", "content": new_message})
    
    response = client.chat.completions.create(
        model="qwen2.5-vl-72b-instruct",
        messages=messages,
        max_tokens=2048
    )
    
    reply = response.choices[0].message.content
    history.append({"role": "user", "content": new_message})
    history.append({"role": "assistant", "content": reply})
    
    return reply, history

常见问题#

Q: 通义千问 API 和 ChatGPT API 有什么区别? A: 通义千问在中文任务上表现更优秀,价格也更有竞争力。对于中文为主的应用,Qwen 通常是更好的选择。

Q: 如何在中国大陆使用通义千问 API? A: 阿里云官方 API 在国内可以直接访问。通过 Crazyrouter 也可以访问,无需额外网络配置。

Q: Qwen 模型支持 Function Calling 吗? A: 是的,Qwen2.5 系列模型支持 Function Calling(工具调用),API 格式与 OpenAI 兼容。

Q: 通义千问的知识截止日期是什么? A: Qwen2.5 系列的训练数据截止至 2024 年底。部分模型可结合搜索工具获取最新信息。

Q: 如何批量处理大量请求? A: 使用异步请求和并发控制:

python
import asyncio
from openai import AsyncOpenAI

async_client = AsyncOpenAI(
    api_key="your-crazyrouter-key",
    base_url="https://crazyrouter.com/v1"
)

async def batch_process(texts: list[str]) -> list[str]:
    tasks = [
        async_client.chat.completions.create(
            model="qwen2.5-vl-72b-instruct",
            messages=[{"role": "user", "content": text}],
            max_tokens=512
        )
        for text in texts
    ]
    responses = await asyncio.gather(*tasks)
    return [r.choices[0].message.content for r in responses]

总结#

通义千问(Qwen)是 2026 年中文 AI 任务的顶级选择:

  • 中文能力最强:在所有商业模型中,中文理解和生成排名前列
  • 多模态覆盖广:从纯文本到图像理解、音视频,一套 API 搞定
  • 开源生态丰富:Qwen 系列有大量开源模型可本地部署
  • 性价比高:尤其是通过 Crazyrouter 访问,成本比官方更低

无论是构建中文内容生成、文档分析、还是多语言应用,通义千问都是值得优先考虑的选择。

在 Crazyrouter 上使用通义千问 API(OpenAI 兼容,一个 Key 访问 300+ 模型)

Related Articles