需先注册阿里云账号并开通通义千问服务,创建accesskey,配置dashscope_api_key环境变量,安装dashscope sdk后验证调用成功,或通过curl、前端fetch(需代理)等方式调用api。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

一、注册并开通通义千问API服务
调用通义千问API前,必须完成阿里云账号注册与模型服务开通,这是身份认证和权限授予的基础环节。
1、访问阿里百炼控制台,使用阿里云主账号登录。
2、在控制台首页点击“开通服务”,选择“通义千问”大模型推理服务,按提示完成开通流程。
3、服务开通后,在左侧菜单栏进入“API密钥管理”,点击“创建AccessKey”,生成一对AccessKey ID与AccessKey Secret。
4、将生成的AccessKey ID与AccessKey Secret妥善保存,其中AccessKey Secret仅显示一次,务必立即复制保存。
二、配置API密钥环境变量
将API密钥以环境变量形式注入运行时,可避免硬编码泄露风险,是生产环境推荐方式。
1、在Linux或macOS终端中执行以下命令:
export DASHSCOPE_API_KEY="sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
2、在Windows命令提示符中执行以下命令:
set DASHSCOPE_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
3、验证是否设置成功:在Python环境中运行import os; print(os.getenv("DASHSCOPE_API_KEY")),应输出完整密钥字符串。
4、切勿在代码中明文写入API密钥,尤其禁止提交至Git等公开仓库。
三、安装官方SDK并验证连通性
使用DashScope官方Python SDK可简化请求构造、签名认证与错误处理,确保调用符合服务端规范。
1、执行pip命令安装最新版SDK:
pip install dashscope
2、安装完成后,在Python交互环境中执行:
import dashscope
dashscope.api_key = os.getenv("DASHSCOPE_API_KEY")
3、发起一次最小化测试调用:
from dashscope import Generation
response = Generation.call(model='qwen-turbo', prompt='你好')
4、检查response.status_code是否为200,且response.output.text返回非空字符串。
四、使用curl命令行直连调用
不依赖任何SDK,通过标准HTTP协议直接向DashScope API端点发送JSON请求,适用于调试、脚本集成或非Python环境。
1、确认已设置DASHSCOPE_API_KEY环境变量或替换为实际密钥值。
2、执行以下curl命令(需确保系统已安装curl):
curl -X POST 'https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation' \
-H 'Authorization: Bearer sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
-H 'Content-Type: application/json' \
-d '{ "model": "qwen-turbo", "input": { "messages": [ { "role": "user", "content": "你好" } ] }, "parameters": {} }'
3、响应体中若包含"output":{"text":"你好!"}结构,说明API直连调用成功。
4、注意JSON格式必须严格合法,message数组中role与content字段不可缺失。
五、前端JavaScript异步调用
在浏览器环境中通过fetch API调用通义千问,需配合后端代理规避CORS限制,或使用支持跨域的后端网关。
1、准备一个后端代理接口(如Express路由/api/qwen),接收前端请求并转发至DashScope。
2、前端JavaScript中定义配置对象:
const API_CONFIG = {
baseUrl: '/api/qwen',
model: 'qwen-max'
};
3、构造fetch请求:
fetch(API_CONFIG.baseUrl, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
model: API_CONFIG.model,
input: { messages: [{ role: 'user', content: '请用一句话介绍你自己' }] }
})
})
4、在.then()中解析response.json(),提取data.output.text作为AI回复内容。










