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

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

相关推荐
量子位3 小时前
马斯克从英伟达挖人做AI游戏!第一步:研发世界模型
人工智能·ai编程
浪里小白龙593 小时前
零信任平台接入芋道框架
java
程序员大雄学编程3 小时前
「机器学习笔记11」深入浅出:解密基于实例的学习(KNN算法核心原理与实践)
人工智能·笔记·机器学习
AI拉呱_3 小时前
第145期《2025年AI现状报告》解读(三):安全篇
人工智能·安全
代码匠心3 小时前
从零开始学Flink:流批一体的执行模式
java·大数据·后端·flink·大数据处理
一只程序烽.3 小时前
java项目使用宝塔面板部署服务器nginx不能反向代理找到图片资源
java·服务器·nginx
益企研究院3 小时前
AICC2025 智算中心与算力服务论坛顺利举办
人工智能
Deryck_德瑞克3 小时前
IDEA编译时报错OOM的解决方案
java·ide·intellij-idea