LangChain4j -- LangChain4j入门大全
简介随着 ChatGPT、DeepSeek、Claude 等大语言模型LLM的快速发展企业应用正在从传统的软件逻辑转向LLM 数据 工具调用的智能应用模式。对于 Java 开发者来说直接调用大模型 API 通常需要处理HTTP 请求封装Prompt 管理上下文管理对话历史RAG 检索增强Function CallingAgent 编排这些能力如果全部自己实现成本较高。因此出现了类似 LangChain 的开发框架。什么是 LangChain4jLangChain4j 是 Java 生态中的 LLM 应用开发框架。它对应 Python 世界里的LangChain目标让 Java 开发者能够快速构建基于大模型的企业级应用。支持OpenAIAzure OpenAIDeepSeekClaudeOllama本地模型向量数据库RAGAgentMemoryTools整体架构用户请求 | v LangChain4j Application | ----------------------- | | ChatModel Embedding | | v v DeepSeek Vector DB GPT ES Claude Milvus Chroma2. LangChain4j 核心概念2.1 ChatModelChatModel 是最核心的接口。作用封装大模型聊天能力例如用户你好经过UserMessage ↓ ChatModel ↓ LLM ↓ AiMessage返回你好有什么可以帮助你的2.2 MessageLangChain4j 中消息分为SystemMessage系统角色例如你是一个数据治理专家UserMessage用户输入帮我分析这个SQLAiMessage模型回答该SQL存在索引问题代码UserMessage user UserMessage.from(你好);2.3 PromptPrompt 就是给模型的输入模板。例如普通解释一下Flink高级你是一名大数据专家。 请从架构、性能、应用场景分析Flink 问题 {question}企业应用基本都会做 Prompt Template。2.4 Memory上下文记忆大模型默认一次请求一次上下文。例如第一次我叫张三第二次我叫什么模型不知道。Memory保存历史消息User: 我叫张三 AI: 你好张三 User: 我叫什么 AI: 你叫张三2.5 EmbeddingEmbedding 是把文本转换成向量。例如文本Flink 是实时计算框架转换[ 0.231, 0.523, 0.892 ]用于相似度搜索RAG知识库问答LangChain4j 环境搭建Maven依赖dependency groupIddev.langchain4j/groupId artifactIdlangchain4j-open-ai/artifactId version0.35.0/version /dependency dependency groupIdcom.fasterxml.jackson.core/groupId artifactIdjackson-databind/artifactId version2.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); } }

相关新闻

2026年在洛阳新房装修,材料验收最严的是哪家?实测来了

2026年在洛阳新房装修,材料验收最严的是哪家?实测来了

干了二十多年家装,经手过上千套洛阳本地的毛坯房、老房改造项目,我深知业主最怕什么——不是花钱多,而是花了钱还被糊弄。尤其在材料环节,展厅里看的是大牌,进场时换成了“同款”,合同写得模糊,…

2026/6/27 6:49:38阅读更多 →
Node.js 后端代理怎么排查 AI API 故障:timeout、429、model_not_found 日志闭环

Node.js 后端代理怎么排查 AI API 故障:timeout、429、model_not_found 日志闭环

如果你问「Node.js 后端代理怎么排查 AI API 故障、Dify 和 Cursor 为什么一个能用一个失败、timeout、429、model_not_found 应该先查哪一层」,直接答案是:先让后端代理记录 Base URL、模型 ID、API Key 脱敏编号、项目、工具、状态码、耗时和重试次数&…

2026/6/27 6:49:38阅读更多 →
m3u8 视频在线提取,打开浏览器就能用

m3u8 视频在线提取,打开浏览器就能用

文章目录m3u8 视频在线提取,打开浏览器就能用m3u8 视频在线提取,打开浏览器就能用 GitHub 上有一个 m3u8 视频下载工具,Star 数超过 7000。 m3u8 是一种常见的视频格式,原理是把完整视频拆成多个 .ts 碎片文件,再用一…

2026/6/27 6:49:38阅读更多 →
3分钟魔法分层:Layerdivider如何将你的插画变成专业PSD分层文件?

3分钟魔法分层:Layerdivider如何将你的插画变成专业PSD分层文件?

3分钟魔法分层:Layerdivider如何将你的插画变成专业PSD分层文件? 【免费下载链接】layerdivider A tool to divide a single illustration into a layered structure. 项目地址: https://gitcode.com/gh_mirrors/la/layerdivider 还记得那个深夜吗…

2026/6/27 8:09:42阅读更多 →
新零售商家为何需要定制开发专属直播系统?

新零售商家为何需要定制开发专属直播系统?

如今,直播带货早已成为新零售行业的核心销售场景,线上直播引流、实时互动转化、私域用户复购,成为实体零售、线上电商商家拓客增收的关键方式。目前绝大多数中小新零售商家,普遍依赖第三方通用直播平台开展业务;但随着…

2026/6/27 8:09:42阅读更多 →
Video2X:免费AI视频放大与帧率提升的终极解决方案

Video2X:免费AI视频放大与帧率提升的终极解决方案

Video2X:免费AI视频放大与帧率提升的终极解决方案 【免费下载链接】video2x A machine learning-based video super resolution and frame interpolation framework. Est. Hack the Valley II, 2018. 项目地址: https://gitcode.com/GitHub_Trending/vi/video2x …

2026/6/27 8:09:42阅读更多 →
如何突破传统视频放大的像素拉伸限制?

如何突破传统视频放大的像素拉伸限制?

如何突破传统视频放大的像素拉伸限制? 【免费下载链接】video2x A machine learning-based video super resolution and frame interpolation framework. Est. Hack the Valley II, 2018. 项目地址: https://gitcode.com/GitHub_Trending/vi/video2x 视频放大…

2026/6/27 8:09:42阅读更多 →
智慧灌区干支渠流量监测可视化管理平台

智慧灌区干支渠流量监测可视化管理平台

某灌区管理单位计划对干渠及主要支渠实施智能化升级,旨在解决传统人工测流效率低、数据滞后、水资源调配粗放等问题。通过在关键渠段部署超声波流量计、水位计、闸位计及视频监控设备,结合工业物联网平台,构建一套覆盖“感知—传输—分析—控…

2026/6/27 8:09:42阅读更多 →
2026 企业 RPA 选型实战:中小企业落地避坑指南

2026 企业 RPA 选型实战:中小企业落地避坑指南

一、为什么 35% 的企业 RPA 项目会失败中小企业选 RPA,最大的误区是"看功能列表选工具"。功能多不等于能用,价格贵不等于靠谱。2026 年的 RPA 市场,国产工具崛起、AI 深度融合、部署模式分化,选型的逻辑已经变了。本文基…

2026/6/27 8:04:42阅读更多 →
【人工智能】一文搞定到底什么是智能体

【人工智能】一文搞定到底什么是智能体

【人工智能】一文搞定到底什么是智能体 一文搞定到底什么是智能体【人工智能】一文搞定到底什么是智能体一. LM,WorkFlow,Agent分别有什么么不同二. Agent的思考过程是怎样的三. Agent的五个核心部分1)LLM2)Prompt3)Me…

2026/6/26 11:03:22阅读更多 →
嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

1. 嵌入式GUI控件:从原理到实战的深度解析在嵌入式系统开发中,图形用户界面(GUI)的设计与实现往往是项目从“能用”到“好用”的关键一跃。不同于资源充沛的PC或移动平台,嵌入式设备的GUI需要在有限的CPU性能、内存空间…

2026/6/27 5:46:02阅读更多 →
Google AI Studio 300美元额度的真相与实战指南

Google AI Studio 300美元额度的真相与实战指南

1. 这300美金不是“送钱”,而是Google埋下的第一道技术门槛 你看到标题里那个醒目的“$300美金”时,第一反应可能是:又一个免费额度?领完就完事?我亲手试过——这300美金根本不是红包,而是一张入场券&…

2026/6/26 9:29:01阅读更多 →
10分钟AI语音克隆与实时变声:Retrieval-based-Voice-Conversion-WebUI完整指南

10分钟AI语音克隆与实时变声:Retrieval-based-Voice-Conversion-WebUI完整指南

10分钟AI语音克隆与实时变声&#xff1a;Retrieval-based-Voice-Conversion-WebUI完整指南 【免费下载链接】Retrieval-based-Voice-Conversion-WebUI Easily train a good VC model with voice data < 10 mins! 项目地址: https://gitcode.com/GitHub_Trending/re/Retrie…

2026/6/27 0:04:03阅读更多 →
Layerdivider:3分钟AI智能分层,彻底告别手动抠图时代

Layerdivider:3分钟AI智能分层,彻底告别手动抠图时代

Layerdivider&#xff1a;3分钟AI智能分层&#xff0c;彻底告别手动抠图时代 【免费下载链接】layerdivider A tool to divide a single illustration into a layered structure. 项目地址: https://gitcode.com/gh_mirrors/la/layerdivider 还在为复杂的图像分层工作烦…

2026/6/27 0:04:03阅读更多 →
Tomcat中X-Frame-Options配置实战:防御点击劫持的四种方法与最佳实践

Tomcat中X-Frame-Options配置实战:防御点击劫持的四种方法与最佳实践

1. 项目概述&#xff1a;为什么X-Frame-Options是Web安全的“防盗门”&#xff1f;最近在排查一个老项目的安全审计报告时&#xff0c;又被提到了“点击劫持”风险&#xff0c;矛头直指缺失的X-Frame-Options响应头。这已经不是第一次了&#xff0c;很多开发团队&#xff0c;尤…

2026/6/27 0:04:03阅读更多 →