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

langchain4j整合springboot

环境介绍

  • JDK17
  • Spring Boot: 3.0.2

创建springboot工程

IDEA新建一个springboot项目,使用Spring lnitializr快速构建。
在这里插入图片描述
选择Spring Boot: 3.0.2以及Spring Web依赖
在这里插入图片描述

添加maven依赖

创建完springboot项目之后,在pom中添加关键依赖

    <properties><java.version>17</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><spring-boot.version>3.0.2</spring-boot.version><langchain4j.version>1.0.0-beta3</langchain4j.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!-- 百炼 --><dependency><groupId>dev.langchain4j</groupId><artifactId>langchain4j-community-dashscope-spring-boot-starter</artifactId></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>${spring-boot.version}</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>dev.langchain4j</groupId><artifactId>langchain4j-community-bom</artifactId><version>${langchain4j.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement>

创建一个Controller

简单的创建一个controller用于Web访问

package com.kizzo.langchain4j_spingboot_demo.controller;import dev.langchain4j.community.model.dashscope.QwenChatModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping("/ai")
public class ChatController {@AutowiredQwenChatModel qwenChatModel;@RequestMapping("/chat")public String test(@RequestParam(defaultValue="你是谁") String message){String chat = qwenChatModel.chat(message);return chat;}
}

这里可以直接用@Autowired注解引入QwenChatModel,在pom中已经做了自动装配。查看AutoConfig源码发现@ConditionalOnProperty({“langchain4j.community.dashscope.chat-model.api-key”})。这个注解的意思就是 Spring 将检查是否存在名为 langchain4j.community.dashscope.chat-model.api-key 的属性,并且其值非空。
在这里插入图片描述
除了api-key还必须要加上langchain4j.community.dashscope.chat-model.model-name。否则在 QwenHelper 类的 isMultimodalModel 方法会报空指针异常
在这里插入图片描述
以上源码说明配置类必须要有api-keys和model-name,这里在原来的配置文件上进行新增属性

langchain4j.community.dashscope.chat-model.api-key=${QWEN_API_KEY}
langchain4j.community.dashscope.chat-model.model-name=qwen-plus

验证接口

在这里插入图片描述

相关文章:

  • 【AI】基于生活案例的LLM强化学习(入门帖)
  • 第四章-初始化Direct3D
  • Blink和V8的关系
  • 雅思阅读--重点短语/句式39个
  • Day 12 训练
  • PostgreSQL存储过程“多态“实现:同一方法名支持不同参数
  • C语言进阶—函数(static,递归,回调,指针,内联,变参,结构体尺寸)
  • DID在元宇宙的应用爆发:数字身份资产化与跨平台迁移——解析Decentraland等项目的虚拟身份全链路实现
  • 25G 80km双纤BIDI光模块:远距传输的创新标杆
  • 蓝桥杯-通电(最小生成树java)
  • 盛最多水的容器
  • UE5 MetaHuman眼睛变黑
  • 软件设计师-软考知识复习(3)
  • 【强化学习】什么是强化学习?2025
  • 解决 Exception in thread “main“ java.lang.NoClassDefFoundError
  • 【java】程序设计基础 八股文版
  • 深入理解 Web 架构:从基础到实践
  • 0506--01-DA
  • tinyrenderer笔记(Phong光照模型)
  • QML ProgressBar控件详解
  • 印对巴军事打击后,巴外交部召见印度驻巴临时代办
  • 外交部回应中美经贸高层会谈:这次会谈是应美方请求举行的
  • 苏丹宣布与阿联酋断交
  • 贵州召开全省安全生产电视电话会议:以最严要求最实举措守牢安全底线
  • 岳伟华任北京大学第六医院院长,陆林院士卸任
  • 击败老对手韩国队夺冠!国羽第14次问鼎苏迪曼杯创历史