阿里云百炼 API 怎么用?2026年阿里云百炼 API 调用教程:从密钥准备到多语言实现

简介: 在使用阿里云百炼平台的大模型能力时,API 调用是核心环节 —— 无论是开发 AI 应用、测试模型效果,还是搭建智能服务,都需要通过 API 将大模型能力集成到自己的系统中。但很多开发者会困惑 “API-Key 怎么获取”“环境变量配置有什么用”“不同语言怎么写调用代码”。本文结合实操细节,用通俗语言拆解从账号准备到多语言调用的全流程,每步附具体操作和代码示例,帮助快速上手。

在使用阿里云百炼平台的大模型能力时,API 调用是核心环节 —— 无论是开发 AI 应用、测试模型效果,还是搭建智能服务,都需要通过 API 将大模型能力集成到自己的系统中。但很多开发者会困惑 “API-Key 怎么获取”“环境变量配置有什么用”“不同语言怎么写调用代码”。本文结合实操细节,用通俗语言拆解从账号准备到多语言调用的全流程,每步附具体操作和代码示例,帮助快速上手。

阿里云百炼平台:https://www.aliyun.com/product/bailian 打开如下图:

图片.png

一、基础概念:API-Key 与环境变量的作用

在开始操作前,先明确两个关键概念,避免只知其然不知其所以然:

(一)API-Key:访问的 “身份凭证”

API-Key 相当于访问阿里云百炼 API 的 “钥匙”。由于百炼 API 调用有免费额度限制(超额度后计费),且需区分用户权限,每个开发者都需要专属 API-Key。调用时,平台通过密钥识别身份,判断是否有权使用模型、计算调用用量,没有 API-Key 无法发起有效请求。

(二)环境变量:安全管理密钥的方式

很多新手会直接把 API-Key 写在代码里,这存在两大问题:一是代码分享或上传到 GitHub 时,密钥易泄露,可能被他人滥用产生高额费用;二是更换密钥时需逐行修改代码,十分麻烦。配置到环境变量,相当于把密钥存到操作系统的 “安全仓库”,代码仅从仓库读取,既避免泄露,又方便统一管理。

此外,百炼 API 支持北京、新加坡等多个地域,不同地域接口地址略有差异,但核心流程一致,本文以北京地域为例,其他地域只需后续调用时确认对应接口域名即可。

二、第一步:获取 API-Key(账号准备到密钥创建)

获取 API-Key 需先完成账号注册和百炼服务开通,具体分 3 步:

(一)注册并登录阿里云账号

已有阿里云账号(用过 ECS、RDS 等产品)可直接登录;新用户需打开阿里云官网,通过手机号或邮箱注册,设置登录密码后完成登录。首次登录可能提示实名认证(个人填身份证信息,企业填营业执照信息),百炼免费额度使用通常不强制实名认证,可后续补充。

(二)开通百炼服务

登录后,打开阿里云百炼官方控制台(搜索 “阿里云百炼控制台” 或通过官方链接进入),选择地域(国内业务优先选北京,海外业务可选新加坡)。进入控制台后,点击 “免费体验”(免费指获取一定免费调用额度,超额度后按实际用量计费),阅读并同意服务协议,点击 “确认开通”,10 秒左右即可完成,页面自动跳转到百炼主控制台。

(三)创建并保存 API-Key

  1. 在百炼控制台左侧菜单栏找到 “密钥管理”,进入后选择 “API-Key” 页签(仅主账号或有 “API-Key 管理权限” 的子账号可操作)。
  2. 点击 “创建 API-KEY” 按钮,系统会立即生成一对类似 “sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx” 的字符串,这就是你的 API-Key。
  3. 关键步骤:生成后立即复制保存到本地记事本,页面刷新后无法再次查看完整密钥,忘记保存需删除旧密钥重新创建。一个账号可创建多个 API-Key(如不同项目用不同密钥),若担心泄露,可在 “密钥管理” 页面随时删除旧密钥、创建新密钥(删除后旧密钥立即失效)。

阿里云服务器ECS https://www.aliyun.com/product/ecs 打开如下图:

ecs.png

阿里云轻量服务器:https://www.aliyun.com/product/swas 打开如下图:

asaw.png

阿里云GPU云服务器 https://www.aliyun.com/product/egs 打开如下图:

egs.png

用户可登录阿里云权益中心(https://www.aliyun.com/benefit),领取上云礼包、算力补贴优惠券或满减券,降低初次购买成本,但需注意优惠券使用期限与适用产品范围。

benefit.png

三、第二步:配置环境变量(分系统操作)

环境变量配置需根据操作系统区分,核心是 “将 API-Key 存入系统变量,让代码能读取到”,以下分系统说明操作步骤和验证方法:

(一)macOS/Linux 系统(两种生效方式)

macOS 和 Linux 终端操作逻辑类似,区别在于默认 Shell 类型(macOS 默认 Zsh,Linux 常见 Bash),需对应不同配置文件:

1. 永久生效(推荐,一次配置长期可用)

原理是将环境变量写入 Shell 配置文件,每次打开终端自动加载:

  • Zsh(macOS 默认):打开终端,执行命令(替换 “your-api-key” 为实际密钥):bash

    运行



echo "export DASHSCOPE_API_KEY='your-api-key'" >> ~/.zshrc && source ~/.zshrc
  • 该命令将密钥配置追加到~/.zshrc文件,同时立即加载让配置生效。
  • Bash(Linux 常见):执行命令:bash

    运行



echo "export DASHSCOPE_API_KEY='your-api-key'" >> ~/.bash_profile && source ~/.bash_profile
  • 注意用~/.bash_profile文件,与 Zsh 配置文件不能混用,否则不生效。

2. 临时生效(适合短期测试)

若仅临时测试,无需永久配置,终端直接执行:

bash

运行

export DASHSCOPE_API_KEY="your-api-key"

当前终端窗口可读取变量,关闭后配置消失,下次需重新执行。

3. 验证配置

执行命令echo $DASHSCOPE_API_KEY,若输出完整 API-Key,说明配置成功;若输出空值或错误,需检查命令是否正确(如配置文件路径、密钥是否输对)。

(二)Windows 系统(分 PowerShell 和 CMD)

Windows 有 PowerShell(推荐,功能全)和 CMD(传统命令行)两种工具,配置方式不同:

1. PowerShell 永久配置(推荐)

需修改 PowerShell 的profile文件:

  • 按 Win+R,输入 “powershell” 打开 PowerShell,执行$PROFILE查看配置文件路径(如 “C:\Users\ 用户名 \Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1”)。
  • 执行notepad $PROFILE创建并编辑文件,若提示 “文件不存在”,点击 “确定” 新建。
  • 在记事本中输入(替换 “your-api-key” 为实际密钥):powershell




[Environment]::SetEnvironmentVariable("DASHSCOPE_API_KEY", "your-api-key", "User")
  • “User” 表示仅当前用户生效,想让所有用户可用,可替换为 “Machine”(需管理员权限)。
  • 保存关闭记事本,重启 PowerShell 让配置生效。

2. CMD 临时配置

按 Win+R,输入 “cmd” 打开 CMD,执行:

cmd

set DASHSCOPE_API_KEY=your-api-key

注意 “=” 前后不能有空格,否则空格会被当作密钥一部分。配置仅当前 CMD 窗口生效,关闭后消失。

3. 验证配置

  • PowerShell:重启后执行[Environment]::GetEnvironmentVariable("DASHSCOPE_API_KEY", "User"),输出完整密钥即成功。
  • CMD:执行echo %DASHSCOPE_API_KEY%,输出完整密钥即成功。

三、第三步:调用 API(以 Python 为例,两种核心方式)

完成密钥和环境变量配置后,即可调用 API。Python 是常用开发语言,SDK 支持完善、代码简洁,以下介绍两种主流调用方式:

(一)前置准备:安装依赖库

打开终端(或 CMD/PowerShell),执行命令安装所需库:

bash

运行

pip install -U openai dashscope
  • “openai” 库用于支持 OpenAI 兼容接口(即使不用 OpenAI 服务,也需安装才能用兼容格式调用百炼 API)。
  • “dashscope” 库是阿里云官方 SDK,支持百炼原生 API。
  • “-U” 参数表示升级到最新版本,避免旧版本 bug 导致调用失败。若提示 “pip 不是内部或外部命令”,需检查 Python 环境变量配置,或用 “python -m pip install ...” 指定 Python 路径。

(二)方式一:OpenAI 兼容接口(适合熟悉 OpenAI 的开发者)

百炼提供 OpenAI 兼容接口格式,原有 OpenAI 代码几乎不用修改,只需更换 API-Key 和接口地址,即可调用百炼模型(如通义千问、DeepSeek)。

代码示例(调用 “qwen-plus” 模型)

python

运行

# 导入库:os读取环境变量,OpenAI是兼容接口核心库
import os
from openai import OpenAI
# 创建客户端对象:关键配置
client = OpenAI(
    api_key=os.getenv("DASHSCOPE_API_KEY"),  # 从环境变量读取密钥
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1"  # 百炼兼容接口地址
)
# 发起调用:发送请求并获取响应
completion = client.chat.completions.create(
    model="qwen-plus",  # 模型名称,可换“deepseek-r1”“qwen-turbo”等
    messages=[{"role": "user", "content": "你是谁?请简单介绍一下自己"}]  # 消息内容
)
# 打印结果:提取模型回答
print("模型回答:")
print(completion.choices[0].message.content)

关键说明

  • 模型名称:可在百炼控制台 “模型广场” 查看所有支持的模型名称(如轻量版 “qwen-turbo”、标准版 “qwen-plus”)。
  • 消息格式:除 “user” 角色(用户输入),还可加 “system” 角色设置系统提示,示例:python

    运行



messages=[
    {"role": "system", "content": "你是专业程序员,回答简洁,只用代码说明"},
    {"role": "user", "content": "用Python写1到100求和的代码"}
]
  • 响应解析:completion.choices[0].message.content是固定格式,API 响应含多个可能回答(choices 列表),通常取第一个(索引 0)。

(三)方式二:DashScope SDK(官方原生接口)

若首次接触 API 调用,或需使用百炼专属功能(如流式输出、模型微调结果调用),建议用官方 SDK,功能更全面、报错信息更详细,方便排查问题。

代码示例(调用 “qwen-plus” 模型)

python

运行

# 导入库:os读取环境变量,Generation是DashScope核心调用类
import os
from dashscope import Generation
# 发起调用:原生SDK格式
response = Generation.call(
    api_key=os.getenv("DASHSCOPE_API_KEY"),  # 从环境变量读取密钥
    model="qwen-plus",  # 模型名称,与兼容接口一致
    messages=[{"role": "user", "content": "你是谁?请简单介绍一下自己"}],
    result_format="message"  # 输出格式,让响应更易读
)
# 处理响应:判断调用是否成功
if response.status_code == 200:
    print("模型回答:")
    print(response.output.choices[0].message.content)
else:
    print("调用失败:")
    print(f"错误码:{response.status_code}")
    print(f"错误信息:{response.message}")

关键说明

  • 状态码判断:response.status_code == 200表示调用成功,其他码表示失败(401=API-Key 错误,403 = 权限不足,500 = 服务器错误)。
  • 流式输出:若需模型 “边思考边输出”(如生成长篇内容),可加stream=True参数,示例:python

    运行



response = Generation.call(
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    model="qwen-plus",
    messages=[{"role": "user", "content": "写100字春天描写"}],
    result_format="message",
    stream=True  # 开启流式输出
)
# 逐段打印结果
print("模型回答(流式输出):")
for chunk in response:
    if chunk.status_code == 200 and chunk.output.choices:
        print(chunk.output.choices[0].message.content, end="")
  • 错误排查:调用失败时,response.message会提示具体原因(如 “API-Key 无效”“免费额度已用完”),按提示调整即可。

四、其他语言调用(Node.js、Java 示例)

除 Python,百炼 API 还支持 Node.js、Java 等主流语言,核心逻辑都是 “读取 API-Key→设置接口地址→发送请求→处理响应”,以下给出简化示例:

(一)Node.js 调用(OpenAI 兼容接口)

1. 安装依赖

打开终端,在项目目录执行:

bash

运行

npm install openai

2. 代码示例

javascript

运行

// 导入openai库
const { OpenAI } = require('openai');
// 创建客户端对象
const client = new OpenAI({
  apiKey: process.env.DASHSCOPE_API_KEY,  // Node.js中用process.env读取环境变量
  baseURL: 'https://dashscope.aliyuncs.com/compatible-mode/v1'  // 百炼兼容接口地址
});
// 定义异步调用函数(Node.js推荐异步操作)
async function callBailianAPI() {
  try {
    const completion = await client.chat.completions.create({
      model: 'qwen-plus',
      messages: [{ role: 'user', content: '用Node.js写Hello World程序' }]
    });
    console.log('模型回答:');
    console.log(completion.choices[0].message.content);
  } catch (error) {
    console.log('调用失败:');
    console.log(`错误信息:${error.message}`);
  }
}
// 执行函数
callBailianAPI();

3. 运行方式

  • Windows:CMD 中先配置临时环境变量set DASHSCOPE_API_KEY=your-api-key,再执行node 文件名.js
  • macOS/Linux:终端执行export DASHSCOPE_API_KEY=your-api-key && node 文件名.js

(二)Java 调用(DashScope SDK)

适合企业级应用开发,需用阿里云官方dashscope-sdk-java

1. 添加依赖(Maven 项目)

pom.xml中添加依赖(版本≥2.12.0):

xml

<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>dashscope-sdk-java</artifactId>
    <version>2.12.0</version>
</dependency>

2. 代码示例

java

运行

import com.aliyun.dashscope.DashScope;
import com.aliyun.dashscope.exception.ApiException;
import com.aliyun.dashscope.exception.InputRequiredException;
import com.aliyun.dashscope.exception.NoApiKeyException;
import com.aliyun.dashscope.generation.Generation;
import com.aliyun.dashscope.generation.GenerationParam;
import com.aliyun.dashscope.generation.GenerationResult;
public class BailianApiDemo {
    public static void main(String[] args) {
        // 1. 从环境变量读取API-Key
        String apiKey = System.getenv("DASHSCOPE_API_KEY");
        DashScope.baseUrl("https://dashscope.aliyuncs.com/compatible-mode/v1");
        DashScope.apiKey(apiKey);
        try {
            // 2. 构建请求参数
            GenerationParam param = GenerationParam.builder()
                    .model("qwen-plus")
                    .messages(GenerationParam.Message.builder()
                            .role("user")
                            .content("用Java写1到100求和的方法")
                            .build())
                    .resultFormat(GenerationParam.ResultFormat.MESSAGE)
                    .build();
            // 3. 发起调用
            GenerationResult result = Generation.call(param);
            // 4. 处理结果
            if (result.getStatus() == GenerationResult.Status.SUCCESS) {
                System.out.println("模型回答:");
                System.out.println(result.getOutput().getChoices().get(0).getMessage().getContent());
            } else {
                System.out.println("调用失败:");
                System.out.println("错误信息:" + result.getMessage());
            }
        } catch (NoApiKeyException e) {
            System.out.println("错误:未找到API-Key,检查环境变量配置");
        } catch (InputRequiredException e) {
            System.out.println("错误:请求参数缺失(如模型名称或消息内容)");
        } catch (ApiException e) {
            System.out.println("错误:API调用失败,错误码:" + e.getCode());
            System.out.println("错误信息:" + e.getMessage());
        }
    }
}

3. 运行方式

  • Windows:IDE(如 IntelliJ IDEA)中设置环境变量(Run→Edit Configurations→Environment Variables),再点击 “Run”。
  • macOS/Linux:终端执行export DASHSCOPE_API_KEY=your-api-key后,用 Maven 命令mvn compile exec:java -Dexec.mainClass="BailianApiDemo"运行。

五、常见问题排查

实际操作中,调用失败多因细节疏忽,以下是高频问题及解决方案:

(一)API-Key 相关错误(401 Unauthorized)

  • 症状:提示 “API-Key 无效”。
  • 原因:密钥复制错误(多空格、少字符)、密钥已删除 / 过期,或环境变量配置错误导致代码读取不到。
  • 解决方案:终端验证环境变量是否正常输出;登录百炼 “密钥管理”,检查密钥是否 “正常”,若已删除则重新创建。

(二)模型名称错误(400 Bad Request)

  • 症状:提示 “模型不存在”。
  • 原因:模型名称拼写错误(如 “qwen-plus” 写成 “qwenplus”),或模型不在权限范围内(部分付费模型需单独开通)。
  • 解决方案:在百炼 “模型广场” 复制官方模型名称;查看模型详情页 “权限说明”,按提示开通权限。

(三)环境变量读取不到(api_key is None)

  • 症状:代码报错 “环境变量未定义”。
  • 原因:配置后未重启终端 / IDE,或配置命令有误(如 Windows 用 PowerShell 命令却在 CMD 运行)。
  • 解决方案:关闭所有终端和 IDE 重新打开;区分 Windows 不同命令行工具的配置方式,不混用。

(四)免费额度用完(403 Forbidden)

  • 症状:提示 “调用量超过免费额度”。
  • 原因:百炼免费额度有上限(如 100 万 Tokens),超额度后需充值。
  • 解决方案:登录百炼 “费用中心” 查看剩余额度;额度用完可按提示充值,或等待下个月额度重置(以平台规则为准)。

六、总结与后续建议

百炼 API 调用核心流程可总结为 “获取 API-Key→配置环境变量→编写代码调用”,看似步骤多,只要逐步验证,就能顺利完成。后续学习可尝试两点:一是测试不同模型(如用 “deepseek-r1” 测逻辑推理,用 “qwen-vl-plus” 测图文理解),熟悉模型特性;二是探索进阶功能(流式输出、自定义系统提示、结合 RAG 检索增强),让 API 调用更贴合业务需求。

最后提醒,调用时需注意用量控制,避免代码循环调用或测试时忘记限制次数导致超额计费。企业级应用建议在代码中加入用量监控逻辑,实时查看调用量,确保成本可控。更多关于阿里云百炼AI大模型平台的使用教程,请参考官方文档:https://help.aliyun.com/zh/model-studio/what-is-model-studio 图片.png

相关文章
|
1天前
|
存储 缓存 测试技术
8核8G云主机多少钱?2026年阿里云 8 核 8G 云服务器:价格、性能与适用场景解析
在云服务器选型中,8 核 8G 配置是典型的 “均衡型” 选择 —— 它既有足够的 CPU 核心应对多任务并行,又有适中的内存支撑常规业务负载,不像 4 核 4G 那样局限于轻量场景,也不似 16 核 32G 那般聚焦重度计算,因此广泛适配中小企业的业务系统、中型网站及开发测试环境。下面从价格构成、性能表现、适用场景及选购注意事项四方面,用通俗语言详细拆解,帮助判断是否符合需求。
|
1天前
|
存储 消息中间件 缓存
2 核16G云服务器多少钱?2026年阿里云 2 核 16G 云服务器:价格、性能与适用场景解析
在云服务器选型中,2 核 16G 配置是个特殊存在 —— 它不像 2 核 2G 那样主打基础入门,也不似 8 核 32G 那般聚焦重度计算,而是以 “低核高内存” 的特点,精准适配对内存需求更高的场景。很多用户关心其价格是否合理、性能能否满足需求,下面从价格构成、性能表现、适用场景及选购注意事项四方面,用通俗语言详细拆解,帮助大家把钱花在刀刃上。
|
22小时前
|
人工智能 弹性计算 图形学
阿里云无影 GPU 云电脑多少钱?2026年阿里云无影 GPU 云电脑(NVIDIA RTX 5880)收费标准与选型指南
阿里云无影 GPU 云电脑搭载 NVIDIA RTX 5880 专业显卡,凭借强劲算力成为 3D 建模、工业设计、AI 推理等高性能场景的优选。其核心优势在于无需本地部署硬件,通过云端即可获取专业级计算能力,同时费用灵活可控。以下从配置与计费逻辑、各规格收费标准、性价比分析及注意事项四方面,用通俗语言详细解析,帮助用户根据需求选择合适方案。
|
23小时前
|
存储 弹性计算 缓存
阿里云服务器怎么选择?2026年阿里云 ECS 实例选型新手指南
在选购阿里云 ECS 实例时,核心是结合业务场景、性能需求与成本预算,平衡 “计算 - 网络 - 存储” 三大资源,避免过度配置或性能瓶颈。无论是个人开发者的轻量应用,还是企业的生产级业务,都需先明确负载特征(如并发量、数据量、IO 需求),再匹配实例规格、CPU 内存配比、带宽与存储类型。下面从实例规格认知、核心资源选型逻辑、不同用户适配方案三方面,用通俗语言详解选型方法。
|
23小时前
|
网络协议 安全 数据建模
免费SSL 证书怎么申请?2026年阿里云 SSL 证书申请全流程(新手教程)
阿里云免费 SSL 证书申请核心是 “确认域名归属”,整个流程约半小时,关键在于仔细核对信息、正确添加解析记录。若仅用于测试或临时场景,免费证书足够;正式业务网站(尤其是涉及登录、支付),建议升级为有效期更长、功能更全的正式证书(如 DV、OV 证书)。定期检查证书到期时间,及时更新,才能持续保障网站数据传输安全。
|
10天前
|
监控 安全 Unix
iOS 崩溃排查不再靠猜!这份分层捕获指南请收好
从 Mach 内核异常到 NSException,从堆栈遍历到僵尸对象检测,阿里云 RUM iOS SDK 基于 KSCrash 构建了一套完整、异步安全、生产可用的崩溃捕获体系,让每一个线上崩溃都能被精准定位。
160 26
|
9天前
|
数据采集 人工智能 运维
AgentRun 实战:快速构建 AI 舆情实时分析专家
搭建“舆情分析专家”,函数计算 AgentRun 快速实现从数据采集到报告生成全自动化 Agent。
309 22