自然语言处理从入门到应用——LangChain:基础知识与介绍

这篇具有很好参考价值的文章主要介绍了自然语言处理从入门到应用——LangChain:基础知识与介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

分类目录:《大模型从入门到应用》总目录

LangChain系列文章:

  • 基础知识
  • 快速入门
    • 安装与环境配置
    • 链(Chains)、代理(Agent:)和记忆(Memory)
    • 快速开发聊天模型
  • 模型(Models)
    • 基础知识
    • 大型语言模型(LLMs)
      • 基础知识
      • LLM的异步API、自定义LLM包装器、虚假LLM和人类输入LLM(Human Input LLM)
      • 缓存LLM的调用结果
      • 加载与保存LLM类、流式传输LLM与Chat Model响应和跟踪tokens使用情况
    • 聊天模型(Chat Models)
      • 基础知识
      • 使用少量示例和响应流式传输
    • 文本嵌入模型
      • Aleph Alpha、Amazon Bedrock、Azure OpenAI、Cohere等
      • Embaas、Fake Embeddings、Google Vertex AI PaLM等
  • 提示(Prompts)
    • 基础知识
    • 提示模板
      • 基础知识
      • 连接到特征存储
      • 创建自定义提示模板和含有Few-Shot示例的提示模板
      • 部分填充的提示模板和提示合成
      • 序列化提示信息
    • 示例选择器(Example Selectors)
    • 输出解析器(Output Parsers)
  • 记忆(Memory)
    • 基础知识
    • 记忆的类型
      • 会话缓存记忆、会话缓存窗口记忆和实体记忆
      • 对话知识图谱记忆、对话摘要记忆和会话摘要缓冲记忆
      • 对话令牌缓冲存储器和基于向量存储的记忆
    • 将记忆添加到LangChain组件中
    • 自定义对话记忆与自定义记忆类
    • 聊天消息记录
    • 记忆的存储与应用
  • 索引(Indexes)
    • 基础知识
    • 文档加载器(Document Loaders)
    • 文本分割器(Text Splitters)
    • 向量存储器(Vectorstores)
    • 检索器(Retrievers)
  • 链(Chains)
    • 基础知识
    • 通用功能
      • 自定义Chain和Chain的异步API
      • LLMChain和RouterChain
      • SequentialChain和TransformationChain
      • 链的保存(序列化)与加载(反序列化)
    • 链与索引
      • 文档分析和基于文档的聊天
      • 问答的基础知识
      • 图问答(Graph QA)和带来源的问答(Q&A with Sources)
      • 检索式问答
      • 文本摘要(Summarization)、HyDE和向量数据库的文本生成
  • 代理(Agents)
    • 基础知识
    • 代理类型
    • 自定义代理(Custom Agent)
    • 自定义MRKL代理
    • 带有ChatModel的LLM聊天自定义代理和自定义多操作代理(Custom MultiAction Agent)
    • 工具
      • 基础知识
      • 自定义工具(Custom Tools)
      • 多输入工具和工具输入模式
      • 人工确认工具验证和Tools作为OpenAI函数
    • 工具包(Toolkit)
    • 代理执行器(Agent Executor)
      • 结合使用Agent和VectorStore
      • 使用Agents的异步API和创建ChatGPT克隆
      • 处理解析错误、访问中间步骤和限制最大迭代次数
      • 为代理程序设置超时时间和限制最大迭代次数和为代理程序和其工具添加共享内存
    • 计划与执行
  • 回调函数(Callbacks)

LangChain是一个由语言模型驱动的应用程序的框架,其认为最强大和不同的应用程序不仅会通过API调用语言模型,还会有以下特征或能力:

  • 数据感知:将语言模型连接到其他数据源
  • 具有代理性质:允许语言模型与其环境交互

LangChain框架就是基于以上原则设计的。

模块

LangChain提供了对几个主要模块的支持。针对每个模块,后续的文章介绍了一些基础知识并提供了相应的示例。这些模块按照复杂性排列如下:

  • 模型(Models):LangChain支持的各种模型类型和模型集成。
  • 提示(Prompts):包括提示管理、提示优化和提示序列化。
  • 记忆(Memory):记忆是在链或代理调用之间保持状态的组件,LangChain提供了一个标准的记忆接口。
  • 索引(Indexes):与我们自己的文本数据结合使用时,语言模型往往更加强大,此模块涵盖了执行此操作的最佳实践。
  • 链(Chains):链不仅仅是单个LLM的调用,还包括了一系列的其它调用(调用LLM或不同的实用工具等)。LangChain提供了一种标准的链接口和许多与其他工具的集成,还提供了用于常见应用程序的端到端的链调用。
  • 代理(Agents):代理涉及LLM做出行动决策、执行该行动、查看一个观察结果等过程,并重复该过程直到完成。LangChain提供了一个标准的代理接口,其包含了一系列可供选择的代理以及端到端代理的示例。

用例

上述模块可以以多种方式使用。LangChain提供了指导和帮助。以下是LangChain支持的一些常见用例。

  • 自治代理(Autonomous Agents):长时间运行的代理会采取多步操作以尝试完成目标。AutoGPT和BabyAGI就是典型代表。
  • 代理模拟(Agent Simulations):将代理置于封闭环境中观察它们如何相互作用,如何对事件作出反应,是观察它们长期记忆能力的有趣方法。
  • 个人助理(Personal Assistants):主要的LangChain使用用例。个人助理需要采取行动、记住交互并具有您的有关数据的知识。
  • 问答(Question Answering):第二个重大的LangChain使用用例。仅利用这些文档中的信息来构建答案,回答特定文档中的问题。
  • 聊天机器人(Chatbots):由于语言模型擅长生成文本,因此它们非常适合创建聊天机器人。
  • 查询表格数据(Tabular):使用LLM查询存储在表格格式中的数据(csv、SQL、数据框等)。
  • 代码理解(Code):使用LLM查询来自GitHub的源代码。
  • 与API交互(APIs):使LLM能够与API进行交互,以便为它们提供更实时的信息并允许它们采取行动。
  • 提取(Extraction):从文本中提取结构化信息。
  • 摘要(Summarization):将较长的文档汇总为更短、更简洁的信息块,是一种数据增强生成的类型。
  • 评估(Evaluation):生成模型是极难用传统度量方法评估的。 一种新的评估方式是使用语言模型本身进行评估。LangChain提供一些用于辅助评估的提示或链。

LangChain资源

  • LangChainHub:LangChainHub是一个分享和探索其他prompts、chains 和agents的平台。
  • Gallery:LangChain的项目合集,有助于找到灵感或了解其他应用程序的实现方式。
  • Deployments:部署LangChain应用程序的说明、代码片段和模板存储库的合集。
  • Tracing:使用追踪可视化LangChain中链和代理执行的指南。
  • Model Laboratory:使用不同的prompts、models和chains进行实验是开发最佳应用程序的重要组成部分。Model Laboratory使这个过程变得非常容易。
  • Discord:一个开放性社区,内含讨论关于LangChain的一切。
  • YouTube:LangChain教程和视频的集合。
  • Production Support:随着我们将LangChains发布到生产环境,LangChains乐于提供更全面的支持。

参考文献:
[1] LangChain 🦜️🔗 中文网,跟着LangChain一起学LLM/GPT开发:https://www.langchain.com.cn/
[2] LangChain中文网 - LangChain 是一个用于开发由语言模型驱动的应用程序的框架:http://www.cnlangchain.com/文章来源地址https://www.toymoban.com/news/detail-543239.html

到了这里,关于自然语言处理从入门到应用——LangChain:基础知识与介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包