文章目录
- 1、创建SpringBoot项目
- 2、引入依赖
- 3、修改配置文件
- 4、一个简单的会话
前期准备
在OpenAI 注册页面创建帐户并在API 密钥页面生成令牌。 Spring AI 项目定义了一个配置属性,您应该将其设置为从 openai.com 获取的spring.ai.openai.api-key
值
- 代码托管于gitee
- SpringAi文档
- SpringAi仓库
- OpenAi文档
1、创建SpringBoot项目
注意,SpringAi要求JDK17~
2、引入依赖
首先,添加仓库配置
<repositories><repository><id>spring-milestones</id><name>Spring Milestones</name><url>https://repo.spring.io/milestone</url><snapshots><enabled>false</enabled></snapshots></repository><repository><id>spring-snapshots</id><name>Spring Snapshots</name><url>https://repo.spring.io/snapshot</url><releases><enabled>false</enabled></releases></repository>
</repositories>
其次,集中管理依赖版本
<dependencyManagement><dependencies><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-bom</artifactId><version>0.8.1-SNAPSHOT</version><type>pom</type><scope>import</scope></dependency></dependencies>
</dependencyManagement>
引入需要的依赖项
<dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-openai-spring-boot-starter</artifactId>
</dependency>
3、修改配置文件
在OpenAI 注册页面创建帐户并在API 密钥页面生成令牌。这里小编是开了灰机,大家可以通过国内的三方,比如:https://api.mnzdna.xyz
spring:ai:openai:# Api密钥api-key: sk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX# 要连接的URLbase-url: https://api.openai.com
4、一个简单的会话
实现一个简单的对话~
package com.gw.ai.easyai.controller;import org.springframework.ai.openai.OpenAiChatClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;import java.util.Map;/*** Description: 聊天** @author LinHuiBa-YanAn* @date 2024/5/7 20:58*/
@RestController
@RequestMapping("/api/v1/chat")
public class ChatController {private final OpenAiChatClient chatClient;@Autowiredpublic ChatController(OpenAiChatClient chatClient) {this.chatClient = chatClient;}@GetMapping("/single")public Map<String, String> generate(@RequestParam(value = "message", defaultValue = "给我打个招呼") String message) {return Map.of("generation", chatClient.call(message));}
}