Springboot——整合LangChain4j实现交互

前言

虽然Spring 生态园中,推出了Spring AI。但用起来总感觉不是那么好用。LangChain4j 本身就对许多大模型做了封装,支持普通输出流式输出操作。

本篇博客重点说明如何将LangChain4j整合到Springboot 的项目应用中。

环境准备

  • jdk 17
  • maven 3.6.3
  • springboot 3.4.0
  • langchain4j 1.0.0-beta1

依赖引入

核心依赖以及版本限定。

<properties>
    <maven.compiler.source>17</maven.compiler.source>
    <maven.compiler.target>17</maven.compiler.target>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <langchain4j.version>1.0.0-beta1</langchain4j.version>
</properties>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <!-- langchain4j 核心依赖 -->
    <dependency>
        <groupId>dev.langchain4j</groupId>
        <artifactId>langchain4j</artifactId>
        <version>${langchain4j.version}</version>
    </dependency>

    <!-- langchain4j -->
    <dependency>
        <groupId>dev.langchain4j</groupId>
        <artifactId>langchain4j-community-dashscope-spring-boot-starter</artifactId>
    </dependency>

    <!-- 流式输出 -->
    <dependency>
        <groupId
### Spring Boot 整合 LangChain4j 的教程 #### 项目初始化 通过 **Spring Initializr** 创建一个新的 Spring Boot 项目,确保选择以下依赖项来支持必要的功能[^1]: - `Spring Web`:用于构建 RESTful API 处理 HTTP 请求。 - `Lombok`(可选):简化 Java Bean 的开发过程。 完成项目创建后,将其导入到 IDE 中并验证环境配置是否正常运行。 #### 添加 LangChain4j 依赖 为了在 Spring Boot 应用程序中使用 LangChain4j 功能,需修改项目的 `pom.xml` 文件以引入相应的 Maven 依赖。以下是典型的依赖声明: ```xml <dependency> <groupId>com.langchain4j</groupId> <artifactId>langchain4j-core</artifactId> <version>0.9.0</version> <!-- 版本号可能随时间更新 --> </dependency> <!-- 如果需要 OpenAI 支持,则还需添加以下依赖 --> <dependency> <groupId>com.langchain4j</groupId> <artifactId>langchain4j-openai</artifactId> <version>0.9.0</version> </dependency> ``` 这些依赖允许开发者轻松调用 LangChain4j 提供的功能以及对接像 GPT 这样的 AI 大模型服务[^2]。 #### 配置 OpenAI API 密钥 LangChain4j 可与多个大语言模型交互,在此我们以 OpenAI 的 GPT 模型为例展示具体设置方式。首先获取自己的 OpenAI API Key 并保存至系统的环境变量或者应用属性文件当中。推荐做法是在 `application.properties` 或者 `application.yml` 文件里定义如下参数: 对于 `.properties` 格式的配置文件: ```properties openai.api.key=your_openai_api_key_here ``` 而对于 YAML 格式则可以这样写: ```yaml openai: api: key: your_openai_api_key_here ``` 接着编写一段简单的代码读取该密钥值以便后续传递给 LangChain4j 实例化对象时使用。 #### 编写 Controller 层逻辑 下面给出一个基于 RestController 的例子演示如何发起请求并通过 LangChain4j 调用远程 LLM 完成对话任务。 ```java import com.langchain4j.chain.ConversationalRetrievalChain; import com.langchain4j.data.message.AIMessage; import com.langchain4j.data.message.HumanMessage; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("/api/chat") public class ChatController { @Value("${openai.api.key}") private String openAiApiKey; @PostMapping public AIMessage sendMessage(@RequestBody HumanMessage humanMessage) { // 初始化链路实例 (此处省略部分细节) ConversationalRetrievalChain chain = new ConversationalRetrievalChain.Builder() .withOpenAIApiKey(openAiApiKey) .build(); return chain.call(humanMessage); } } ``` 以上片段展示了接收前端传来的消息体之后立即转发查询给指定的大规模预训练模型,并返回其响应结果作为最终答复的过程[^1]。 #### 测试接口有效性 启动应用程序后可通过 Postman 工具或者其他类似的客户端工具发送 POST 请求测试刚才建立的服务端点工作情况。假设服务器地址为 localhost:8080 ,那么完整的 URL 就应该是 http://localhost:8080/api/chat 。记得按照预期格式准备 JSON 数据包提交过去即可获得即时反馈信息啦! ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值