LangChain框架入门:手把手带你玩转LCEL表达
LangChain框架入门手把手带你玩转LCEL表达LangChain 是当前大模型应用开发中最热门的框架之一而 LCELLangChain Expression LanguageLangChain 表达式语言则是其核心的“魔法棒”。它让我们能够用简洁、可读、可组合的方式将提示词、模型、输出解析器等组件“串联”成一条条强大的处理流水线。本文将带你从零开始循序渐进地掌握 LCEL 的核心概念与实战技巧。### 一、为什么需要 LCEL在 LCEL 出现之前我们通常需要编写大量的样板代码来调用模型、处理中间结果、解析输出。比如你需要手动管理 prompt 模板的填充、调用model.generate()、再手动提取文本。这种代码不仅冗长而且难以复用和扩展。LCEL 的核心设计理念是**“一切皆表达式”**。它提供了一种统一的管道操作符|让不同的组件像 Unix 管道命令一样无缝连接。数据流从左侧流向右侧每一步的输入就是上一步的输出。这种设计极大地简化了代码提升了可读性和可维护性。### 二、LCEL 基础三大核心组件LCEL 的三大核心组件是1.Prompt 模板负责将用户输入和固定指令组合成最终的提示词。2.模型Model通常是 ChatOpenAI 或其它大语言模型负责接收提示词并生成回复。3.输出解析器将模型的原始文本输出解析为结构化的数据如字典、列表、Pydantic 对象。我们来写第一个 LCEL 表达式完成一个最简单的“翻译官”功能。python# 导入必要的库from langchain.prompts import ChatPromptTemplatefrom langchain.chat_models import ChatOpenAIfrom langchain.schema import StrOutputParser# 1. 创建 Prompt 模板prompt ChatPromptTemplate.from_template( 请将以下英文翻译成中文{english_text})# 2. 初始化模型请设置你的 OPENAI_API_KEY 环境变量model ChatOpenAI(modelgpt-4o-mini, temperature0)# 3. 初始化输出解析器直接返回字符串parser StrOutputParser()# 4. 使用管道符构建 LCEL 链chain prompt | model | parser# 5. 调用链传入输入参数result chain.invoke({english_text: Hello, LangChain!})# 输出翻译结果print(result) # 输出你好LangChain代码解读-prompt是一个模板它接受一个变量english_text。-model是核心的语言模型。-parser将模型返回的AIMessage对象提取为纯字符串。-chain.invoke()是执行 LCEL 链的统一入口。数据流是输入字典 → prompt 生成完整提示词 → 模型生成回复 → 解析器输出字符串。### 三、进阶链式调用与 RunnablePassthroughLCEL 的强大之处在于它可以组合多个链并且可以在链中传递和变换数据。RunnablePassthrough允许我们直接传递未修改的输入或者配合itemgetter提取特定字段。下面我们构建一个更复杂的链它先进行关键词提取再进行回答同时保留原始输入。pythonfrom langchain.prompts import ChatPromptTemplatefrom langchain.chat_models import ChatOpenAIfrom langchain.schema import StrOutputParserfrom langchain.schema.runnable import RunnablePassthrough, RunnableParallel# 子链1提取关键词keyword_prompt ChatPromptTemplate.from_template(从以下文本中提取3个关键词用逗号分隔{text})keyword_chain keyword_prompt | ChatOpenAI(modelgpt-4o-mini) | StrOutputParser()# 子链2基于关键词和原文生成摘要summarize_prompt ChatPromptTemplate.from_template( 以下是用户输入{text}\n\n提取的关键词{keywords}\n\n请基于这些信息生成一份简洁的总结。)summarize_chain summarize_prompt | ChatOpenAI(modelgpt-4o-mini) | StrOutputParser()# 组合链并行执行关键词提取并保留原始输入chain ( RunnableParallel( { keywords: keyword_chain, text: lambda x: x[text] # 直接传递原始文本 } ) | summarize_prompt | ChatOpenAI(modelgpt-4o-mini) | StrOutputParser())# 执行result chain.invoke({text: LangChain 是一个强大的框架它简化了 LLM 应用的开发流程。})print(result)关键点-RunnableParallel可以并行执行多个子链例如keyword_chain并将结果组装成一个字典。- 我们使用lambda x: x[text]将原始输入传递给后续步骤而keywords则由子链生成。- 这样最终链能同时使用关键词和原文生成更高质量的总结。### 四、高级技巧条件分支与自定义函数LCEL 还支持条件逻辑和自定义函数这让它几乎可以处理任何复杂的业务逻辑。#### 1. 条件分支使用RunnableBranch可以根据输入内容动态选择不同的处理路径。pythonfrom langchain.schema.runnable import RunnableBranch, RunnableLambda# 定义一个函数判断文本长度def is_long(text: str) - bool: return len(text) 50# 定义两个分支long_chain RunnableLambda(lambda x: f处理长文本{x[:10]}...)short_chain RunnableLambda(lambda x: f处理短文本{x})# 构建分支链branch_chain RunnableBranch( (lambda x: is_long(x[text]), long_chain), # 如果条件为True执行long_chain short_chain # 否则执行short_chain)result branch_chain.invoke({text: 这是一个很短的文本})print(result) # 输出处理短文本这是一个很短的文本#### 2. 自定义函数通过RunnableLambda我们可以将普通 Python 函数无缝嵌入到 LCEL 链中。pythonfrom langchain.schema.runnable import RunnableLambdadef add_score(text: str) - str: 自定义函数给文本添加评分 score len(text) * 2 return f{text} (得分{score})chain ( RunnableLambda(lambda x: x[input_text]) # 提取输入 | RunnableLambda(add_score) # 应用自定义函数)print(chain.invoke({input_text: 你好})) # 输出你好 (得分4)### 五、与 LangSmith 集成调试与监控在实际开发中调试 LCEL 链非常方便。你可以使用chain.invoke()直接运行也可以通过chain.batch()批量处理。更重要的是LCEL 原生支持 LangSmith 追踪你可以查看每一步的输入输出快速定位问题。python# 开启 LangSmith 追踪需要环境变量 LANGCHAIN_TRACING_V2true# 然后你的链会自动记录所有运行日志# 批量调用示例results chain.batch([{input_text: 你好}, {input_text: 世界}])print(results)### 六、总结LCEL 是 LangChain 中极具革命性的设计它让复杂的大模型应用变得像拼积木一样简单。通过|管道符我们可以轻松组合 Prompt、模型、解析器、Runnable 等组件构建出可读性高、可扩展性强的 AI 应用。从简单的翻译到并行处理、条件分支、自定义函数LCEL 都提供了优雅的解决方案。掌握 LCEL 不仅提升了开发效率也为构建更复杂的 Agent、RAG 系统打下了坚实的基础。希望本文能为你打开 LangChain 世界的大门赶快动手试试吧

相关新闻

区间预测 | MATLAB实现QGPR高斯过程分位数回归多变量时间序列区间预测

区间预测 | MATLAB实现QGPR高斯过程分位数回归多变量时间序列区间预测

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知,求助可私信。 &#x1f52…

2026/8/1 13:08:38 阅读更多 →
【回眸】Memmy Agent 智能体落地应用全景指南

【回眸】Memmy Agent 智能体落地应用全景指南

在日常的业务开发中,我们常常面临这样的困境:重复性的高频操作占据了团队大量精力,而真正需要创造性思维的工作却被挤压得所剩无几。无论是电商大促期间如潮水般的咨询消息,还是跨国业务中繁琐的语言转换,亦或是内部知…

2026/8/1 13:07:38 阅读更多 →
半导体MES厂商有哪些排名:别信榜单,按四个硬指标自己排

半导体MES厂商有哪些排名:别信榜单,按四个硬指标自己排

先泼盆冷水:半导体MES 这个行当,至今没有一份官方排名。SEMI 不排,工信部不排,行业协会也不排。你搜到的榜,要么是自家的营销稿,要么是媒体按营收粗估——参考价值有限。 与其记名字,不如记住四…

2026/8/1 13:07:38 阅读更多 →

最新新闻

15.6英寸便携双屏搭建全攻略:接口选型、系统配置与硬件避坑指南

15.6英寸便携双屏搭建全攻略:接口选型、系统配置与硬件避坑指南

1. 项目概述:为什么你需要一块15.6英寸的双屏?如果你和我一样,每天需要在多个文档、代码编辑器、浏览器标签和通讯软件之间来回切换,那么一块屏幕的“不动产”早就捉襟见肘了。传统的解决方案是购买两台显示器,但这意味…

2026/8/1 14:03:59 阅读更多 →
ESP32-S3驱动1.85寸触摸屏全攻略:从硬件解析到LVGL界面开发

ESP32-S3驱动1.85寸触摸屏全攻略:从硬件解析到LVGL界面开发

1. 项目缘起:为什么是ESP32-S3-Touch-LCD-1.85C? 最近在捣鼓一个需要显示交互界面的小玩意儿,选型时在琳琅满目的开发板和屏幕里挑花了眼。既要性能足够跑个流畅的UI,又要体积小巧、功耗低,最好还能直接触摸操作&#…

2026/8/1 14:03:59 阅读更多 →
AI应急管理方案采购避坑指南(仅限2024Q3内部流通版):识别伪智能的6个技术信号+3家已暴雷厂商SDK逆向分析摘要

AI应急管理方案采购避坑指南(仅限2024Q3内部流通版):识别伪智能的6个技术信号+3家已暴雷厂商SDK逆向分析摘要

更多请点击: https://kaifayun.com 第一章:AI应急管理方案采购避坑指南(仅限2024Q3内部流通版)概述 本指南聚焦于2024年第三季度国内政企单位在采购AI驱动型应急管理平台时高频暴露的典型风险点,基于对17家已落地项目…

2026/8/1 14:03:59 阅读更多 →
Assistants API将停止服务:Python迁移Responses API实战

Assistants API将停止服务:Python迁移Responses API实战

凌晨两点,线上客服机器人仍在不断创建 Thread、启动 Run、轮询状态。日志没有报错,接口也能正常返回,但这套代码已经进入倒计时。 OpenAI 已明确宣布:Assistants API 将于 2026年8月26日停止服务。它不是一次普通的 SDK 方法改名&…

2026/8/1 14:03:59 阅读更多 →
3分钟掌握NewTab-Redirect:让Chrome新标签页完全自定义

3分钟掌握NewTab-Redirect:让Chrome新标签页完全自定义

3分钟掌握NewTab-Redirect:让Chrome新标签页完全自定义 【免费下载链接】NewTab-Redirect NewTab Redirect! is an extension for Google Chrome which allows the user to replace the page displayed when creating a new tab. 项目地址: https://gitcode.com/g…

2026/8/1 14:03:59 阅读更多 →
MD Video:3分钟学会用Markdown轻松制作专业视频

MD Video:3分钟学会用Markdown轻松制作专业视频

MD Video:3分钟学会用Markdown轻松制作专业视频 【免费下载链接】mdvideo Markdown To Video, 一个将markdown文档转为视频的便捷工具 项目地址: https://gitcode.com/gh_mirrors/md/mdvideo 你是否曾经为了制作一个简单的演示视频而耗费数小时,在…

2026/8/1 14:02:59 阅读更多 →

日新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/1 0:00:48 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/1 0:00:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/1 0:00:48 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/8/1 13:02:46 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/8/1 5:19:34 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/8/1 10:33:33 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/1 0:00:48 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/1 0:00:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/1 0:00:48 阅读更多 →