LangChain表达式 (LCEL)
LangChain 是一个用于开发由大型语言模型 (LLMs) 驱动的应用程序的框架。
LangChain 简化了 LLM 应用程序生命周期的每个阶段:
开发:使用 LangChain 的开源 构建模块、组件 和 第三方集成 构建您的应用程序。 使用 LangGraph 构建具有一流流式处理和人机协作支持的有状态代理。(重点)
生产化:使用 LangSmith 检查、监控和评估您的链,以便您可以持续优化并自信地部署。(不是重点,可不用了解)
部署:将您的 LangGraph 应用程序转变为生产就绪的 API 和助手,使用 LangGraph Cloud。(重点)
Langchain框架由以下开源库组成:
langchain-core: 基础抽象和LangChain表达式 (LCEL)。
langchain-community: 第三方集成。 合作伙伴库(例如 langchain-openai、langchain-anthropic 等):一些集成已进一步拆分为自己的轻量级库,仅依赖于 langchain-core。
langchain: 组成应用程序认知架构的链、代理和检索策略。
LangGraph: 通过将步骤建模为图中的边和节点,构建强大且有状态的多参与者应用程序。与LangChain无缝集成,但也可以单独使用。
LangServe: 将LangChain链部署为REST API。
LangSmith: 一个开发者平台,让您调试、测试、评估和监控LLM应用程序。
LangChain表达式 (LCEL)
LCEL的全称是LangChain Expression Language。其实他的用处就是使用“|”运算符链接LangChain应用的各个组件 是一种声明式的方法来链接LangChain组件。 LCEL 从第一天起就被设计为支持将原型投入生产,无需代码更改,从最简单的“提示词 + 大型语言模型”链到最复杂的链(我们看到有人成功在生产环境中运行包含数百个步骤的 LCEL 链)。
LCEL的各种语法
- Runnable节点
- 节点调用、批量、流式运行
- 组合成chain
- 并行调用运行
- 合并输入和输出字典
- 后备选项
- 重复多次执行Runnable节点
- 条件构建chain
- map高阶处理
- 打印chain图形
- 生