基于Spring Ai 快速创建一个AI会话
HGW689 2024-10-23 16:01:01 阅读 64
文章目录
1、创建SpringBoot项目2、引入依赖3、修改配置文件4、一个简单的会话
前期准备
在OpenAI 注册页面创建帐户并在API 密钥页面生成令牌。 Spring AI 项目定义了一个配置属性,您应该将其设置为从 openai.com 获取的<code>spring.ai.openai.api-key值
代码托管于giteeSpringAi文档SpringAi仓库OpenAi文档
1、创建SpringBoot项目
注意,SpringAi要求JDK17~
2、引入依赖
首先,添加仓库配置
<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));
}
}
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。