Spring AI初学
2024-05-28 08:45:08 作者:佚名 Spring AI官方地址
“Spring不生产AI,只是AI工具的搬运工”
项目可以查看gitee
Open AI
前期准备
Open AI官方地址,需要使用魔法才能打开,同时购买很麻烦,建议淘宝进行购买,只需要购买open ai的apikey即可。
apikey形如sk-xxxxxxxxxxxxxxxxx
项目创建
Idea创建SpringBoot Maven项目(基于1.0-SNAPSHOT版本,SpringBoot 3.2.6),依赖选择Spring Web、OpenAI。其他可以自行选择
修改项目仓库地址,中央仓库暂时还没Spring AI相关jar包。仓库地址改成快照仓库地址,官方说明
<repository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<releases>
<enabled>false</enabled>
</releases>
</repository>
项目中找到pom.xml文件,将
<spring-ai.version>0.8.1</spring-ai.version>
改为
<spring-ai.version>1.0.0-SNAPSHOT</spring-ai.version>
yaml配置文件中添加,openai更多配置可以查看org.springframework.ai.autoconfigure.openai.OpenAiAutoConfiguration。
spring:
ai:
openai:
#购买的api-key
api-key: sk-xxxx
#如果是官方地址,则可以不填,默认为https://api.openai.com
base-url:
聊天
基础使用
主要类org.springframework.ai.openai.OpenAiChatModel,快照版本不同,可能名字不一样,可以查看org.springframework.ai.autoconfigure.openai.OpenAiAutoConfiguration中的聊天类是哪个。
import jakarta.annotation.Resource;
import org.junit.jupiter.api.Test;
import org.springframework.ai.openai.OpenAiChatModel;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
public class ChatTest {
@Resource
private OpenAiChatModel chatModel;
@Test
public void chat1(){
String msg = "你是谁?";
//返回string数据
String res = chatModel.call(msg);
System.out.println(res);
}
@Test
public void chat2(){
String msg = "你是谁?";
//返回对象
ChatResponse res = chatModel.call(new Prompt(msg));
System.out.println(res);
//获取对话返回结果
System.out.println(res.getResult().getOutput().getContent());
}
}
... (以下省略部分内容)