LangChain4j实战之一:准备工作

  • 时间:2025-11-30 21:45 作者: 来源: 阅读:3
  • 扫一扫,手机访问
摘要:欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos关于LangChain4j实战系列《LangChain4j实战系列》是欣宸在AI应用领域的原创,作为一名传统Java后端程序员,在AI时代也应该果断的拥抱新技术,LangChain4j实战系列将带你用 100%可运行的代码走完“入门 → 进阶 → 产线”三级

欢迎访问我的GitHub

这里分类和汇总了欣宸的全部原创(含配套源码):
https://github.com/zq2599/blog_demos

关于LangChain4j实战系列

  • 《LangChain4j实战系列》是欣宸在AI应用领域的原创,作为一名传统Java后端程序员,在AI时代也应该果断的拥抱新技术,LangChain4j实战系列将带你用 100%可运行的代码走完“入门 → 进阶 → 产线”三级跳,让 AI 真正运行在你的微服务里

关于LangChain4j

  • 官方定位:LangChain 的 Java 实现。
  • 大白话:把“提示模板 → 模型调用 → 结果解析 → 工具链 → 记忆存储”封装成Java接口,让你像写MyBatis Mapper一样实现AI能力。
  • 核心模块说明:

模块

说明

类比

langchain4j-core

统一 API:模型、消息、提示、输出解析器

规范,类似JDBC

langchain4j-openai /

langchain4j-zhipu

各家模型“方言”实现

类似mysql的mysql-driver

langchain4j-spring-boot-starter

自动配置 + 配置属性

和spring-boot的各类starter一样的starter

langchain4j-easy-rag

少量代码搞定私域文档索引

类似spring-data-jpa

langchain4j-tools

让模型直接调用你的 @Service 方法

类似FeignClient

langchain4j-memory

对话记忆、窗口缓存、长期存储

类似Spring-Session

为什么需要LangChain4j?

  • 如果您之前使用过OpenAI的SDK,应该会疑惑:官方有SDK呀,我要调用OpenAI服务那就使用官方SDK呗,为啥还要使用LangChain4j呢?
  • 实则,官方 SDK 只解决“调模型”,LangChain4j 解决“搭系统”,第一就是多模型切换,接入和调试多个模型的SDK费时费力,但是对LangChain4j来说却只是配置的区别,其他差异都被屏蔽了
  • 另外,LangChain4j内置ChatMemory,解决了多轮对话记忆问题,无需自己写代码维护
  • 在私域知识问答方面,LangChain4j也提供了API支持,避免自己实现这个过程:embedding → 存向量库 → 查 TopK → 拼 prompt
  • 在模型调用外部API、生产可观测(用量、延迟、异常等)这些方面,LangChain4j也有现成方案,无需自己动手实现

本篇概览

  • 作为《LangChain4j实战系列》的开篇,咱们先不急着写代码,而是做好准备工作,把后面实战所需的东西都提前备好,主要有这些
  1. 版本,开发设计的各类软件和库的版本对齐,确保您的开发也能顺利运行
  2. 大模型相关信息,选好大模型
  3. 创建工程,整个系列的代码放在一个maven工程中,采用父子结构,本篇把父工程准备好
  • 接下来开始正式的准备工作吧,先从版本开始

准备工作一:版本对齐

  • 实战设计的软件和库,具体版本情况如下:
  1. 电脑系统:macOS Tahoe26.2
  2. JDK:21
  3. springboot:3.3.5
  4. LangChain4j:1.8.0

准备工作二:大模型相关信息(API Key、模型名、调用地址)

  • 实战LangChain4j的过程中,需要有稳定可靠的大模型服务被调用,这里选择了通义千问3-max,主要是申请和使用都方便,您可以按自己需要来选择
  • 打开阿里云百炼主页,在模型广场选择模型

LangChain4j实战之一:准备工作

  • 选好模型后,就要去准备代码中用到的三样东西:API Key模型名调用地址
  • API Key在下图红色箭头位置

LangChain4j实战之一:准备工作

  • 模型名在打开模型详情页后可以看到

LangChain4j实战之一:准备工作

  • 模型地址在下图红色箭头位置,点击查看API示例

LangChain4j实战之一:准备工作

  • 在新的页面就会展示嗲用地址,如下图红色箭头所示(注意选择第一个SDK调用配置的 base_url

LangChain4j实战之一:准备工作

准备工作三:创建maven工程

  • 创建名为langchain4j-totorials的maven工程,pom.xml内容如下
<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>

  <groupId>com.bolingcavalry</groupId>
  <artifactId>langchain4j-totorials</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>pom</packaging>

  <properties>
    <maven.compiler.source>21</maven.compiler.source>
    <maven.compiler.target>21</maven.compiler.target>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  
  <dependencyManagement>
    <dependencies>
      <!-- Spring Boot BOM -->
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-dependencies</artifactId>
        <version>3.3.5</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      
      <!-- LangChain4j BOM (Bill of Materials) -->
      <!-- BOM只负责版本管理,不会实际引入依赖 -->
      <!-- 子模块需要显式声明所需的依赖,但可以省略版本号 -->
      <dependency>
        <groupId>dev.langchain4j</groupId>
        <artifactId>langchain4j-bom</artifactId>
        <version>1.8.0</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <!-- 日志依赖由Spring Boot BOM自动管理,无需在此指定版本 -->
    </dependencies>
  </dependencyManagement>

  <!-- 子模块列表,后面的实战过程中会逐渐添加 -->
  <modules>
  </modules>
</project>
  • 至此,LangChain4j实战系列的准备工作已经完成,接下来会用丰富的编码实战与大家一同学习和掌握LangChain4j,第一会从一次精简的helloworld开始

源码下载(觉得作者啰嗦的,直接在这里下载)

  • 如果您只想快速浏览完整源码,可以在GitHub下载代码直接运行,地址和链接信息如下表所示(https://github.com/zq2599/blog_demos):

名称

链接

备注

项目主页

https://github.com/zq2599/blog_demos

该项目在GitHub上的主页

git仓库地址(https)

https://github.com/zq2599/blog_demos.git

该项目源码的仓库地址,https协议

git仓库地址(ssh)

git@github.com:zq2599/blog_demos.git

该项目源码的仓库地址,ssh协议

  • 这个git项目中有多个文件夹,本篇的源码在langchain4j-tutorials文件夹下,如下图红色箭头所示:

LangChain4j实战之一:准备工作

欢迎关注头条号:程序员欣宸

  • 学习路上,你不孤单,欣宸原创一路相伴...
  • 全部评论(0)
手机二维码手机访问领取大礼包
返回顶部