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、执行效果(截图)

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

相关推荐
刘~浪地球4 小时前
AI幻觉正在“吃掉“信任:一次保险购买引发的血案
人工智能·深度学习·机器学习
AI视觉网奇4 小时前
公式动画软件学习笔记
人工智能·公式绘图
天天代码码天天5 小时前
C# OnnxRuntime 部署 DDColor
人工智能·ddcolor
惠惠软件5 小时前
豆包 AI 学习投喂与排名优化指南
人工智能·学习·语音识别
数据中心的那点事儿5 小时前
从设计到运营全链破局 恒华智算专场解锁产业升级密码
大数据·人工智能
A-Jie-Y5 小时前
JAVA框架-SpringBoot环境搭建指南
java·spring boot
FluxMelodySun5 小时前
机器学习(三十三) 概率图模型与隐马尔可夫模型
人工智能·机器学习
深兰科技5 小时前
深兰科技与淡水河谷合作推进:矿区示范加速落地
java·人工智能·python·c#·scala·symfony·深兰科技
V搜xhliang02465 小时前
OpenClaw、AI大模型赋能数据分析与学术科研 学习
人工智能·深度学习·学习·机器学习·数据挖掘·数据分析
PHOSKEY5 小时前
3D工业相机对焊后缺陷全检——机械手焊接系统质量控制的最后关口
人工智能