前置技术:学习这门技术,你得学习过spring
教学视频:【SpringAI接入大模型,springai入门到精通视频教程,chatgpt,Java接入人工智能大模型,OpenWebUI,Lobe Chat,一套视频搞定】070 AI大模型的选择_哔哩哔哩_bilibili
介绍
Ø官网:Spring | Home
ØSpringAI是一个AI工程领域的应用程序框架;
Ø它的目标是将Spring生态系统的设计原则应用于人工智能领域,比如Spring生态系统的可移植性和模块化设计,并推广使用POJO来构建人工智能领域应用程序;
ØSpringAI并不是要构建一个自己的AI大模型,而是让你对接各种AI大模型;
使用spring ai来接入chatgpt4
购买key
淘宝上面搜OpenAI的API Key,然后购买就行。
不需要买多贵,买个10块钱的测试玩就好。
购买后,客服会给你如下东西
发货信息
中转的key,请按照下方的地址修改接口地址,然后进行使用,不然会提示错误,若遇到问题,可以按照教程去操作
接口在这里↓
请求地址: https://api.xiaoai.plus
请求地址: https://api.xiaoai.plus/v1(我们请求路径用这个,和上面那个效果都一样,这两个是后端用的)
路由请求: https://api.xiaoai.plus/v1/chat/completions(前端用的)
key:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx(这个我得隐藏,你自己买后自己会有的)
构建springboot项目
Ø1、建项目:创建一个SpringBoot项目;
Ø2、加依赖:
将application.properties改成application.yml
在改名后的application.yml写配置文件
写代码完成chatgpt功能(功能很多,我这里就举例对话和生成图片)
如何实现对话
代码:
import jakarta.annotation.Resource;
import org.springframework.ai.openai.OpenAiChatClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class chatcoll {
@Resource
private OpenAiChatClient openAiChatClient;//注入
@RequestMapping(value = "/ai/chat")
public String chat(@RequestParam(value = "msq") String msq){//msq为我们要问的问题字符串
String called= openAiChatClient.call(msq);
return called;
}
}
访问:
在浏览器访问你yml设置的路径,如果yml没有设置默认8080
我这里设置了是8071
这里臭美一下((๑><๑)),我写的代码很简陋了,实际这个chatgpt接口提供的方法参数不止一个string还可以是对象之类的,返回的是流,也可以是json。
如何实现画图
import jakarta.annotation.Resource;
import org.springframework.ai.image.ImagePrompt;
import org.springframework.ai.image.ImageResponse;
import org.springframework.ai.openai.OpenAiImageClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class imagecoll {
@Resource
private OpenAiImageClient openAiImageClient;
@RequestMapping(value = "/ai/image")
public Object image(@RequestParam(value = "msg") String msg){
ImageResponse call = openAiImageClient.call(new ImagePrompt(msg));
System.out.println(call);
return call.getResult().getOutput();
}
}
版权归原作者 Blue的成长日记 所有, 如有侵权,请联系我们删除。