langchain的基本功能

举报
福州司马懿 发表于 2024/04/21 21:46:25 2024/04/21
【摘要】 什么是langchianLangChain 是一个用于开发由语言模型驱动的应用程序的框架。他主要拥有 2 个能力:可以将 LLM 模型与外部数据源进行连接允许与 LLM 模型进行交互 什么是LLMLLM 模型:Large Language Model,大型语言模型 Langchain的基本功能L## LM 调用支持多种模型接口,比如 OpenAI、HuggingFace、AzureOpen...

什么是langchian

LangChain 是一个用于开发由语言模型驱动的应用程序的框架。他主要拥有 2 个能力:

  • 可以将 LLM 模型与外部数据源进行连接
  • 允许与 LLM 模型进行交互

什么是LLM

LLM 模型:Large Language Model,大型语言模型

Langchain的基本功能

L## LM 调用

  • 支持多种模型接口,比如 OpenAI、HuggingFace、AzureOpenAI …
  • Fake LLM,用于测试
  • 缓存的支持,比如 in-mem(内存)、SQLite、Redis、SQL
  • 用量记录
  • 支持流模式(就是一个字一个字的返回,类似打字效果)

Prompt 管理

  • 支持各种自定义模板
  • langchain hub提供了丰富的预置模板
  • 拥有大量的文档加载器,比如 Email、Markdown、PDF、Youtube …

对索引的支持

  • 文档分割器
  • 向量化
  • 对接向量存储与搜索,比如 Chroma、Pinecone、Qdrand

Chains

  • LLMChain
  • 各种工具 Chain
  • LangChainHub

名词介绍

Chain链

我们可以把 Chain 理解为任务。一个 Chain 就是一个任务,当然也可以像链条一样,一个一个的执行多个链。

Agent代理

我们可以简单的理解为他可以动态的帮我们选择和调用chain或者已有的工具。

Loader加载器

从指定源读取并加载数据,例如

  • 文件夹:DirectoryLoader
  • Azure 存储:AzureBlobStorageContainerLoader
  • CSV文件:CSVLoader
  • 印象笔记:EverNoteLoader
  • Google网盘:GoogleDriverLoader
  • 任意网页:UnstructuredHTMLLoader
  • PDF:PyPDFLoader
  • 亚马逊S3:S3DirectoryLoader / S3FileLoader
  • Youtube:YoutubeLoader

Document文档

当使用loader加载器读取到数据后,需要转成document才能继续使用。
Document 类型主要包含两个属性:page_content 包含该文档的内容。meta_data 为文档相关的描述性数据,类似文档所在的路径等。

Text Spltters 文本分割

我们每次把文本当作 prompt 发给 openai api,还是还是使用 openai api embedding 功能都是有字符限制的。
比如我们将一份300页的 pdf 发给 openai api,让他进行总结,它肯定会报超过最大 Token 错。所以这里就需要使用文本分割器去分割我们 loader 进来的 Document。

Embedding

用于衡量文本的相关性。这个也是 OpenAI API 能实现构建自己知识库的关键所在。
它相比 fine-tuning 最大的优势就是,不用进行训练,并且可以实时添加新的内容,而不用加一次新的内容就训练一次,并且各方面成本要比 fine-tuning 低很多。

Vectorstores 向量数据库

因为数据相关性搜索其实是向量运算。所以,不管我们是使用 openai api embedding 功能还是直接通过向量数据库直接查询,都需要将我们的加载进来的数据 Document 进行向量化,才能进行向量运算搜索。转换成向量也很简单,只需要我们把数据存储到对应的向量数据库中即可完成向量的转换

总结

借助LangChain,与大语言模型的交互变得更加便捷。LangChain 提供的接口和功能有助于将 LLM 的强大能力轻松集成到你的工作应用程序中。因此,现在所有用到大模型的代码,基本上都是使用langchain进行开发

更多内容,可以查看langchain官方文档:https://python.langchain.com/docs/get_started/quickstart/

图片.png

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。