news 2026/7/3 17:51:10

LangChain4j -- LangChain4j入门大全

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LangChain4j -- LangChain4j入门大全

简介

随着 ChatGPT、DeepSeek、Claude 等大语言模型(LLM)的快速发展,企业应用正在从传统的软件逻辑转向LLM + 数据 + 工具调用的智能应用模式。

对于 Java 开发者来说,直接调用大模型 API 通常需要处理:

  • HTTP 请求封装
  • Prompt 管理
  • 上下文管理
  • 对话历史
  • RAG 检索增强
  • Function Calling
  • Agent 编排

这些能力如果全部自己实现,成本较高。

因此出现了类似 LangChain 的开发框架。


什么是 LangChain4j?

LangChain4j 是 Java 生态中的 LLM 应用开发框架。

它对应 Python 世界里的:

LangChain

目标:

让 Java 开发者能够快速构建基于大模型的企业级应用。

支持:

  • OpenAI
  • Azure OpenAI
  • DeepSeek
  • Claude
  • Ollama
  • 本地模型
  • 向量数据库
  • RAG
  • Agent
  • Memory
  • Tools

整体架构:

用户请求 | v LangChain4j Application | +-----------+------------+ | | ChatModel Embedding | | v v DeepSeek Vector DB GPT ES Claude Milvus Chroma

2. LangChain4j 核心概念

2.1 ChatModel

ChatModel 是最核心的接口。

作用:

封装大模型聊天能力

例如:

用户:

你好

经过:

UserMessage ↓ ChatModel ↓ LLM ↓ AiMessage

返回:

你好,有什么可以帮助你的?

2.2 Message

LangChain4j 中消息分为:

SystemMessage

系统角色:

例如:

你是一个数据治理专家

UserMessage

用户输入:

帮我分析这个SQL

AiMessage

模型回答:

该SQL存在索引问题

代码:

UserMessage user = UserMessage.from("你好");

2.3 Prompt

Prompt 就是给模型的输入模板。

例如:

普通:

解释一下Flink

高级:

你是一名大数据专家。 请从架构、性能、应用场景分析Flink 问题: {question}

企业应用基本都会做 Prompt Template。


2.4 Memory(上下文记忆)

大模型默认:

一次请求一次上下文。

例如:

第一次:

我叫张三

第二次:

我叫什么?

模型不知道。

Memory:

保存历史消息:

User: 我叫张三 AI: 你好张三 User: 我叫什么? AI: 你叫张三

2.5 Embedding

Embedding 是把文本转换成向量。

例如:

文本:

Flink 是实时计算框架

转换:

[ 0.231, 0.523, 0.892 ]

用于:

  • 相似度搜索
  • RAG
  • 知识库问答

LangChain4j 环境搭建

Maven依赖

<dependency> <groupId>dev.langchain4j</groupId> <artifactId>langchain4j-open-ai</artifactId> <version>0.35.0</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.16.2</version> </dependency>

注意:

LangChain4j 0.35 对 Jackson 版本有要求。

如果使用旧版本:

jackson-databind 2.11

可能出现:

PropertyNamingStrategies$SnakeCaseStrategy ClassNotFoundException

开发一个简单的天气机器人

package org.utils; import dev.langchain4j.data.message.ChatMessage; import dev.langchain4j.data.message.ChatMessageType; import dev.langchain4j.data.message.UserMessage; import dev.langchain4j.model.chat.request.ChatRequest; import dev.langchain4j.model.chat.response.ChatResponse; import dev.langchain4j.model.openai.OpenAiChatModel; import lombok.var; import static dev.langchain4j.data.message.ChatMessageType.USER; public class LongChainUtil { public static void main(String[] args) { OpenAiChatModel model = OpenAiChatModel.builder() .baseUrl("http://xxx-ai.com/v1") .apiKey("xxxx") .modelName("deepseek-reasoner") .build(); ChatRequest request = ChatRequest.builder() .messages( SystemMessage.from( "你是一个天气专家,功能如下:" + "1.回复具体的天气情况" + "2.根据天气给出穿衣建议" ), UserMessage.from("北京朝阳区今天天气")) .build(); var response = model.chat(request); } }

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/27 6:47:09

pytorch16->完整模型运行实例

import torch import torchvision from torch import nn from torch.nn import Conv2d, MaxPool2d, Flatten, Linear, Sequential from torch.utils.data import DataLoader from torch.utils.tensorboard import SummaryWriter# 1. 准备数据集 train_data torchvision.datase…

作者头像 李华
网站建设 2026/6/27 6:43:39

凯尼克PPU机械手为什么能快速抓放小零件?

凯尼克PPU机械手之所以能够在自动化产线中实现小零件的高速、精准抓放、快速移栽拾放。具体优势体现在以下三个关键方面&#xff1a;1. 极致的循环节拍 得益于高度集成的机械传动结构&#xff0c;凯尼克PPU实现了惊人的搬运效率。其最快循环速度可达 0.7秒/次&#xff08;每分钟…

作者头像 李华
网站建设 2026/6/27 6:40:18

苏州化学药企MES/WMS系统CSV验证案例 | GMP合规实战

标签&#xff1a;#GMP复认证 #接口专项验证 #GAMP5实战 #知识转移案例摘要&#xff1a;苏州某大型化学制药企业在新固体制剂车间投产之际同步部署MES与WMS系统&#xff0c;GMP复认证恰在系统上线后第三个月。我们在四方协作框架下&#xff0c;以接口独立验证和风险驱动测试为核…

作者头像 李华
网站建设 2026/6/27 6:38:32

观远数据发布DecideX:企业AI的下一站,不是更会答,而是更会决策

2026年6月26日&#xff0c;在成立十周年之际&#xff0c;观远数据正式发布DecideX AI决策智能平台。 在主题演讲《决策新世代&#xff1a;5A路径与AI决策智能平台》中&#xff0c;观远数据创始人兼CEO苏春园分享了对于企业AI下一阶段发展的思考。过去几年&#xff0c;大模型快速…

作者头像 李华
网站建设 2026/6/27 6:38:04

不会写代码,也能用 AI 构建软件:AI Coding 零基础教程前言

不会写代码&#xff0c;也能用 AI 构建软件&#xff1a;AI Coding 零基础教程前言很多人一听到“做软件”&#xff0c;第一反应还是&#xff1a;我不会写代码&#xff0c;应该跟我没关系。 但 AI Coding 正在改变这件事。现在&#xff0c;一个没有系统学过编程的人&#xff0c;…

作者头像 李华
网站建设 2026/6/27 6:35:37

RAGFlow 法律法规类文档切片参数最佳配置指南

适用场景:法律法规、合同条款、行业合规手册、地方建设标准、司法解释等结构化但语义复杂的文档。 目标:在 RAGFlow 中实现条款级精准检索、零偏差法条引用、跨条款关联推理。 一、解析方法(Chunk Method)选择 选择 适用情况 说明 Laws(首选) 标准法规、条款编号清晰(第…

作者头像 李华