文章目录
- 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
# 要连接的URL
base-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;
@Autowired
public 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));
}
}