目录

一、前言

二、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 介绍

2.1 Langchain4j 是什么

LangChain4j作为一款专注于AI大模型集成的开源库,近年来受到了广泛关注。它旨在为开发者提供一种简单且高效的方式来接入和利用各种AI大模型,从而提升应用程序的智能化水平。LangChain4j的核心优势在于其高度的灵活性和易用性,使得开发者可以在不改变现有架构的前提下,快速实现AI功能的集成。

官网入口: LangChain

开发者文档地址: Introduction | LangChain4j

Github 地址: GitCode - 全球开发者的开源社区,开源代码托管平台

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

2.2 Langchain4j 主要特点

LangChain4j 是一个基于 Java 的框架,旨在简化与大型语言模型(LLMs)的集成和应用开发。它提供了丰富的工具和组件,帮助开发者快速构建基于 LLM 的应用程序,如聊天机器人、问答系统、文本生成等。其核心特点如下:

  • 模块化设计
  • LangChain4j 采用模块化架构,允许开发者根据需要选择和使用特定功能,如模型集成、数据加载、链式调用等。
  • 多模型支持:
  • 支持多种 LLM 提供商,如 DeepSeek ,Qwen ,OpenAI,Hugging Face 等,方便切换和集成不同模型。
  • 链式调用:
  • 提供链式调用功能,允许将多个任务串联,如文本生成后自动进行情感分析。
  • 数据加载与处理:
  • 内置多种数据加载器和处理器,支持从不同来源加载数据并进行预处理。
  • 扩展性好
  • 提供丰富的 API 和扩展点,开发者可以自定义组件以满足特定需求。
  • 社区活跃
  • 拥有活跃的社区和详细的文档,便于开发者获取支持和学习。

2.3 Langchain4j 核心组件

Langchain4j 的强大之处正是在于其内置了丰富的可以做到开箱即用的组件能力,相比Spring AI,Langchain4j 的组件更加丰富,在使用的时候也更灵活,下面是一张关于Langchain4j 的组件全景图。

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

2.4 Langchain4j 核心优势

LangChain4j 是一个专为 Java 开发者设计的框架,旨在简化与大型语言模型(LLMs)的集成和应用开发。它的核心优势主要体现在以下几个方面:

1)Java 原生支持

  • LangChain4j 是专为 Java 生态系统设计的,与 Java 开发工具和框架无缝集成。
  • 对于 Java 开发者来说,无需学习其他语言(如 Python)即可使用 LLM 的强大功能。
  • 支持 Spring Boot 等主流 Java 框架,便于快速集成到现有项目中。

2)模块化设计与灵活性

  • 采用模块化设计,开发者可以根据需求选择特定功能,如模型集成、数据加载、链式调用等。
  • 提供丰富的扩展点,支持自定义组件和插件,满足个性化需求。

3)多模型支持

  • 支持多种主流 LLM 提供商,如 DeepSeek,Qwen,OpenAI,Hugging Face等。
  • 提供统一的 API 接口,方便切换不同模型,降低对单一供应商的依赖。

4)链式调用(Chains)

  • 支持将多个任务串联成链,实现复杂的任务流程。
  • 例如,可以将文本生成、情感分析、翻译等任务组合成一个链式调用,简化开发流程。

5)数据加载与处理

  • 内置多种数据加载器,支持从文件、数据库、API 等来源加载数据。
  • 提供数据预处理工具,如文本清洗、分词、格式化等,便于后续分析和处理。

6)高性能与可扩展性

  • 针对 Java 的高性能特性进行优化,适合处理大规模数据和复杂任务。
  • 支持分布式计算和异步调用,适合高并发场景。

7)丰富的工具和实用功能

  • 提供多种实用工具,如日志记录、配置管理、缓存机制等。
  • 内置对 Prompt 工程的支持,帮助开发者更好地设计和优化提示词(Prompts)。

8)活跃的社区与文档支持

  • 拥有活跃的开发者社区,提供及时的技术支持和问题解答。
  • 提供详细的文档和示例代码,帮助开发者快速上手。

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

接下来,以微服务中主流技术框架springboot为例,通过实战案例演示如何整合Langchain4j 并对接目前市场上主流的AI大模型能力。

3.1 前置准