SpringBoot 整合Langchain4j 对接主流大模型实战详解

目录

一、前言

二、Langchain4j 介绍

2.1 Langchain4j 是什么

2.2 Langchain4j 主要特点

2.3 Langchain4j 核心组件

2.4 Langchain4j 核心优势

三、Langchain4j 整合常用大模型案例实践

3.1 前置准备

3.1.1 对接通义千问大模型

3.1.2 对接DeepSeek大模型

3.1.3 创建工程导入核心依赖

3.2 Langchain4j 对接DeepSeek大模型

3.2.1 导入核心依赖

3.2.2 添加配置文件

3.2.3 添加测试接口

3.3 Langchain4j 对接阿里云大模型

3.3.1 导入核心依赖

3.3.2 添加配置文件

3.3.3 添加测试接口

3.4 基于百炼平台使用openai的调用

四、写在文末


一、前言

当下随着各种AI大模型的应用市场深入到各个领域,AI赋能为业务的拓展和商业价值的延伸带来了无限的可能。大厂商陆续推出对市面尚主流AI大模型的接入和支持,方便普通用户或开发者快速体验最新的大模型能力,以DeepSeek为例,像阿里云,硅基流动,智谱等众多厂商,都已经提供了与其对接的方式。与此同时,为了应用开发者能够基于自身的业务快速对接各类AI大模型API能力,更灵活的拓展自身的业务能力。而在java领域,以spring ai为代表的领域界技术框架近期正式宣布发布1.0版本,这也代表了以spring家族接入和应用AI大模型的能力的进一步提升,而另一个大模型的框架Langchain4j,则以其在python领域的强大生态能力,成为自大模型诞生以来占据行业重要地位的技术框架,本文以Langchain4j为例进行说明,详细介绍下如何基于Springboot,快速对接当下行业主流的大模型,打通各个大模型厂商,从而实现微服务自身价值的提升。

二、Langchain4j 介绍

### 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 数据包提交过去即可获得即时反馈信息啦! ---
评论 80
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小码农叔叔

谢谢鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值