Skip to main content

OpenAi 兼容模型

在本章节中,我们将学习如何使用 Spring AI Alibaba 接入类 OpenAI API 系列模型,只要您使用的模型兼容 OpenAi 通信协议,都可以使用本文描述的方法进行介入。

OpenAi API 系列模型接入

OpenAi API 兼容模型指的是提供了 OpenAI API 兼容的一系列大模型,例如 DashScope 服务平台模型、DeepSeek 等均提供 OpenAi 兼容的 API 和接入方式。

在项目中引入依赖

需要在项目中接入具有 OpenAI API 规范的大模型时,只需要引入 spring-ai-openai-spring-boot-starter 即可。下面以 DeepSeek 为例演示如何进入具有类 OpenAI API 系列模型的接入。

引入 spring-ai-starter-model-openai

<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-starter-model-openai</artifactId>
</dependency>

配置 application.yml

spring:
application:
name: spring-ai-alibaba-openai-compatible-chat-model-example

ai:
openai:
api-key: ${OPENAI_API_KEY}
base-url: ${OPENAI_BASE_URL}
chat:
options:
model: ${MODEL_NAME}

请注意,根据使用的模型服务平台不同,您需要为 OPENAI_API_KEYOPENAI_BASE_URLmodel 指定为对应平台的值。

使用 DashScope 平台

如果您使用的,则需要根据 阿里云 DashScope 平台 相关参数进行配置,示例如下:

export OPENAI_API_KEY=your-api-key-get-from-dashscope
export OPENAI_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode
export MODEL_NAME=qwen-max

使用 DeepSeek 平台

如果您使用的,则需要根据 DeepSeek 平台 相关参数进行配置,示例如下:

export OPENAI_API_KEY=your-api-key-get-from-deepseek
export OPENAI_BASE_URL=https://api.deepseek.com
export MODEL_NAME=deepseek-chat

声明 ChatModel

不论您使用的是 DeepSeek、DashScope 或其他任何平台提供的 OpenAi 兼容 API 接入模式,接下来都可以直接使用 ChatModel 实例,ChatModel 实例后台将自动基于 OpenAI 协议工作。

private final ChatModel deepSeekChatModel;

public DeepSeekChatModelController (ChatModel chatModel) {
this.deepSeekChatModel = chatModel;
}
  1. 编写 Controller 控制器

直接使用 ChatModel 或者配合 Spring AI Alibaba 中的 Agent 及 Graph Workflow 使用都可以。

@GetMapping("/simple/chat")
public String simpleChat () {

return deepSeekChatModel.call(new Prompt(prompt)).getResult().getOutput().getContent();
}

Spring AI Alibaba 开源项目基于 Spring AI 构建,是阿里云通义系列模型及服务在 Java AI 应用开发领域的最佳实践,提供高层次的 AI API 抽象与云原生基础设施集成方案,帮助开发者快速构建 AI 应用。