2026/4/18 11:36:04
网站建设
项目流程
做柜子比较好看的网站,济南做外贸的网站公司吗,wordpress手机版加搜索,全国企业公示网查询官网目录
一.为什么要学习这个工具类#xff1f;
二.使用步骤
1.引入依赖
2.声明接口
3.使用AiServices为接口创建代理对象
方式①#xff1a;编写配置类
方式②#xff1a;使用注解
4.在Controller中注入并使用
三.运行项目#xff0c;测试效果
四.解释一下上面的Co…目录一.为什么要学习这个工具类二.使用步骤1.引入依赖2.声明接口3.使用AiServices为接口创建代理对象方式①编写配置类方式②使用注解4.在Controller中注入并使用三.运行项目测试效果四.解释一下上面的ConsultantService接口一.为什么要学习这个工具类我们之前学过下图所示的方式实现在java项目中调用大模型。但是这种方法有很大缺点不能实现后续的高阶内容比如会话记忆等等。因此要学习AiServices工具类才能实现后面的高阶内容。二.使用步骤1.引入依赖!--AiServices相关的依赖-- dependency groupIddev.langchain4j/groupId artifactIdlangchain4j-spring-boot-starter/artifactId version1.0.1-beta6/version /dependency2.声明接口//思考为什么这个接口叫ConsultantService //答案翻译成“咨询顾问接口”说白了这个接口是负责回答用户提问的问题的 public interface ConsultantService { //用于聊天的方法 public String chat(String message); }3.使用AiServices为接口创建代理对象方式①编写配置类先新建一个配置类写代码Configuration public class CommonConfig { Autowired private OpenAiChatModel model; Bean public ConsultantService consultantService(){ ConsultantService consultantService AiServices.builder(ConsultantService.class) .chatModel(model) .build(); return consultantService; } }方式②使用注解由于目前处于学习阶段所以我们推荐使用手动装配这样能更清晰自己做了什么。4.在Controller中注入并使用RestController RequestMapping(/api/chat) public class ChatController { //注入刚才创建的咨询接口 Autowired private ConsultantService consultantService; GetMapping(/chat) public String chat(String message){ String result consultantService.chat(message); return result; } }三.运行项目测试效果可见此时运行成功四.解释一下上面的ConsultantService接口AiService( wiringMode AiServiceWiringMode.EXPLICIT,//手动装配 chatModel openAiChatModel//指定模型 ) //AiService //自动装配 public interface ConsultantService { //用于聊天的方法 public String chat(String message); }解释上面的代码AiService 注解把Java接口变成AI服务作用标记接口为AI服务自动实现AI调用两个关键参数wiringMode EXPLICIT- 手动配置依赖避免自动装配混乱chatModel openAiChatModel- 指定使用OpenAI模型效果接口中的每个方法都变成AI功能调用点使用示例javaAiService(wiringModeEXPLICIT, chatModelopenAiChatModel) public interface ConsultantService { String chat(String message); // 直接调用AI聊天 }本质让调用AI像调用普通Java方法一样简单以上就是本篇文章的全部内容喜欢的话可以留个免费的关注呦~~~