目录
📚 前言
📑Spring AI简介
💬 项目配置
📚 系统功能的具体实现
💬 编写Controller控件
📚 前言
📑博客主页:@丘比特惩罚陆
💖欢迎关注:点赞收藏⭐留言✒
💬系列专栏:Java 后端
🎮 加入社区: 丘比特惩罚陆
🥇人生格言:选对方向,每走一步都是进步!
✒️欢迎大佬指正,一起学习!一起加油!👏 希望大家能小手一动,帮忙点个赞!
📑Spring AI简介
什么是Spring AI呢,Spring AI并不是一个标准术语或现有的技术框架。"Spring"通常指的是Spring Framework,这是一个广泛使用的Java开发框架,专为构建企业级应用程序提供轻量级的依赖注入和管理工具。然而,说到Spring和AI的结合,可能是指Spring Boot与人工智能技术的集成,比如使用Spring for Machine Learning (S4ML)或Spring Cloud Stream与AI微服务相结合。
在实际中,开发者可能会用Spring Boot作为基础,构建包含机器学习模型、自然语言处理(NLP)或者其他AI组件的应用。但这并不是Spring官方项目的一部分,而是开发者利用Spring生态进行扩展和集成AI功能的例子。
简单而言,Spring AI 是AI工程师所使用的一种应用性框架,通过提供出来的API和API key来进行开发应用,所用在于使用AI应用来简化开发工序流程。
本文使用的是免费的API key进行文章的叙述(免费的API有生成限制,每天生成内容为100条为限制,使用的是ChatGPT 3.5免费非商用的API key进行讲解讲述,付费的自行获取,该文章只用于讲解Springboot项目如何使用SpringAI。)
📑 准备工作
家政服务管理平台的主要功能的结构:
- 一个OpenAI的key秘钥;
- 一个可以使用的OpenAi的API地址;
- 一个java Springboot的jdk (本项目使用的为17版本);
- 一个开发软件 IDEA(本项目使用的是2023年的IDEA);
一般OpenAI 的key 秘钥和API地址都是要准备好的,很多人都是卡在这一步,所以我给大家提供了一个可以使用免费共享的API key,地址如下:
GitCode - 全球开发者的开源社区,开源代码托管平台
首先先是按部就班的先是设置好自己的登录信息:
进来之后就可以看到这个界面:
提供了GPT4在内的免费的可以申请的Key,还有其他的付费的五个模型,包括GPT4o,这里就不一一赘述;
📑项目搭建
第一步,我们先试用IDEA 大家一个Springboot项目,一定要使用JDK17的,其他版本的经过测试会出现版本报错的错误;建议大家还是使用17版本以上的JDK;
第二步:选择初始的依赖项
第三部:配置pom.xml的依赖;
<repositories><repository><id>spring-snapshots</id><name>Spring Snapshots</name><url>https://repo.spring.io/snapshot</url><releases><enabled>false</enabled></releases></repository></repositories>
<dependency><groupId>org.springframework.experimental.ai</groupId><artifactId>spring-ai-openai-spring-boot-starter</artifactId><version>0.7.0-SNAPSHOT</version></dependency>
完整的配置地方如下:
然后刷新Maven按照,将依赖包下载下来;
💬 项目配置
打开我们的application配置,一般是新建的项目生成的是properties,我这边生成的也是properties,所以配置如下:
spring.application.name=lss-springAiserver.address=0.0.0.0
server.port=8889
server.error.whitelabel.enabled=falsespring.ai.openai.api-key= sk-KjOdJswQ2PrvrcsUGbNpcliB7FWVznupYap2X1tfGfSW0lqH
spring.ai.openai.base-url=https://api.chatanywhere.com.cn
其中的 spring.ai.openai.api-key:获取就是我们之前说的地址:点击:“申请内测免费Key”,进来就是一个这样的界面:
spring.ai.openai.base-url:就是在这个网址的下面,我们选择一个免费的国内中转就行;
📚 系统功能的具体实现
💬 编写Controller控件
先是第一步先是新建一个controller层,然后新建一个自己可以命名的SpringAIController,如下:
源码内容如下:
package com.lushengshi.lssspringai.controller;import org.springframework.ai.client.AiClient;
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;@RestController
@RequestMapping("/api/lss")
public class SpringAiController {private final AiClient aiClient;public SpringAiController(AiClient aiClient) {this.aiClient = aiClient;}@GetMapping("/chat")public String chat(@RequestParam(value = "input",defaultValue = "Hello") String message){return aiClient.generate(message);}}
接着我们在启动类当中进行一下配置,因为我们使用的是免费的key和API地址,所以我们启动的时候需要配置一下端口和代理:
代码如下:
package com.lushengshi.lssspringai;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class LssSpringAiApplication {public static void main(String[] args) {System.setProperty("https://api.chatanywhere.tech","127.0.0.1");System.setProperty("http.proxyPort","8889");System.setProperty("https://api.chatanywhere.tech","127.0.0.1");System.setProperty("https.proxyPort","8889");SpringApplication.run(LssSpringAiApplication.class, args);}}
这就配置完成了,然后我们就启动项目,然后到浏览器;输入地址:localhost:8889/api/lss/chat?input=xxxx,我测试成功了,然后因为在配置的时候我配置了跨域,所以在另一台计算机上,我使用服务器的地址来测试接口:
也是可以的。好了,今天的文章就到此为止,大家有什么疑问可评论区进行讨论!再此感谢PG Thinker 这位博主的提供的思路!