5.AiServices工具类

目录

一.为什么要学习这个工具类?

二.使用步骤

1.引入依赖

2.声明接口

3.使用AiServices为接口创建代理对象

方式①:编写配置类

方式②:使用注解

4.在Controller中注入并使用

三.运行项目,测试效果

四.解释一下上面的ConsultantService接口


一.为什么要学习这个工具类?

我们之前学过下图所示的方式,实现在java项目中调用大模型。

但是这种方法有很大缺点,不能实现后续的高阶内容(比如会话记忆等等)。

因此要学习AiServices工具类,才能实现后面的高阶内容。

二.使用步骤

1.引入依赖

<!--AiServices相关的依赖--> <dependency> <groupId>dev.langchain4j</groupId> <artifactId>langchain4j-spring-boot-starter</artifactId> <version>1.0.1-beta6</version> </dependency>

2.声明接口

//思考:为什么这个接口叫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调用

两个关键参数

  1. wiringMode = EXPLICIT- 手动配置依赖(避免自动装配混乱)

  2. chatModel = "openAiChatModel"- 指定使用OpenAI模型

效果:接口中的每个方法都变成AI功能调用点

使用示例

java

@AiService(wiringMode=EXPLICIT, chatModel="openAiChatModel") public interface ConsultantService { String chat(String message); // 直接调用AI聊天 }

本质:让调用AI像调用普通Java方法一样简单

以上就是本篇文章的全部内容,喜欢的话可以留个免费的关注呦~~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1191178.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

莫凡电视的核心优势——聚焦全国地方台全量覆盖

各位影视与电视技术爱好者&#xff0c;今天分享莫凡电视的核心优势——聚焦全国地方台全量覆盖与直播流畅度&#xff0c;技术点扎实易懂&#xff0c;适配智能电视、机顶盒、投影仪等终端&#xff0c;大幅提升本地频道观影体验与实用性。 地方台接收核心搭载多协议解码引擎&…

谁需要迪士尼验厂与FAMA

需要知道谁做迪士尼验厂和谁需要FAMA&#xff0c;首先我们要来分清楚他们各自是什么&#xff1f; 迪士尼验厂&#xff08;Disney ILS Audit&#xff09;是迪士尼公司对其全球供应链中生产工厂进行的一种符合性审核&#xff0c;旨在确保供应商在社会责任、劳工权益、职业健康安全…

企业微信外部群主动推送消息全攻略

QiWe开放平台 个人名片 API驱动企微自动化&#xff0c;让开发更高效 核心能力&#xff1a;为开发者提供标准化接口、快速集成工具&#xff0c;助力产品高效拓展功能场景 官方站点&#xff1a;https://www.qiweapi.com 团队定位&#xff1a;专注企微API生态的技术服务团队 对接…

紫外荧光精准测硫,后处理系统开发利器:MEXA-1170SX硫黄分析装置项目实战全解

紫外荧光精准测硫&#xff0c;后处理系统开发利器&#xff1a;MEXA-1170SX硫黄分析装置项目实战全解在发动机后处理技术迭代与超低硫排放法规日益严苛的背景下&#xff0c;高灵敏度、多模式、实时在线的硫化合物分析已成为发动机研发、排放测试与润滑油消耗评估的核心环节。近期…

企业微信API:如何合规实现外部群主动消息推送?

​ ​ QiWe开放平台 个人名片 API驱动企微自动化&#xff0c;让开发更高效 核心能力&#xff1a;为开发者提供标准化接口、快速集成工具&#xff0c;助力产品高效拓展功能场景 官方站点&#xff1a;https://www.qiweapi.com 团队定位&#xff1a;专注企微API生…

odoo-094 self.env 主要属性和方法

文章目录主要属性主要方法代码位置在Odoo中&#xff0c; self.env是 Environment类的实例。主要属性 cr​ - 当前数据库游标 uid​ - 当前用户ID user​ - 当前用户记录 context​ - 当前上下文字典 company​ - 当前公司记录 companies​ - 用户可访问的公司记录集 lang​ - …

Vue3-14 watch监视对象及对象属性

文章目录监视 reactive监视对象属性监视数组监视 reactive reactive 的一个弊端&#xff1a; 不能整体修改数据 左边ref相当于替换了整个人&#xff1b; 右边reactive相当于人没换&#xff0c;只是换了属性。 监视reactive对象&#xff0c;默认是开启深度监视的&#xff0c;…

活字格低代码:破解企业数据孤岛难题,加速数字化转型进程

引言 在数字化转型的浪潮中&#xff0c;企业信息化建设面临的核心挑战已从“是否转型”转变为“如何高效推进”。然而&#xff0c;数据孤岛问题成为阻碍企业发展的普遍难题——系统割裂、数据无法互通、业务流程低效。传统解决方案如外包开发或Excel管理&#xff0c;往往成本高…

深度学习计算机毕设之卷神经网络基于python-cnn深度学习识别水果是否成熟

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

亲测好用!专科生毕业论文必备TOP8 AI论文工具

亲测好用&#xff01;专科生毕业论文必备TOP8 AI论文工具 2026年专科生毕业论文写作工具测评&#xff1a;为何需要这份榜单&#xff1f; 随着人工智能技术的不断发展&#xff0c;AI论文工具逐渐成为高校学生&#xff0c;尤其是专科生撰写毕业论文的重要辅助工具。然而&#xff…

AI风险模型揭秘:“香港巴菲特”谢清海1/4资产投入黄金的量化验证——硬资产如何重构财富安全边界

摘要&#xff1a;本文通过分析“香港巴菲特”谢清海将25%身家投入黄金的投资决策&#xff0c;结合地缘政治风险量化模型、货币贬值预测算法及工业需求动态追踪系统&#xff0c;剖析黄金作为“终极保险”在资产配置中的核心价值。面对全球经济的非线性波动&#xff0c;被称为“香…

黄金价格2026:世界黄金协会多因子模型揭示四大核心驱动力的贝叶斯预测

摘要&#xff1a;本文通过世界黄金协会的黄金收益归因模型与多因子分析框架&#xff0c;结合宏观变量动态预测算法&#xff0c;解析2025年驱动黄金价格的核心因子&#xff0c;并运用蒙特卡洛模拟与贝叶斯网络模型&#xff0c;量化评估2026年四大关键变量对金价波动的影响路径与…

分享|大数据挖掘建模平台教学方向及科研方向

大数据挖掘建模平台是面向大数据相关专业课程教学与实训的工具。平台无需编程&#xff0c;通过拖拽的方式进行操作&#xff0c;以流程化的方式将数据源、统计分析、数据清洗、数据处理等环节进行连接&#xff0c;快速熟悉分类、回归、聚类、时序、关联规则等领域的算法&#xf…

初中水平的安徽农民:张祥前统一场论从哲学公设到技术应用的完整体系

张祥前统一场论&#xff1a;从哲学公设到技术应用的完整体系 摘要 本文基于"算法联盟"对张祥前统一场论的系统深度破解与分析&#xff0c;完整呈现了该理论的核心内容、逻辑架构与技术应用。统一场论以"时空同一化"和"物理量几何化"为两大核心公…

astmd4169振动测试

对于astmd4169标准中的振动测试&#xff0c;最关键的一步是根据你的实际运输方式来确定对应的测试谱和测试时间。标准也提供了多种预设的运输场景方案。astmd4169部分运输振动谱卡车运输谱常见测试时间1小时空运谱常见测试时间2小时铁路运输谱测试时间标准根据流通周期DC确定松…

TV电视影视大全:流畅观影背后的核心技术解析

各位影视与电视技术爱好者&#xff0c;今天分享TV电视影视大全的核心优势——聚焦画质优化与多端适配&#xff0c;技术点扎实易懂&#xff0c;适配智能电视、机顶盒、投影仪等终端&#xff0c;大幅提升全场景观影体验与实用性。 画质呈现上搭载双编码适配方案&#xff0c;主力…

5款AI PPT工具测评:免费又实用,这几款工具值得推荐!

5款AI PPT工具测评&#xff1a;免费又实用&#xff0c;这几款工具值得推荐&#xff01;作为一名在职场摸爬滚打多年的打工人&#xff0c;我深知做 PPT 的痛苦。每次好不容易花了大量时间和精力做好一份 PPT&#xff0c;结果临到汇报前&#xff0c;领导突然提出各种修改要求&…

PVC字牌定制全解析:快速、免费、精准,如何满足您的商业标识需求?

引言:商业标识的隐形战场在当今竞争激烈的商业环境中&#xff0c;一个醒目、专业、高品质的店铺招牌或企业标识&#xff0c;不再是简单的"门面"&#xff0c;而是品牌实力、专业态度和客户吸引力的第一道防线。无论是新店开业、品牌升级&#xff0c;还是活动宣传&…

什么是视频重保

文章目录为什么需要视频重保视频重保能带来什么价值视频重保的组网架构视频重保的效果视频重保&#xff0c;即重要视频会议保障&#xff0c;旨在借助SRv6、网络切片、IFIT等技术&#xff0c;依托现有网络建设视频会议系统&#xff0c;对视频会议网络进行端到端保障&#xff0c;…

Day24-20260120

Java数组核心要点总结 Java数组是相同数据类型元素的有序集合,具有以下特点:长度固定,创建后不可改变 元素类型必须相同 支持基本类型和引用类型元素 数组本身是对象,存储在堆中使用数组时要注意边界问题,下标范围…