LangChain4j集成SpringBoot接入百炼大模型(Qwen)

LangChain4j是专为Java开发者设计的大语言模型(LLM)集成框架,支持多种AI模型和向量数据库,简化了Java应用程序与大模型的交互过程。

集成案例实现详细过程

1、开发准备工作

1.1 环境配置要求

  • JDK 17
  • SpringBoot 3.4.2
  • LongChain4j 1.1.0-beta7

1.2 登录阿里云百炼申请API-Key

2、配置SpringBoot项目的pom.xml

各种依赖对应的版本信息

复制代码
<properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <spring-boot.version>3.4.2</spring-boot.version>
        <langchain4j-bom.version>1.1.0</langchain4j-bom.version>
        <langchain4j.version>1.1.0-beta7</langchain4j.version>
</properties>

增加阿里云百炼平台接入依赖配置

复制代码
<!-- 接入阿里云百炼平台 -->
<dependency>
    <groupId>dev.langchain4j</groupId>
    <artifactId>langchain4j-community-dashscope-spring-boot-starter</artifactId>
</dependency>

完整配置pom.xml如下

复制代码
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <artifactId>langchain4j</artifactId>
    <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <spring-boot.version>3.4.2</spring-boot.version>
        <langchain4j.version>1.1.0-beta7</langchain4j.version>
        <langchain4j-bom.version>1.1.0</langchain4j-bom.version>
    </properties>

    <dependencies>
        <!-- web应用程序核心依赖 -->
        <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>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-logging</artifactId>
        </dependency>
        <!-- 接入阿里云百炼平台 -->
        <dependency>
            <groupId>dev.langchain4j</groupId>
            <artifactId>langchain4j-community-dashscope-spring-boot-starter</artifactId>
        </dependency>
        <!-- langchain4j依赖 -->
        <dependency>
            <groupId>dev.langchain4j</groupId>
            <artifactId>langchain4j-spring-boot-starter</artifactId>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <!--引入SpringBoot依赖管理清单-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring-boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!--引入langchain4j依赖管理清单-->
            <dependency>
                <groupId>dev.langchain4j</groupId>
                <artifactId>langchain4j-bom</artifactId>
                <version>${langchain4j-bom.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!-- 引入langchain4j集成依赖管理清单 -->
            <dependency>
                <groupId>dev.langchain4j</groupId>
                <artifactId>langchain4j-community-bom</artifactId>
                <version>${langchain4j.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
</project>

3、配置application.yml

准备SpringBoot工程的配置文件

复制代码
server:
  port: 8080
#集成langchain4j
langchain4j:
  # 阿里百炼平台
  community:
    dashscope:
      chat-model:
        api-key: {DASH_SCOPE_API_KEY} #填写开发准备工作阶段登录阿里云百炼申请的API-Key
        model-name: qwen3-max
#日志配置
logging:
  level:
    root: INFO
    org.springframework: WARN
  file:
    name: logs/ai-system.log
  pattern:
    console: "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"

4、执行验证(测试)

创建验证(测试)代码逻辑

复制代码
@SpringBootTest(classes = Main.class)
@Slf4j
public class TestDashScopeQwen {

    @Autowired
    private QwenChatModel qwenChatModel;

    @Test
    public void testDashScopeQwen(){
       String answer = qwenChatModel.chat("你是谁");
       log.info("Qwen回答: {}", answer);
    }

}

5、执行效果(截图)

执行单元测试,返回回答结果

相关推荐
檐下翻书1731 天前
Spring Boot 深度剖析:从虚拟线程到声明式 HTTP 客户端,再到云原生最优解
spring boot·http·云原生
Juchecar1 天前
母语,塑造和构成了我们的思维过程本身
人工智能
苏打水com1 天前
0基础学前端:100天拿offer实战课(第3天)—— CSS基础美化:给网页“精装修”的5大核心技巧
人工智能·python·tensorflow
不穿格子的程序员1 天前
从零开始刷算法-栈-字符串解码
java·开发语言
NON-JUDGMENTAL1 天前
CyberSecEval 2
人工智能
你不是我我1 天前
【Java 开发日记】设计模式了解吗,知道什么是饿汉式和懒汉式吗?
android·java·开发语言
智驱力人工智能1 天前
智能安全管理 基于视觉分析的玩手机检测系统 手机行为AI模型训练 边缘计算手机行为监测设备
人工智能·安全·目标检测·计算机视觉·智能手机·视觉检测·边缘计算
芯盾时代1 天前
CIPS系统迎来重大升级
大数据·人工智能·跨境支付·芯盾时代
ManageEngineITSM1 天前
重构可见性:IT资产管理的下一次觉醒
大数据·人工智能·重构·自动化·itsm·工单系统
♡喜欢做梦1 天前
Spring MVC 响应处理:页面、数据与状态配置详解
java·javascript·spring·java-ee