Java 集成 DashScope SDK 调用通义千问与 DeepSeek
在国内大模型生态中,阿里云百炼平台(DashScope)提供了稳定的 API 服务。通过 Java SDK,我们可以便捷地接入通义千问、DeepSeek 等主流模型。本文将跳过繁琐的账号注册流程,直接聚焦于代码层面的集成与调试。
1. Java 调用通义千问
通义千问支持多模态理解与分析。在项目中引入 DashScope SDK 后,即可通过 Generation 类发起请求。
1.1 环境准备
首先确保 Maven 依赖已配置。注意 SDK 版本建议不低于 2.12.0,以获取最新特性:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dashscope-sdk-java</artifactId>
<version>2.9.0</version>
</dependency>
1.2 基础调用示例
初始化时,建议将 API Key 配置在环境变量 DASHSCOPE_API_KEY 中,避免硬编码泄露风险。若未配置环境变量,可直接传入 Key 字符串。
import java.util.Arrays;
import com.alibaba.dashscope.aigc.generation.Generation;
import com.alibaba.dashscope.aigc.generation.GenerationParam;
import com.alibaba.dashscope.aigc.generation.GenerationResult;
import com.alibaba.dashscope.common.Message;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.utils.JsonUtils;
public class Main {
public static GenerationResult callWithMessage() ApiException, NoApiKeyException, InputRequiredException {
();
Message.builder()
.role(Role.SYSTEM.getValue())
.content()
.build();
Message.builder()
.role(Role.USER.getValue())
.content()
.build();
GenerationParam.builder()
.apiKey(System.getenv())
.model()
.messages(Arrays.asList(systemMsg, userMsg))
.resultFormat(GenerationParam.ResultFormat.MESSAGE)
.build();
gen.call(param);
}
{
{
callWithMessage();
System.out.println(JsonUtils.toJson(result));
} (ApiException | NoApiKeyException | InputRequiredException e) {
System.err.println( + e.getMessage());
}
}
}


