赞
踩
LangChain No.1
最最最最重要的一点,LangChain
是基于JavaScript
语言编写的,只需要学会TypeScript
的使用,学习LangChain
框架就不是问题,这无疑利好于前端开发同学。
其次,很多前端开发同学在工作中会觉得存在感低,工作年限越久焦虑感越强!那么,在当下大模型如此火热的时候,学习LangChain
开始大语言模型的使用,是前端开发同学一个非常不错的选择。
下面从LangChain
的基本介绍开始本专栏的第一篇文章。
LangChain
是一个开源框架,它提供了Python
和JavaScript(TypeScript)
两个包。它可以把一些大语言模型(LLM
,如ChatGPT-4
等)和外部数据结合起来(让模型链接自定义的知识库),也就是说,它可以让你的LLM在回答问题时参考整个库。
更简单的方式,你可以将它理解为:一个链接用户应用程序和LLM之间的中间层,更方便的让用户和LLM
之间进行交互。
那么,LangChain
可以干什么呢?你可以将它用在聊天、翻译、文档检索、总结等等多个场景中。
LangChain
原理只需要对两方面的内容进行掌握:向量数据库和与LLM
的合作。
它的工作原理理解起来其实并不复杂,把一个大的文件分割成很多个小块,并将它们存进向量数据库(Vector Store
)里,然后用于进行数据检索。
理解向量数据库,还需要掌握一个核心概念:Embedding
Embeddings
类是一个设计的用于与文本嵌入模型交互的类。Embedding对输入的文本创建一段文本的矢量表示(就是一种对文本数据的数字表示),这样我们就可以考虑在向量空间中的文本语义搜索,在向量空间中寻找最相似的文本片段。
LangChain
中的Embeddings
类公开了两个方法:一个用于嵌入文档,另一个用于嵌入查询。前者接受多个文本作为输入,后者接受单个文本作为输入。
有了向量数据库对大文档的向量化表示,我们就可以用它和LLM
一起工作,来检索我们需要的信息。
配合大语言模型进行信息检索的流程为:用户提供一个提示语Prompt
进入向量数据库中进行查询,检索出相关信息后,将它和提示语一起喂给大语言模型,经过大语言模型的处理给出我们需要的回答。它的工作过程如下所示:
LangChain
提供了很多个组件,具体包括以下几种。
它为各个模块提供了标准的、可扩展的接口和外部集成。其中,以下模块的复杂度从上到下依次递增。
LLM
、聊天模型、嵌入模型的集成。LLM
交互。包括包括文档加载程序、向量存储器、文本分割器和检索器等。models
和prompt templates
进行连接,或将多个chain
进行链接。LangChain
是基于规范的TypeScript
编写,可以查看它的官方API,也可以在GitHub
下载它的源代码学习,相关使用问题还可以在其上进行提问。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。