当前位置: 首页 > wzjs >正文

创建网站向导和模板网站备案 更换接入商

创建网站向导和模板,网站备案 更换接入商,报个计算机培训班多少钱,沧州网站建设运营公司在上一篇文章中,我们介绍了如何使用langchain4j实现简单的问答功能,本篇文章我们将介绍如何在springboot中使用AIService。 1.实现原理 先看下AiService注解所在的依赖langchain4j-spring-boot-starter中包含什么内容: 1.1 event.AiServi…

在上一篇文章中,我们介绍了如何使用langchain4j实现简单的问答功能,本篇文章我们将介绍如何在springboot中使用AIService。

1.实现原理

先看下@AiService注解所在的依赖langchain4j-spring-boot-starter中包含什么内容:
本篇以service.spring包下的内容为主

1.1 event.AiServiceRegisteredEvent

这个类实现了ApplicationEvent,它的作用是当一个AiService被注册时触发的事件。在这里插入图片描述

1.2 @AiService

本篇主要需使用的注解,作用是将一个接口标记为AiService,通过这个注解可以将一个接口转换为一个AiService对象,这个对象可以用于调用langchain4j提供的各种功能。在这里插入图片描述

1.3 AiServiceFactory

AiServiceFactory类实现了FactoryBean接口,表示这是一个Spring工厂Bean,包含了AiService的各种依赖组件和配置,可以通过这个方法创建AiService对象。在这里插入图片描述

1.4 ClassPathAiServiceScanner

这个类的主要功能是扫描类路径中的Bean定义,并筛选出带有AiService注解的接口
在这里插入图片描述

1.5 AiServiceScannerProcessor

这个类实现了BeanDefinitionRegistryPostProcessor接口,主要功能是负责定义扫描当前项目的类路径,移除不需要的AiService配置。
在这里插入图片描述

1.6 AiServicesAutoConfig

这个类主要功能是将上下文中的所有组件用于配置和注册AiService的Bean,并在完成后发布相关注册的事件。在这里插入图片描述

2.AiService的简单实现

2.1 配置文件

langchain4j:open-ai:chat-model:api-key: ${API_KEY}base-url: https://api.deepseek.com/v1model-name: deepseek-chatlog-requests: truelog-responses: truetemperature: 0.5max-tokens: 4096

2.2 定义接口

写一个简单的接口,使用@AiService注解标注

@AiService
public interface Assistant {@SystemMessage("你是一位编程专家,你的名字叫小小明")String chat(String userMessage);}

3. 使用AiService

@RestController
public class ChatController {@ResourceChatLanguageModel chatLanguageModel;@ResourceAssistant assistant;@GetMapping("/chat")public String model(@RequestParam(value = "message") String message) {return chatLanguageModel.chat(message);}@GetMapping("/chatWithService")public String service(@RequestParam(value = "message") String message) {return assistant.chat(message);}
}

4. 测试一下

启动项目,用postman调用接口进行测试:
在这里插入图片描述

5. 在项目中使用多个模型

5.1 pom.xml

langchain4j支持使用多个模型,我们更新一下pom.xml文件,添加dashscope的依赖。

<dependency><groupId>dev.langchain4j</groupId><artifactId>langchain4j-community-dashscope-spring-boot-starter</artifactId><version>${langchain4j.version}</version>
</dependency>

5.2 配置文件

这里我们配置了两个模型,一个是deepseek-chat,一个是qwen-plus。

langchain4j:open-ai:chat-model:api-key: ${API_KEY}base-url: https://api.deepseek.com/v1model-name: deepseek-chatlog-requests: truelog-responses: truetemperature: 0.5max-tokens: 4096community:dashscope:chat-model:api-key: ${API_KEY}model-name: qwen-plustemperature: 0.5max-tokens: 4096logging.level.dev.langchain4j: DEBUG

5.3 定义接口

然后我们定义两个接口,一个是dashscope的,一个是openai的。

@AiService(wiringMode = EXPLICIT, chatModel = "qwenChatModel")
public interface DashscopeAssistant {@SystemMessage("你是一位编程专家,名字是kitty")String chat(String userMessage);}@AiService(wiringMode = EXPLICIT, chatModel = "openAiChatModel")
public interface DeepseekAssistant {@SystemMessage("你是一位画家,名字是tom")String chat(String userMessage);}

5.4 使用

最后我们在controller中注入这两个接口,分别调用。

@RestController
public class ChatController {@ResourceDashscopeAssistant dashscopeAssistant;@ResourceDeepseekAssistant deepseekAssistant;@GetMapping("/chatWithQwen")public String qwen(@RequestParam(value = "message") String message) {return dashscopeAssistant.chat(message);}@GetMapping("/chatWithDeepseek")public String deepseek(@RequestParam(value = "message") String message) {return deepseekAssistant.chat(message);}}

6.测试多个AIService

在这里插入图片描述
在这里插入图片描述


文章转载自:

http://SpBtSsF5.wcqkp.cn
http://x2jKGTn7.wcqkp.cn
http://y5C5oD5M.wcqkp.cn
http://lkf9qgd9.wcqkp.cn
http://Ew8HBquu.wcqkp.cn
http://UHyWYmgR.wcqkp.cn
http://meG92jQ5.wcqkp.cn
http://2C5K1koc.wcqkp.cn
http://c63RULhv.wcqkp.cn
http://zRsiuu4B.wcqkp.cn
http://lw12D6Qq.wcqkp.cn
http://OKJfclfs.wcqkp.cn
http://u1BwWkb3.wcqkp.cn
http://us6uImNA.wcqkp.cn
http://TuOL9Hpo.wcqkp.cn
http://3l6tZGaH.wcqkp.cn
http://x2Rqrw0m.wcqkp.cn
http://1vS4ofuM.wcqkp.cn
http://1EnrnkYG.wcqkp.cn
http://kJV86dwR.wcqkp.cn
http://XiBEJttR.wcqkp.cn
http://GpWdH6gX.wcqkp.cn
http://THtge5s1.wcqkp.cn
http://7kejggbb.wcqkp.cn
http://USAr3lSL.wcqkp.cn
http://3EknTRUx.wcqkp.cn
http://8CaCavkV.wcqkp.cn
http://l54FkbPC.wcqkp.cn
http://zyFRUAZH.wcqkp.cn
http://MOPN9loh.wcqkp.cn
http://www.dtcms.com/wzjs/776323.html

相关文章:

  • 吴忠建设网站网络推广策划案例
  • .概述网站建设的基本流程如何制作ppt课件
  • dede 汽车网站模板深圳商城网站设计价格
  • 怎样才能把网站宣传做的更好营销型网站方案书
  • 怎么做弹幕视频网站长春专业网站推广
  • 公益广告不浪费水网站怎么做备案网站出售
  • 廊坊智能模板建站百度资料怎么做网站
  • dede微电影网站模板下载赣州网站建设培训
  • 手机网站WordPress主题dw网页制作使用方法
  • 华为云速建站模板阿里巴巴外贸平台下载
  • 个人网站开发要多久ps网页设计步骤及方法
  • 提供网站技术免费seo培训
  • 文化网站策划创立一个公司需要什么
  • 网站异常传播怎么解除wordpress+qq微信登陆
  • 家居网站建设哪家好怎么设计网络营销方案
  • 做传销网站的程序员犯法吗表白网站制作源代码
  • 网站制作完成之后进入了什么阶段mip网站怎么做匹配
  • 如何做网站发布商品中国画廊企业网站模板
  • 做解析视频网站违法莫网站备案号位置
  • 供水开发建设公司网站网站建设昆山花桥
  • 怎么建网站快捷方式百度com百度一下你
  • dedecms网站开发环境wordpress分类显示文章列表
  • php整站最新版本下载有哪些购物的网站
  • 大学生做静态网站东游科技网站建设
  • 网站集群系统建设在线天堂8
  • 精能集团有限公司两学一做网站敖汉旗网站建设
  • 查建设公司年度保证金网站丽水网站建设公司
  • 做微信头图的网站网站建设及维护费用
  • 手机网站开发session千川推广官网
  • 东莞大朗网站建设哪家口碑好如何查询网站的空间商