问题: 如何使用openai库调用阿里云百炼模型
👇 点击展开/折叠 面试背诵模板(建议先背这个)
阿里云百炼兼容OpenAI接口规范,使用openai库调用只需调整三个核心参数:api_key(百炼API Key)、base_url(百炼服务地址)、model(百炼模型名称)。标准流程:安装openai库 → 获取百炼API Key → 配置环境变量DASHSCOPE_API_KEY → 创建OpenAI客户端并指定base_url → 调用chat.completions.create发送请求。base_url格式为https://{WorkspaceId}.{region}.maas.aliyuncs.com/compatible-mode/v1,不同地域需使用对应域名,华北2(北京)和新加坡地域推荐使用业务空间专属域名以获得更优性能。
---
前提条件
- 开通百炼服务:访问阿里云百炼控制台,按提示开通(免费开通,调用模型时产生费用)。
- 获取API Key:进入百炼控制台 → 密钥管理 → API-Key → 创建API-KEY。
- 获取业务空间ID(WorkspaceId):在百炼控制台的业务空间详情页面查看。
安装与配置
安装openai库:
配置环境变量(推荐,避免硬编码):
1 2 3 4 5 6 7 8
| echo "export DASHSCOPE_API_KEY='your-api-key'" >> ~/.zshrc && source ~/.zshrc
echo "export DASHSCOPE_API_KEY='your-api-key'" >> ~/.bash_profile && source ~/.bash_profile
setx DASHSCOPE_API_KEY "your-api-key"
|
基础调用代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| import os from openai import OpenAI
client = OpenAI( api_key=os.getenv("DASHSCOPE_API_KEY"), base_url="https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1" )
completion = client.chat.completions.create( model="qwen-plus", messages=[ {"role": "system", "content": "你是一个有帮助的助手"}, {"role": "user", "content": "你是谁?"} ] )
print(completion.choices[0].message.content)
|
各地域base_url配置
| 地域 |
base_url格式 |
| 华北2(北京) |
https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1 |
| 新加坡 |
https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1 |
| 中国香港 |
https://{WorkspaceId}.cn-hongkong.maas.aliyuncs.com/compatible-mode/v1 |
| 美国(弗吉尼亚) |
https://dashscope-us.aliyuncs.com/compatible-mode/v1 |
| 德国(法兰克福) |
https://{WorkspaceId}.eu-central-1.maas.aliyuncs.com/compatible-mode/v1 |
| 日本(东京) |
https://{WorkspaceId}.ap-northeast-1.maas.aliyuncs.com/compatible-mode/v1 |
注意:华北2(北京)和新加坡地域推出了业务空间专属域名,性能与稳定性更优,建议优先使用。
常用模型列表
| 模型名称 |
说明 |
适用场景 |
qwen3.7-max |
旗舰模型,推理能力最强 |
复杂、多步骤任务 |
qwen-plus |
效果、速度、成本均衡 |
大多数场景的推荐选择 |
qwen-flash / qwen3.6-flash |
高性价比、低延迟 |
需要快速响应的简单任务 |
两种调用方式对比
| 方式 |
优势 |
代码风格 |
| OpenAI兼容接口 |
代码迁移成本低,生态通用 |
与OpenAI官方SDK完全一致 |
| DashScope SDK |
百炼原生SDK,功能更完整 |
from dashscope import Generation |
两种方式均可正常调用百炼模型,若已有OpenAI代码,推荐使用兼容接口直接迁移。