通义千问 API 开发者指南 2026:性价比最高的国产 LLM 集成方案

从 API 接入到生产部署,Qwen 全流程开发教程

返回教程列表
进阶13 分钟

通义千问 API 开发者指南 2026:性价比最高的国产 LLM 集成方案

从 API 接入到生产部署,Qwen 全流程开发教程

阿里云通义千问(Qwen)系列在性价比和多语言能力上领先国产模型,Qwen2.5 已被全球开发者广泛使用。本文从 API Key 获取到生产级应用构建,详细讲解 Qwen API 的开发最佳实践。

通义千问Qwen阿里云国产LLMDashScopeAPI开发Qwen2.5

Qwen(通义千问)是阿里巴巴开发的大语言模型系列,在国产 AI 里有一个独特的位置:它既有闭源的云端 API(通过阿里云),又有开源版本(可以在 Ollama 本地运行)。

对开发者来说,这意味着:用 API 快速开发验证,如果需要本地部署也有路径

一、Qwen 系列模型概览

模型适用场景上下文价格(/百万token)

Qwen-Long超长文档10M tokens输入¥0.5,输出¥2 Qwen-Max最高质量32K输入¥40,输出¥120 Qwen-Plus平衡131K输入¥4,输出¥12 Qwen-Turbo快速/低成本131K输入¥2,输出¥6 Qwen2.5-Coder-32B代码专项131K按量计费

成本比较:Qwen-Plus 比 GPT-4o 便宜约 90%,在中文任务上质量接近。

二、API 接入

获取 API Key

  • 访问 dashscope.aliyuncs.com
  • 登录阿里云账号
  • 开通 DashScope 服务
  • 在控制台创建 API Key
  • Python 调用

    python
    

    方法1:OpenAI 兼容格式(推荐)

    from openai import OpenAI

    client = OpenAI( api_key="your_dashscope_api_key", base_url="https://dashscope.aliyuncs.com/compatible-mode/v1" )

    response = client.chat.completions.create( model="qwen-plus", messages=[ {"role": "system", "content": "你是一个专业的代码审查员"}, {"role": "user", "content": "请审查这段 Python 代码..."} ], temperature=0.7, max_tokens=2000 )

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

    python
    

    方法2:DashScope SDK

    import dashscope from dashscope import Generation

    dashscope.api_key = "your_api_key"

    response = Generation.call( model="qwen-plus", messages=[{"role": "user", "content": "你好"}], result_format='message' ) print(response.output.choices[0].message.content)

    流式输出

    python
    stream = client.chat.completions.create(
        model="qwen-plus",
        messages=[{"role": "user", "content": "写一篇 500 字文章"}],
        stream=True
    )

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

    三、多模态能力

    Qwen-VL 系列支持图像理解:

    python
    response = client.chat.completions.create(
        model="qwen-vl-max",
        messages=[
            {
                "role": "user",
                "content": [
                    {"type": "image_url", "image_url": {"url": "https://..."}},
                    {"type": "text", "text": "这张图片里有什么?"}
                ]
            }
        ]
    )
    

    四、生产级使用建议

    错误处理和重试

    python
    import time
    from openai import RateLimitError, APIConnectionError

    def call_with_retry(client, **kwargs, max_retries=3): for attempt in range(max_retries): try: return client.chat.completions.create(**kwargs) except RateLimitError: wait_time = 2 ** attempt print(f"Rate limit hit, waiting {wait_time}s...") time.sleep(wait_time) except APIConnectionError as e: if attempt == max_retries - 1: raise time.sleep(1) raise Exception("Max retries exceeded")

    成本控制

    python
    

    在系统提示词里要求精简输出

    system_prompt = """你是一个助手。 请用简洁的语言回答,不要过多展开, 避免重复信息。"""

    设置合理的 max_tokens

    response = client.chat.completions.create( model="qwen-turbo", # 用 turbo 做轻量任务 messages=[...], max_tokens=500 # 控制输出长度 )

    多模型路由策略

    python
    def get_model(task_type: str, content_length: int) -> str:
        """根据任务类型和内容长度选择最合适的模型"""
        if content_length > 50000:
            return "qwen-long"
        elif task_type == "code":
            return "qwen2.5-coder-32b-instruct"
        elif task_type == "simple":
            return "qwen-turbo"
        else:
            return "qwen-plus"
    

    五、与 Vercel AI SDK 集成

    typescript
    // 在 Next.js 中接入 Qwen
    import { createOpenAI } from '@ai-sdk/openai';

    const qwen = createOpenAI({ apiKey: process.env.DASHSCOPE_API_KEY, baseURL: 'https://dashscope.aliyuncs.com/compatible-mode/v1' });

    const result = streamText({ model: qwen('qwen-plus'), messages: [...], });


    延伸阅读

  • Kimi K2 完整使用指南
  • Vercel AI SDK 实战教程
  • LLM API 成本优化指南
  • 相关工具

    通义千问阿里云 DashScopeOpenAIVercel AI SDK