LangChain 概述 (模块索引)


一、简介

 LangChain 是一个用于开发由大型语言模型 (LLM) 支持的应用程序的开发框架。LangChain 简化了 LLM 应用程序生命周期的每个阶段:

  • Open-source libraries:使用 LangChain 的 modular building blockscomponents 构建您的应用程序,并集成了大量的 third-party providers
  • Productionization:使用 LangSmith 检查、监控和评估您的链,以便您可以不断优化和自信地部署。
  • Deployment:使用LangGraph Cloud 将您的 LangGraph 应用程序转换为可以直接用的 API 和助手。

 更仔细地,该框架由下面的开源库组成,见下图:
在这里插入图片描述

  • langchain-core:基础抽象和 LangChain 表达语言。
  • langchain-community:第三方集成。
    • Partner packages:如 langchain-openai、langchain-anthropic 等,一些集成已进一步拆分为自己的轻量级包,仅依赖于 langchain-core。
  • langchain:构成应用程序认知架构的链、代理和检索策略 (Chains, agents, retrieval strategies)。
  • langgraph:通过将步骤建模为图中的边和节点,使用LLM构建健壮且有状态的多参与者应用程序。与LangChain顺利集成,但可以在没有它的情况下使用。
  • langserve:将 LangChain 链部署为 REST APIs。
  • LangSmith:一个开发人员平台,可让您调试、测试、评估和监控 LLM 应用程序。

二、langchain基本工作流程 (RAG基本流程)

在这里插入图片描述


三、langchain 能帮助我们干什么

1、LLMs 和 Prompts (提示)

 这包括 显示管理、提示优化、所有 LLM 的通用接口、用于使用 LLM 的通用实用程序

2、Chain (链)

 链超越了单个 LLM 调用,并涉及一系列调用 (无论是 LLM 还是不同的实用程序)。
 Langchain 为链提供了标准接口,与其他工具进行了大量集成,并为常见应用程序提供了端到端链。

3、Data Arguemented Generation

 数据增强生成涉及 特定类型的链,这些链首先与 外部数据源 交互以获取数据以用于 生成步骤 (generation step)。示例包括长文本片段的摘要和特定数据源的问/答。

4、Agents (代理)

 代理涉及LLM决定采取哪些行动,采取该行动,查看观察结果,并重复直到完成。LangChain为代理提供了一个标准界面、可供选择的代理选择以及端到端代理的示例。

5、memory (记忆)

 记忆是指链/代理调用之间的持久状态。LangChain 提供了一个记忆的标准接口、记忆实现的集合以及使用记忆的链/代理的示例。

6、Evaluation (评估)

 [测试版]众所周知,生成模型很难用传统指标进行评估。评估它们的一种新方法是使用语言模型本身进行评估。LangChain提供了一些提示/链来协助这一点。


四、核心功能

 其中包括以下内容:

  1. 从模型中返回结构化的数据
  2. 使用模型调用工具
  3. 流式可运行对象
  4. 调试 LLM 应用

1、流式传输 streaming

 在大语言模型中,流式传输 streaming 通常指的是一种数据处理方式,其中数据是 连续不断地 传输和处理,而不是一次性批量传输。这种方法有以下几个关键特征和应用:

  1. 实时处理,流式传输允许模型 实时处理输入数据,而不是等待所有数据都传输完毕后再进行处理。这对于需要即时响应的应用非常重要,如在线翻译、语音识别、实时聊天机器人等。
  2. 减少延迟,通过流式传输,数据可以 分块处理,每个块的数据可以在接收到后立即进行处理,从而 减少整体延迟,提高响应速度。
  3. 资源管理,流式传输可以更有效地利用资源,因为它 不需要在内存中一次性加载所有数据,适合处理大规模数据或内存受限的场景。
  4. 适应动态数据,在一些应用中, 数据是 不断变化和更新的,如社交媒体流、传感器数据等。流式传输能够动态适应这些数据的变化,提供持续的模型推理和输出。

五、LCEL

 LCEL 是一种创建任意自定义链的方法。它基于 Runnable 协议。LCEL cheatsheet:快速概览如何使用主要 LCEL 原语。


六、组成部分

 LangChain 为使用 LLM 构建的各种组件提供了标准的、可扩展的接口和外部集成。LangChain 实现的一些组件,我们依赖第三方集成的一些组件和其他组件是混合的。

  1. Chat models 聊天模型
  2. LLMs 大语言模型
  3. Messages 消息
  4. Promp template 提示词模板
  5. Example selectors 示例选择器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值