【GPT入门】第22课 langchain LCEL介绍

【GPT入门】第22课 langchain LCEL介绍

  • [1. LCEL介绍与特点](#1. LCEL介绍与特点)
  • [2. 原生API与LCEL的对比](#2. 原生API与LCEL的对比)
  • [2. 简单demo](#2. 简单demo)

1. LCEL介绍与特点

LCEL 即 LangChain Expression Language,是 LangChain 推出的一种声明式语言,用于简化和优化在 LangChain 框架内构建复杂链和应用的过程 。以下详细介绍其特点和作用:
特点

声明式语法:传统的链式操作构建方式可能需要编写较多的代码和复杂的逻辑,而 LCEL 使用简洁的声明式语法,让开发者能够以一种直观的方式描述数据在各个组件之间的流动。例如,使用 | 操作符来连接不同的组件,就像搭积木一样轻松组合各个模块,大大提高了代码的可读性和可维护性。

易于组合:支持将不同的 LangChain 组件(如提示模板、语言模型、文档加载器、检索器等)灵活组合在一起,形成复杂的处理流程。开发者可以根据具体需求,快速调整和扩展链的结构,而无需对底层代码进行大规模修改。

流式处理:能够对数据进行流式处理,这意味着在处理大型数据集或长时间运行的任务时,可以逐步获取和处理结果,而不是等待整个任务完成后再获取输出。这种流式处理的方式可以提高系统的响应速度和用户体验。

作用
简化开发流程

开发者可以使用 LCEL 快速搭建起复杂的自然语言处理应用,而无需编写大量的样板代码。例如,在构建一个知识问答系统时,可以通过简单的链式操作将文档检索器、提示模板和语言模型连接起来,实现从文档中检索相关信息并生成答案的功能。

2. 原生API与LCEL的对比

2. 简单demo

c 复制代码
from langchain.prompts import PromptTemplate
from langchain_openai import ChatOpenAI
from langchain.schema.runnable import RunnablePassthrough

# 定义提示模板
prompt = PromptTemplate.from_template("关于 {topic} 的信息:")

# 初始化语言模型
llm = ChatOpenAI()

# 使用 LCEL 构建链式操作
chain = (
    {"topic": RunnablePassthrough()} | prompt | llm
)

# 运行链式操作
topic = "历史故事"
result = chain.invoke(topic)
print(result)

支持流式输出: 对于需要实时反馈的应用场景,如聊天机器人,LCEL 的流式处理功能可以让用户更快地看到部分结果,增强交互的实时性和流畅性。

c 复制代码
for chunk in chain.stream("科技前沿"):
    print(chunk, end="", flush=True)
相关推荐
染指11103 天前
122.Agent-LangChain核心组件-中间件-动态提示词(dynamic_promapt)
人工智能·langchain·agent·agents
全栈弄潮儿²⁰²⁴3 天前
AI Agent 开发实战(30):限流、缓存与成本控制
人工智能·gpt·缓存·agent·限流·agi·成本控制
LorryJovens3 天前
【LAAP科研】双系统具身AGI范式研究——基于LAAP认知架构与Jev概率决策模型的系统性技术调研与范式验证
人工智能·gpt·安全·架构
小林ixn3 天前
从 LangChain 到 LangGraph:用「网状工作流」解锁多 Agent 协作的正确姿势
langchain·llm·agent
徐健峰3 天前
Windows 安装 Codex CLI 教程:npm 安装、首次登录与常见报错排查【无图精华版】
人工智能·gpt
梦在远山后3 天前
从手写 Loop 到可恢复 Runtime:用 LangGraph、PostgreSQL Checkpoint 与 AG-UI 跑通中断恢复
python·langchain·agent
前端精髓4 天前
langchain TS 基本用法入门
langchain
BJ_Kingfisher4 天前
GPT Image 2.5 到底改了什么:一个单模型拆成了两条道
大数据·科技·gpt
小白勇闯网安圈4 天前
第5章 流式输出与人工审核
python·langchain
小白勇闯网安圈4 天前
第2章 状态 State 详解
python·langchain