spring boot集成spring ai调用deepseek

在spring ai的官方文档中,没有可以直接调用国内大模型的使用文档。自己在集成的过程中遇上了一些问题,记录一下。


一、架构前提条件

复制代码
Spring AI 支持 Spring Boot 3.4.x 版本。

Spring Boot 3.4.x 版本需要使用java 17及以上版本

二、依赖注入

1、spring AI 支持好多大模型,但是国内的这些我没找到对应的依赖,意外得知可以使用openai的依赖

xml 复制代码
<dependency>  
    <groupId>org.springframework.ai</groupId>  
    <artifactId>spring-ai-starter-model-openai</artifactId>  
</dependency>

2、Spring AI 物料清单(BOM)声明了指定版本所有依赖的推荐版本。此为纯 BOM 版本,仅包含依赖管理,不涉及插件声明或 Spring/Spring Boot 的直接引用。你可使用 Spring Boot Parent POM 或 Spring Boot 的 BOM(spring-boot-dependencies)来管理 Spring Boot 版本。

添加 BOM 到项目:

xml 复制代码
<dependencyManagement>  
    <dependencies>  
        <dependency>  
            <groupId>org.springframework.ai</groupId>  
            <artifactId>spring-ai-bom</artifactId>  
            <version>${spring-ai.version}</version>  
            <type>pom</type>  
            <scope>import</scope> <!-- BOM必须用import scope -->  
        </dependency>  
    </dependencies>  
</dependencyManagement>

三、开启大模型

在大模型网站上选好喜欢的大模型,一定要记得开启

1、这里以豆包为例

2、点击选好的模型,即可得到模型名称,一定要点进去获取,可以点击的蓝字并不是模型的id

3、点进去就可以看到模型id

4、点击接入文档

4.1 这个就是在下文说到的url

4.2 Api Key

四、添加配置文件

其中base-url和completions-path拼成完整的可以调用的url

ini 复制代码
# 大模型核心配置  
spring.ai.openai.api-key=你的aip-key 
spring.ai.openai.base-url=https://ark.cn-beijing.volces.com  
  
# 大模型参数配置  
spring.ai.openai.chat.options.model=你的模型
spring.ai.openai.chat.completions-path=/api/v3/chat/completions

五、然后就可以调用了,很方便

scss 复制代码
// 注入统一的 ChatClientprivate final ChatClient chatClient;  
  
public DouBaoChatController(ChatClient.Builder chatClientBuilder) {  
    this.chatClient = chatClientBuilder.build();  
}  
  
@GetMapping("/ai")  
String generation(String userInput) {  
    return this.chatClient.prompt()  
            .user(userInput)  
            .call()  
            .content();  
}
相关推荐
Predestination王瀞潞10 小时前
Java EE开发技术 (报错解决 兼容问题 及 Jakara EE Web 官方手册提供的API接口聚合包)
java·java-ee·jstl·jakara背景
断剑zou天涯10 小时前
【算法笔记】Manacher算法
java·笔记·算法
梦未11 小时前
Spring控制反转与依赖注入
java·后端·spring
喜欢流萤吖~11 小时前
Lambda 表达式
java
ZouZou老师11 小时前
C++设计模式之适配器模式:以家具生产为例
java·设计模式·适配器模式
曼巴UE511 小时前
UE5 C++ 动态多播
java·开发语言
VX:Fegn089511 小时前
计算机毕业设计|基于springboot + vue音乐管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·课程设计
程序员鱼皮11 小时前
刚刚,IDEA 免费版发布!终于不用破解了
java·程序员·jetbrains
Hui Baby12 小时前
Nacos容灾俩种方案对比
java