【大模型】SpringBoot 整合Spring AI 对接主流大模型平台实战详解

目录

一、前言

二、Spring AI 对接硅基流动

2.1 硅基流动平台介绍

2.1.1 平台是做什么的

2.1.2 适用场景

2.2 获取apikey

2.3 Spring AI对接硅基流动完整过程

2.3.1 导入核心依赖

2.3.2 添加配置文件

2.4 基本组件能力使用

2.4.1 对话能力使用

2.4.2 流式对话

2.4.3 Function Calling

三、Spring AI 对接阿里云百炼平台

3.1 阿里云百炼平台介绍

3.1.1 平台主要功能

3.1.2 应用场景

3.2 获取apikey

3.3 整合SpringBoot 完整过程

3.3.1 导入核心依赖

3.3.2 添加配置文件

3.4 基本对话能力使用

3.4.1 提供测试接口

3.5 Function Calling 能力使用

3.5.1 Function Calling 是什么

3.5.2 创建自定义的FunctionTools

3.5.3 添加测试接口

3.5.4 效果测试

四、写在文末


一、前言

随着Spring AI 加入对大模型的支持,对于Java生态来说,对大模型项目的应用开发也变得简单,借助于spring框架自身的优势,开发者无需太多关注技术框架层面的细节,只需简单了解和学习其技术组件,掌握基本的用法即可,与此同时,Spring AI更多像是扮演了一个通用的接入规则制定者,基于这套规则即可以快速联通各个AI大模型,本篇将详细介绍下基于Spring AI框架,如何快速对接目前主流的大模型平台。

二、Spring AI 对接硅基流动

### Spring Boot 整合 AI 技术方案 #### 配置依赖 为了使Spring Boot能够与AI技术进行整合,首先需要引入必要的依赖库。对于不同的AI服务提供商,具体的依赖会有所不同。 针对OpenAI的集成,在`pom.xml`中加入如下依赖[^1]: ```xml <dependency> <groupId>com.spring.ai</groupId> <artifactId>spring-ai-openai-starter</artifactId> <version>${latest.version}</version> </dependency> ``` 而对于智谱AI,则应添加相应的starter包[^4]: ```xml <dependency> <groupId>com.zhipuai</groupId> <artifactId>zhipu-spring-boot-starter</artifactId> <version>${specific.version}</version> </dependency> ``` #### 应用属性配置 接着是在项目的application.properties或application.yml文件里定义API密钥及其他连接参数。这里给出两个例子: 对于OpenAI接口,可以在yaml格式下这样写[^3]: ```yaml spring: ai: openai: api-key: your_openai_api_key_here base-url: https://api.openai.com/v1/ ``` 而针对智谱AI的服务端点和认证信息则可按此形式指定: ```yaml ai: apiKey: zhipu_ai_api_key_value ``` #### 编写业务逻辑代码 完成上述准备工作之后,便可以通过编写Java类来调用这些第三方平台所提供的功能了。下面是一个简单的示例,展示了如何创建一个REST控制器用于触发向量检索请求并返回结果给前端用户。 ```java @RestController @RequestMapping("/chat") public class ChatController { @Autowired private ClientV4 client; @PostMapping("/query") public ResponseEntity<String> query(@RequestBody String message){ try { final Response response = client.getCompletions().create(message); return new ResponseEntity<>(response.choices().get(0).text(), HttpStatus.OK); } catch (Exception e) { logger.error(e.getMessage()); return new ResponseEntity<>("Error occurred", HttpStatus.INTERNAL_SERVER_ERROR); } } } ``` 通过这种方式,不仅可以轻松地把强大的自然语言处理能力融入到现有的Web应用程序之中,还能够让开发者专注于核心应用场景的设计而不必担心底层通信细节。
评论 62
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小码农叔叔

谢谢鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值