【LangChain系列 2】LangChain核心模块简介(一)

原文地址:LangChain系列 2】LangChain模块简介(一)

本文速读:

  • Model I/O

  • Retrieval

  • Chains

01 Model I/O


大模型应用最核心当然是大模型本身,而LangChain就是在大模型在基础上,提供了一些基础模块,我们可以通过这些基础模块与大模型进行交互,主要包括:

  • Prompts:通过模版将prompts输入给大模型(Input)。

  • Language models:调用语言模型的一些接口(Model)。

  • Output Parsers:对于大模型输出进行解析(Output)。

这些模块统称为Model I/O,其数据流图如下所示:

Image

02 Retrieval


我们知道LLM需要训练数据去训练它,而且数据质量越好,训练出来的模型效果更好。除了训练数据,很多LLM应用还需要特定的数据,而这些数据的主要是通过RGA(Retrieval Augmented Generation)而来的;在这个过程中,通过检索外部的数据,然后输入给LLM。

对于RGA应用,LangChain提供了所有的构建模块,主要模块如下图所示:

Image

  • 文档加载器:加载不同数据源的文档,总共有100多种加载器。

  • 文档转换器:一种主要的转换器就是分割,比如将大段文本分割成小块,LangChain提供了几种不同的分割算法。

  • 文本embedding模型:将文本向量化,简单来说就是将文本数字化。

  • 向量存储:用来存储向量化的文本。

  • 检索:在数据库中进行向量的检索。

03 Chains


Chain简单来说就是:将一系列的调用组件链接在一起,既可以是线性的顺序链,也可以是类似有向图的顺序链。通过链这种方式,我们就可以将多个组件进行组合、协同从而创建一个简单、统一的应用。

LangChain主要的链类型有:

  • LLM链(LLMChain):将LLM和prompt链接在一起。

  • 简单顺序链(SimpleSequentialChain):线性的,单个输入单个输出。

    Image

  • 常规顺序链(SequentialChain):类似有向图,可以多个输入,多个输出。

    Image

  • 路由链(RouterChain):包含子链路。

Image

Model I/O、Retrieval、Chains这3 个模块就是 LangChain模块简介 的第一部分,下篇我们将介绍它的第二部分。

更多最新文章,请关注公众号:大白爱爬山

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值