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();  
}
相关推荐
2201_7578308720 小时前
AOP入门程序
java·开发语言
雨中飘荡的记忆20 小时前
MyBatis反射模块详解
java·mybatis
宸津-代码粉碎机20 小时前
Spring 6.0+Boot 3.0实战避坑全指南:5大类高频问题与解决方案(附代码示例)
java·数据仓库·hive·hadoop·python·技术文档编写
笃行客从不躺平20 小时前
ThreadLocal 复习一
java·开发语言
程序帝国20 小时前
SpringBoot整合RediSearch(完整,详细,连接池版本)
java·spring boot·redis·后端·redisearch
安卓程序员_谢伟光20 小时前
如何监听System.exit(0)的调用栈
java·服务器·前端
Pluto_CSND20 小时前
JSONPath解析JSON数据结构
java·数据结构·json
xiaoliuliu1234520 小时前
Tomcat Connectors 1.2.32 源码编译安装教程(含 mod_jk 配置步骤)
java·tomcat
CYTElena20 小时前
JAVA关于集合的笔记
java·开发语言·笔记
源码获取_wx:Fegn089520 小时前
基于springboot + vueOA工程项目管理系统
java·vue.js·spring boot·后端·spring