SpringAI快速上手

news/2024/10/17 19:13:42/

 一、导入依赖

 镜像(导入maven依赖)

 <repositories><repository><id>spring-snapshots</id><name>Spring Snapshots</name><url>https://repo.spring.io/snapshot</url><releases><enabled>false</enabled></releases></repository></repositories>

 依赖(导入maven依赖)

<!-- SpringAI -->
<dependency><groupId>org.springframework.experimental.ai</groupId><artifactId>spring-ai-openai-spring-boot-starter</artifactId><version>0.7.1-SNAPSHOT</version>
</dependency>
​
<!-- 测试依赖 -->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope>
</dependency>

二、申请AI免费的 Key

前提:有一个自己的 github账号

Key申请位置:GitCode - 全球开发者的开源社区,开源代码托管平台

一直往下翻,找到申请领取Key,如:

 或者点击链接: 申请领取内测免费API Key

三、配置ai-key与base-url

将 api-key 的位置替换成自己申请的 key

javascript">spring:ai:openai:api-key: 	#	替换成自己申请的keybase-url: https://api.chatanywhere.tech

四、快速上手AI

测试类中通过 AiClient 调用,如:

java">import org.junit.jupiter.api.Test;
import org.springframework.ai.client.AiClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;@SpringBootTest
class SpringaiApplicationTests {@Autowiredprivate  AiClient aiClient;@Testvoid testAiClient() {//	问题String ask = "庆余年是什么电视剧";//	回答String answer = aiClient.generate(ask);//	输出打印System.out.println(answer);}
}

显示效果:


http://www.ppmy.cn/news/1539781.html

相关文章

【网易云音乐】--源代码分享

最近写了一个网易云音乐的音乐实现部分&#xff0c;是通过JavaScript和jQuery实现的&#xff0c;具体效果大家可以参照下面的视频 源代码分享 - git地址: 网易云音乐源代码 下面将着重讲解一下音乐实现部分 视频有点模糊&#xff0c;不好意思&#xff0c;在b站上添加视频的时候…

应急实战(10):Linux后门帐号

目录 1. Prepare 1.1 部署安全设备 2. Detect 2.1 设备产生告警 3. Contain 4. Eradicate 4.1 删除后门帐号 4.2 加固弱口令帐号 5. Recover 5.1 恢复帐号登录 6. Follow-Up 6.1 修改登录端口 6.2 开启命令记录 1. Prepare 1.1 部署安全设备 部署主机安全产品&#xff1a;牧云H…

AsyncTask的工作原理和缺陷

AsyncTask的工作原理及其缺陷 AsyncTask是Android平台提供的一个轻量级的异步任务类&#xff0c;它允许开发者在后台线程中执行耗时操作&#xff0c;并在操作完成后将结果回调到主线程以更新UI。AsyncTask内部封装了线程池和Handler机制&#xff0c;简化了多线程编程的复杂性。…

第十六章 RabbitMQ延迟消息之延迟插件优化

目录 一、引言 二、优化方案 三、核心代码实现 3.1. 生产者代码 3.2. 消息处理器 3.3. 自定义多延迟消息封装类 3.4. 订单实体类 3.5. 消费者代码 四、运行效果 一、引言 上一章节我们提到&#xff0c;直接使用延迟插件&#xff0c;创建一个延迟指定时间的消息&…

【优选算法】(第三十七篇)

目录 在每个树⾏中找最⼤值&#xff08;medium&#xff09; 题目解析 讲解算法原理 编写代码 最后⼀块⽯头的重量&#xff08;easy&#xff09; 题目解析 讲解算法原理 编写代码 在每个树⾏中找最⼤值&#xff08;medium&#xff09; 题目解析 1.题目链接&#xff1a;…

leetcode 刷题day44动态规划Part13( 647. 回文子串、516.最长回文子序列)

647. 回文子串 动规五部曲&#xff1a; 1、确定dp数组&#xff08;dp table&#xff09;以及下标的含义 按照之前做题的惯性&#xff0c;定义dp数组的时候很自然就会想题目求什么&#xff0c;就如何定义dp数组。但是对于本题来说&#xff0c;这样定义很难得到递推关系&#x…

【原创】java+springboot+mysql智能农村管理系统设计与实现

个人主页&#xff1a;程序猿小小杨 个人简介&#xff1a;从事开发多年&#xff0c;Java、Php、Python、前端开发均有涉猎 博客内容&#xff1a;Java项目实战、项目演示、技术分享 文末有作者名片&#xff0c;希望和大家一起共同进步&#xff0c;你只管努力&#xff0c;剩下的交…

利用sessionStorage收集用户访问信息,然后传递给后端

这里只是简单的收集用户的停留时间、页面加载时间、当前页面URL及来源页面&#xff0c;以做示例 <html><head><meta http-equiv"content-type" content"text/html; charsetUTF-8"/><title>测试sessionStorage存储用户访问信息<…