LangChain 36 深入理解LangChain 表达式语言优势一 LangChain Expression Language (LCEL)

发布时间:2023年12月26日

LangChain系列文章

  1. LangChain 实现给动物取名字
  2. LangChain 2模块化prompt template并用streamlit生成网站 实现给动物取名字
  3. LangChain 3使用Agent访问Wikipedia和llm-math计算狗的平均年龄
  4. LangChain 4用向量数据库Faiss存储,读取YouTube的视频文本搜索Indexes for information retrieve
  5. LangChain 5易速鲜花内部问答系统
  6. LangChain 6根据图片生成推广文案HuggingFace中的image-caption模型
  7. LangChain 7 文本模型TextLangChain和聊天模型ChatLangChain
  8. LangChain 8 模型Model I/O:输入提示、调用模型、解析输出
  9. LangChain 9 模型Model I/O 聊天提示词ChatPromptTemplate, 少量样本提示词FewShotPrompt
  10. LangChain 10思维链Chain of Thought一步一步的思考 think step by step
  11. LangChain 11实现思维树Implementing the Tree of Thoughts in LangChain’s Chain
  12. LangChain 12调用模型HuggingFace中的Llama2和Google Flan t5
  13. LangChain 13输出解析Output Parsers 自动修复解析器
  14. LangChain 14 SequencialChain链接不同的组件
  15. LangChain 15根据问题自动路由Router Chain确定用户的意图
  16. LangChain 16 通过Memory记住历史对话的内容
  17. LangChain 17 LangSmith调试、测试、评估和监视基于任何LLM框架构建的链和智能代理
  18. LangChain 18 LangSmith监控评估Agent并创建对应的数据库
  19. LangChain 19 Agents Reason+Action自定义agent处理OpenAI的计算缺陷
  20. LangChain 20 Agents调用google搜索API搜索市场价格 Reason Action:在语言模型中协同推理和行动
  21. LangChain 21 Agents自问自答与搜索 Self-ask with search
  22. LangChain 22 LangServe用于一键部署LangChain应用程序
  23. LangChain 23 Agents中的Tools用于增强和扩展智能代理agent的功能
  24. LangChain 24 对本地文档的搜索RAG检索增强生成Retrieval-augmented generation
  25. LangChain 25: SQL Agent通过自然语言查询数据库sqlite
  26. LangChain 26: 回调函数callbacks打印prompt verbose调用
  27. LangChain 27 AI Agents角色扮演多轮对话解决问题CAMEL
  28. LangChain 28 BabyAGI编写旧金山的天气预报
  29. LangChain 29 调试Debugging 详细信息verbose
  30. LangChain 30 ChatGPT LLM将字符串作为输入并返回字符串Chat Model将消息列表作为输入并返回消息
  31. LangChain 31 模块复用Prompt templates 提示词模板
  32. LangChain 32 输出解析器Output parsers
  33. LangChain 33: LangChain表达语言LangChain Expression Language (LCEL)
  34. LangChain 34: 一站式部署LLMs使用LangServe
  35. LangChain 35: 安全最佳实践深度防御Security

在这里插入图片描述

1. LangChain 表达式语言LangChain Expression Language(LCEL)

LangChain 表达式语言或 LCEL 是一种声明性的方式,可以轻松地组合链。LCEL 从第一天开始设计,支持将原型投入生产,而不需要进行任何代码更改,从最简单的“提示 + LLM”链到最复杂的链(我们已经看到人们成功地在生产中运行了具有数百个步骤的 LCEL 链)。以下是您可能想使用 LCEL 的几个原因:

1.1 Streaming support流支持

当您使用 LCEL 构建链时,可以获得最佳的时间到第一个令牌(时间,直到第一个输出块出现)的支持。对于某些链,这意味着我们直接从 LLM 流式传输令牌到流式输出解析器,您会得到解析后的增量输出块,其速率与 LLM 提供程序输出原始令牌的速率相同。

1.2 Async support LCEL支持异步

任何使用LCEL构建的链,既可以使用同步API(例如在Jupyter笔记本中进行原型设计),也可以使用异步API(例如在LangServe服务器中)。这使得可以在原型和生产环境中使用相同的代码,性能出色,并且能够在同一服务器上处理许多并发请求。

1.3 Optimized parallel execution 优化的并行执行

当您的LCEL链具有可以并行执行的步骤(例如,如果您从多个检索器中获取文档),我们会自动执行,无论是在同步接口还是异步接口中,以获得最小的延迟。

1.4 Retries and fallbacks 重试和回退

针对LCEL链的任何部分配置重试和回退。这是使您的链在规模上更加可靠的好方法。我们目前正在致力于为重试/回退添加流式支持,这样您就可以获得额外的可靠性而无需延迟成本。

1.5 Access intermediate results 访问中间结果

对于更复杂的链,通常在产生最终输出之前访问中间步骤的结果非常有用。这可以用于让最终用户知道正在发生某事,甚至只是为了调试您的链。您可以流式传输中间结果,并且它在每个LangServe服务器上都可用。

1.6 Input and output schemas 输入和输出模式

输入和输出模式根据您的链的结构推断出每个LCEL链的Pydantic和JSONSchema模式。这可用于验证输入和输出,并且是LangServe的一个组成部分。

1.7 Seamless LangSmith tracing integration 无缝的LangSmith追踪集成

随着您的链变得越来越复杂,准确了解每一步发生了什么变得越来越重要。使用LCEL,所有步骤都会自动记录到LangSmith中,以实现最大的可观察性和调试能力。

1.8 Seamless LangServe deployment integration 无缝的LangServe部署集成

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

文章来源:https://blog.csdn.net/zgpeace/article/details/135191585
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。