LangChain手册01-基本概念

  1. 简介

LangChain 是一个用于开发由语言模型驱动的应用程序的框架。我们相信,最强大和差异化的应用程序不仅会通过 API 调用语言模型,而且还会:

  1. 数据感知:将语言模型连接到其他数据源
  2. Be agentic:允许语言模型与其环境交互

因此,LangChain 框架的设计目标是支持这些类型的应用程序。

LangChain 框架提供了两个主要的价值支柱:

  1. 组件:LangChain 为使用语言模型所需的组件提供模块化抽象。LangChain 也有所有这些抽象的实现集合。这些组件旨在易于使用,无论您是否使用 LangChain 框架的其余部分。
  2. 特殊链实例:链可以被认为是以特定方式组装这些组件,以便最好地完成特定用例。这些旨在成为一个更高级别的界面,人们可以通过它轻松地开始使用特定的用例。这些链条还设计为可定制。

因此,我们将以下文档分为这两个价值支柱。在本文档中,我们以与语言无关的方式在高层次上讨论组件和用例。有关使用这些组件和处理这些用例的特定语言方式,请参阅页面顶部链接的特定语言部分。

  1. 组件

在本节中,我们首先介绍一些底层模式抽象,然后再深入介绍 LangChain 的六个主要组件。

Schema模式、Models模型、Prompts提示、Indexes索引、Memory记忆、Chains链条和Agents代理。

    1. Schema模式

本节介绍了整个代码库中使用的基本数据类型和模式

1、文本

使用语言模型时,与它们交互的主要界面是文本。作为过度简化,许多模型都是文本输入,文本输出。因此,LangChain 中的很多界面都是以文本为中心的。

2、聊天信息

最终用户与之交互的主要界面是聊天界面。出于这个原因,一些模型提供者甚至开始以期望聊天消息的方式提供对底层 API 的访问。这些消息有一个内容字段(通常是文本)并与用户相关联。目前支持的用户是系统、人类和人工智能。

SystemChatMessage代表信息的聊天消息应该是对 AI 系统的指令。

HumanChatMessage代表来自与 AI 系统交互的人的信息的聊天消息。

AIChatMessage代表来自 AI 系统的信息的聊天消息。

3、示例

示例是输入/输出对,表示函数的输入和预期的输出。它们可用于模型的训练和评估。

这些可以是模型或链的输入/输出。两种类型的示例都有不同的目的。模型示例可用于微调模型。链的示例可用于评估端到端链,甚至可以训练模型来替换整个链。

4、文档

一段非结构化数据。由page_content(数据的内容)和metadata(描述数据属性的辅助信息)组成。

    1. Models模型

文档的这一部分涉及 LangChain 中使用的不同类型的模型。在此页面上,我们将在较高层次上介绍模型类型,但我们为每种模型类型提供了单独的页面。

LLMs

大型语言模型 (LLM) 是我们涵盖的第一类模型。这些模型将文本字符串作为输入,并返回文本字符串作为输出。

Chat Models聊天模型

聊天模型是我们涵盖的第二种类型的模型。这些模型通常由语言模型支持,但它们的 API 更加结构化。具体来说,这些模型将聊天消息列表作为输入,并返回聊天消息。

Text Embedding Models文本嵌入模型

我们涵盖的第三种模型是文本嵌入模型。这些模型将文本作为输入并返回一个浮点数列表。

    1. Prompts提示

编程模型的新方法是通过提示。提示指的是模型的输入。此输入很少被硬编码,而是通常由多个组件构成。PromptTemplate 负责构建此输入。LangChain 提供了几个类和函数来简化提示的构建和使用。

这部分文档分为四个部分:

提示值

表示模型输入的类。

提示是指传递给基础模型的内容。主要抽象在 LangChain 中有提示,因此所有处理文本数据。对于其他数据类型(图像、音频),我们正在努力添加抽象,但目前还没有。

不同的模型可能需要不同的数据格式。在可能的情况下,我们希望允许在不同的模型类型中使用相同的提示。出于这个原因,我们有一个 PromptValue 的概念。这是一个类,它公开要转换为每个模型类型期望的确切输入类型的方法(目前是文本或 ChatMessages

提示模板

负责构造 PromptValue 的类。

PromptValue 是最终传递给模型的内容。大多数时候,这个值不是硬编码的,而是根据用户输入、其他非静态信息(通常来自多个来源)和固定模板字符串的组合动态创建的。我们将负责创建 PromptValue 的对象称为 PromptTemplate。该对象公开了一种用于获取输入变量并返回 PromptValue

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值