一架梯子,一头程序猿,仰望星空!
LangChain教程(Python版本) > 内容正文

LangChain Expression Language (LCEL)介绍


LangChain Expression Language (简称LCEL)是一种声明式的AI工作流编排方式,可以轻松地将多个处理步骤,像链条一样组合在一起,所以LCEL定义的工作流,在LangChain中称为链条(Chain)。从最简单的“提示(prompt)+LLM”链到最复杂的链条(例如由数百个步骤组成的链(Chain))

LangChain Expression Language特性如下:

  • 流式处理支持:使用LCEL构建链条时,为了尽快获取LLM模型返回的内容,LCEL也支持流式处理(Streaming),实现类似ChatGPT一个个字符逐步返回内容的效果。

  • 异步支持:使用LCEL构建的任何链条都可以使用同步API和使用异步API。使用异步API目的是为了改善性能,支持更高的并发请求。

  • 支持并行执行:每当您的LCEL链条具有可以并行执行的步骤时(例如,如果您从多个检索器获取文档),我们都会自动执行它,用于同步和异步接口,以实现尽可能小的延迟。

  • 重试和回退:为LCEL链条的任何部分配置重试和回退。

  • 支持访问中间结果:对于复杂的工作流链条,在debug的时候,通常希望可以浏览不同任务步骤之间的中间结果。

  • 输入和输出模式:输入和输出模式根据链条结构推断,为每个LCEL链条提供了Pydantic和JSONSchema模式。这可用于验证输入和输出,是LangServe的一个组成部分。

  • 支持跟LangSmith监控服务集成:随着链条变得越来越复杂,准确了解每个步骤发生了什么变得越来越重要。使用LCEL,所有步骤都会自动记录到LangSmith,以实现最大的可观察性和调试性。

  • 支持LangServe部署:使用LCEL创建的任何链条都可以轻松使用LangServe进行部署。



关联主题