LangChain概念大全

78 阅读3分钟

1. 基本概念

  • 链(Chains) :LangChain 通过链的形式组合各个组件,以实现复杂的应用。链可以是简单的,也可以是复杂的多步操作。
  • 组件(Components) :链中的各个组成部分,包括提示(prompts)、模型(models)、解析器(parsers)等。
  • LangChain Expression Language (LCEL) :一种直观的链式组合语法,支持高级功能如流处理、异步调用、批处理、并行化、重试、回退和追踪。

2. 提示(Prompts)

  • Prompt Templates:定义输入格式的模板。

    • ChatPromptTemplate:用于聊天模型的提示模板。
    • PromptTemplate:用于常规语言模型的提示模板。

3. 模型(Models)

  • 语言模型(LLMs) :用于生成文本的模型,如 OpenAI 的 GPT 系列。

    • ChatOpenAI:OpenAI 的聊天模型。
    • OpenAI:OpenAI 的常规语言模型。
    • Anthropic:Anthropic 的语言模型,如 Claude 系列。

4. 解析器(Parsers)

  • Output Parsers:将模型输出解析为特定格式的解析器。

    • StrOutputParser:将输出解析为字符串。

5. 内存(Memory)

  • Memory Objects:用于在调用之间持久化数据。

    • ConversationBufferMemory:用于对话链条的内存对象。
    • SimpleMemory:简单的键值对内存。

6. 工具(Tools)

  • 工具(Tools) :代理用来与外界交互的接口。

    • 名称(Name) :工具的名称。
    • 描述(Description) :工具的描述。
    • JSON schema:工具输入的 JSON 模式。
    • 函数(Function) :工具执行的具体函数。
    • 直接返回结果(Return Direct) :是否直接将工具的结果返回给用户。
  • 内置工具(Built-in Tools) :如 WikipediaQueryRun。

  • 自定义工具(Custom Tools) :用户可以定义自己的工具。

7. 工具包(Toolkits)

  • 工具包(Toolkits) :为特定任务组合在一起的工具集合,提供便利的加载方法。

8. 链条(Chains)

  • LLMChain:通过提示模板和语言模型组合而成的链。
  • SequentialChain:顺序执行的链条。
  • ParallelChain:并行执行的链条。
  • RouterChain:基于条件路由的链条。
  • Memory Chain:使用内存对象的链条。
  • Structured Output Chain:生成结构化输出的链条。

9. LangChain Expression Language (LCEL)

  • 基本组件(Base Components) :所有 LCEL 对象都实现 Runnable 接口。
  • 组合原语(Composition Primitives) :如并行化组件、添加回退、动态配置等。

10. 高级功能

  • 流处理(Streaming) :实时处理模型输出。
  • 异步调用(Asynchronous Calls) :异步执行链条。
  • 批处理(Batching) :批量处理输入。
  • 并行化(Parallelization) :并行执行多个链条。
  • 重试(Retries) :失败后的重试机制。
  • 回退(Fallbacks) :失败后的回退策略。
  • 追踪(Tracing) :对链条执行过程的追踪和日志记录。

11. 错误处理

  • ToolException:工具执行过程中抛出的异常。
  • 错误处理函数(Error Handling Functions) :自定义错误处理逻辑。

12. OpenAI 函数

  • OpenAI Functions:LangChain 工具可以转换为 OpenAI 函数格式。

13. 超时和迭代限制

  • 最大执行时间(Max Execution Time) :设置代理的最大执行时间。
  • 最大迭代次数(Max Iterations) :设置代理的最大迭代次数。

14. 中间步骤访问

  • 返回中间步骤(Return Intermediate Steps) :返回代理执行过程中的中间步骤。

15. 处理解析错误

  • 处理解析错误(Handle Parsing Errors) :自定义解析错误的处理方式。