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-Keymodel-name: qwen3-max
#日志配置
logging:level:root: INFOorg.springframework: WARNfile:name: logs/ai-system.logpattern:console: "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"
4、执行验证(测试)
创建验证(测试)代码逻辑
@SpringBootTest(classes = Main.class)
@Slf4j
public class TestDashScopeQwen {@Autowiredprivate QwenChatModel qwenChatModel;@Testpublic void testDashScopeQwen(){String answer = qwenChatModel.chat("你是谁");log.info("Qwen回答: {}", answer);}}
5、执行效果(截图)
执行单元测试,返回回答结果
