阿里云大模型服务平台(百炼)的API调用
阿里云大模型服务平台(百炼)的API调用
阿里云百炼是阿里云推出的一站式大模型应用开发平台。它的核心目标是降低大模型应用开发的门槛,提升开发效率,并保障应用的安全与可控,让企业和开发者能够更快速、更便捷地构建和部署基于大语言模型的智能应用。

阿里云百炼平台介绍
阿里云百炼平台的特点
1.强大的模型接入与管理:
- 集成主流模型: 深度集成阿里云自研的通义千问(Qwen)系列大模型(如Qwen-Max,Qwen-Plus,Qwen-Turbo),并支持接入国内外其他主流大模型(如DeepSeek,Llama,ChatGLM等)。
- 统一模型服务: 提供标准化的API接口,开发者无需关心底层模型部署细节,即可便捷调用不同模型的能力。
- 模型评估与选型: 提供工具帮助开发者评估不同模型在特定任务上的性能,辅助模型选型。
2.高效的应用开发工具链:
- 可视化编排: 提供低代码/无代码的可视化界面。允许开发者通过拖拽组件的方式,灵活编排Prompt提示词、调用插件工具、连接知识库、构建条件分支等,快速搭建复杂的应用逻辑。
- 提示词(Prompt)优化与调式: 内置强大的Prompt编辑、调试、版本管理和效果评估工具,帮助开发者持续优化提示词效果。
- 插件扩展能力: 支持开发者自定义插件(Plugin),或使用平台提供的官方/第三方插件(如代码解释器、网络搜索、数据库查询、函数计算调用等),极大地扩展了大模型的能力边界。
- 知识库增强(RAG):
- 支持快速创建和管理私有化的知识库(支持多种格式文档上传和解析)。
- 提供便捷的检索增强生成(RAG)能力,让大模型能够基于企业私有知识进行问答和内容生成,有效解决"幻觉"问题,提升信息准确性和专业性。
- 支持多文档切分策略、向量化模型选择、相关性过滤等高级配置。
- Agent框架: 提供构建智能体(Agent)的能力框架,支持定义Agent的目标、工具集、记忆机制等,实现更复制、自主的任务处理流程。
3.便捷的应用部署与管理:
- 一键发布: 将开发好的应用(如编排好的Prompt流程、Agent或接入知识库的问答系统)快速发布为API服务或Web应用。
- 灵活部署选项: 支持公有云API调用、专有云部署、甚至私有化部署(将模型和百炼平台能力部署到企业自有的数据中心),满足不同安全合规需求。
- 资源优化: 提供模型服务实例管理、资源监控与弹性伸缩能力,优化成本。
阿里云百炼平台的适用场景
- 智能问答与客服: 构建基于企业知识库的智能问答机器人、智能客服助手。
- 内容生成与创作: 自动生成营销文案、产品描述、报告摘要、邮件、代码注释等。
- 信息提取与总结: 从长文档、会议记录、网页中快速提取关键信息并生成摘要。
- 数据分析助手: 通过自然语言与数据库、BI工具交互、查询和分析数据。
- AI Agent开发: 构建能够自主完成多步骤复杂任务(如订票、信息收集、流程审批)的智能体。
- 模型评估与测试: 对不同大模型在特定业务场景下的表现进行评测。
阿里云百炼平台API调用大模型示例
调用大模型前提
由于调用大模型需要API Key,因此需要使用阿里云账号开通阿里云百炼并创建API-KEY。
- 注册阿里云账号: 如果没有需要注册阿里云账号。
- 开通阿里云百炼: 使用阿里云账号前往阿里云百炼控制台(https://bailian.console.aliyun.com/?tab=model#/model-market),开通阿里云百炼的模型服务。
- 获取API Key: 前往API-KEY页面(https://bailian.console.aliyun.com/?tab=model#/api-key),单击创建我的API-KEY,即可通过API KEY调用大模型。
阿里云百炼文档中的curl命令调用大模型(OpenAI兼容模式)示例
这里把OpenAI兼容模式作为示例,因为OpenAI使用OpenAI标准接口格式,而DashScope原生模式使用阿里云自研接口规范。因此追求开发效率和生态兼容性,更推荐使用OpenAI兼容模式。
发送API请求示例
curl -X POST https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-plus",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "你是谁?"
}
]
}'
大模型响应示例
{
"choices": [
{
"message": {
"role": "assistant",
"content": "我是来自阿里云的大规模语言模型,我叫通义千问。"
},
"finish_reason": "stop",
"index": 0,
"logprobs": null
}
],
"object": "chat.completion",
"usage": {
"prompt_tokens": 22,
"completion_tokens": 16,
"total_tokens": 38
},
"created": 1728353155,
"system_fingerprint": null,
"model": "qwen-plus",
"id": "chatcmpl-39799876-eda8-9527-9e14-2214d641cf9a"
}
使用java语言通过HTTP请求方式调用DeepSeek大模型(OpenAI兼容模式)示例
示例中选择模型名称为deepseek-r1-distill-llama-70b,因为这个限时免费,没有额度限制。本示例代码较为简便,仅验证java通过HTTP调用大模型的可行性,实际上有很多可用框架(如spring ai、LangChain4j)封装后的API可以直接调用。

引用依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>3.5.2</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.38</version>
</dependency>
大模型请求体封装Vo类
/**
* 提问大模型的信息vo类
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ModelMessageVo {
/**
* 角色
*/
private String role;
/**
* 问题
*/
private String content;
}
/**
* 请求大模型的请求体
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ModelRequestVo {
/**
* 请求的模型名称
*/
private String model;
/**
* 提问大模型的信息vo类集合
*/
private List<ModelMessageVo> messages;
}
调用大模型测试类
/**
* 调用大模型测试类
*/
@Slf4j
public class CallLLMTest {
private static final ObjectMapper mapper = new ObjectMapper();
/**
* 调用阿里云百炼平台的URL
*/
private static final String LLM_URL = "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions";
/**
* API-KEY
*/
private static final String DASHSCOPE_API_KEY = "Bearer sk-91d4c34904414352b9dfe21115b1781c";
private static final String CONTENT_TYPT = "application/json";
public static void main(String[] args) {
//1.创建HTTP客户端
HttpResponse<String> response = null;
try (HttpClient client = HttpClient.newBuilder()
.version(HttpClient.Version.HTTP_2)
.connectTimeout(Duration.ofSeconds(120))
.build()) {
//2.构建大模型请求体
//设置角色和问题
ModelMessageVo messageVo = new ModelMessageVo("user", "0.1+0.2等于多少");
List<ModelMessageVo> messageVoList = new ArrayList<>(1 << 2);
messageVoList.add(messageVo);
ModelRequestVo requestVo = new ModelRequestVo("deepseek-r1-distill-llama-70b", messageVoList);
String requestVoJsonStr = mapper.writeValueAsString(requestVo);
//3.创建HttpRequest
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(LLM_URL))
.header("Authorization", DASHSCOPE_API_KEY)
.header("Content-Type", CONTENT_TYPT)
.POST(HttpRequest.BodyPublishers.ofString(requestVoJsonStr))
.timeout(Duration.ofSeconds(120))
.build();
//4.发送请求并接收响应
response = client.send(request, HttpResponse.BodyHandlers.ofString());
} catch (IOException | InterruptedException e) {
log.error("[大模型调用] 调用异常:", e);
Thread.currentThread().interrupt();
}
if (response != null && response.body() != null) {
log.info("[大模型调用] 调用成功结果: {}", response.body());
} else {
log.warn("[大模型调用] 调用异常: 请求体为空");
}
}
}

浙公网安备 33010602011771号