基于Spring Ai 快速创建一个AI会话

2024-05-08 12:20
文章标签 ai spring 会话 创建 快速 java

本文主要是介绍基于Spring Ai 快速创建一个AI会话,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 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));}
}

在这里插入图片描述
在这里插入图片描述

这篇关于基于Spring Ai 快速创建一个AI会话的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/970299

相关文章

测试服务搭建之centos7下安装java

一 安装Java 1 创建普通用户 useradd userNameTest passwd userNameTest 提示输入密码:【输入wujian的密码】 user:userNameTest group:root passwd:123456789   2 给“userNameTest”分配root权限 vi /etc/sudoers 在文件中找到 # %wheel ALL=(

selenium +java 多个类公用driver问题

问题点:太久没有写selenium代码,居然把driver公用的问题忘记了,即:每写一个测试类,执行过程中都会新建一个窗口,这样应该说是非常不专业的。 大概想了一个方法,虽然看起来也不怎么专业,但感觉能用就很开心了。 解决步骤:                1 创建一个获取获取driver的方法getDriver()                2 创建成员变量,将 getDriver()赋值

IDEA +maven git tomcat database数据库 调试 插件 log4j Spring junit

前言 idea优化配置、常规配置、配置maven、git、tomcat、database数据库、调试配置、插件配置、log4j配置、Spring配置等等,稍后一一更新! 优化配置(#item1 “item1”) 打开文件 :“idea – > bin – >idea64.exe.vmoptions” -Xms: 初始内存;-Xmx : 最大内存;-ReservedCodeCache

4-Springboot集成FLOWABLE之流程驳回

目录标题 演示地址效果功能后端代码补充 演示地址 效果 功能 默认驳回到上一节点 后端代码 flowable自带驳回功能, 在源码ProcessInstanceResource.class下已有该功能,不需要自己额外去写 @ApiOperation(value = "Change the state a process instance", tags = { "Pr

bimface 模型集成-后端(java)上传、发起转换、获取转换状态

目录 前言后端架构流程存储表结构全局工具类先根据appid, appsecret 生成accesstoken, 保存到自己的存储服务器。利用保存的 accesstoken 上传模型发起转换获取转换状态根据bimface文件ID获取模型viewtoken, 获取到viewtoken就可以利用前端浏览模型或图纸了 前言 之前没有注意官方有个sdk,然后自己就实现了这么个逻辑。建议

JavaScript的变量申明提前

变量提升 JavaScript的函数定义有个特点,它会先扫描整个函数体的语句,把所有申明的变量“提升”到函数顶部: 只是将变量的申明提前,而不提前变量的值和函数的值 'use strict';function foo() {var x = 'Hello, ' + y;alert(x);var y = 'Bob';}foo(); 虽然是strict模式,但语句var x = 'Hell

2、swift学习-创建基本的控件

与OC想比较而已,其实用swift创建一些基本控件的方法都是一样的,一些基本的属性都是大同小异,只是语法稍稍不同而已,对于刚刚由OC开始学习swift的可能有点不太习惯,但是没关系,多写多练自然而然就会顺手的。 一、用swift创建一个UILabel func createLabel() {         let label = UILabel (frame: CGRect

Java ArryList

ArrayList简介 ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: 1、动态的增加和减少元素; 2、实现了ICollection和IList接口 ; 3、灵活的设置数组的大小; ArrayList的基本用法 1、创建一个动态数组,并赋值 //创建一个动态数组ArrayList list = new ArrayL

Swift 常用控件的创建 2022年11月更新

Swift 常用控件的创建 一、基础控件 1.1 UILabel let label:UILabel = UILabel.init(frame: CGRect(x: 100, y: 100, width: 100, height: 20))label.text = "测试字符串"label.textColor = UIColor.redlabel.font = UIFont.syste

SpringBoot 学习六:数据库的增删改查

1、新建一个Girl类,添加如下代码: package controlle;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;@Entitypublic class Girl {@Id@GeneratedValueprivate Integer