当前位置: 首页 > news >正文

LangChain||什么是LangChain? LangChain有什么用?

从Auto-GPT说起:

  • Auto-GPT可以调用本地电脑工具处理复杂信息;
  • Auto-GPT可以围绕目标查阅资 料、“独立思考”、及时反馈、并 及时调整下一步操作…
  • Auto-GPT的诞生,创造了大家 对“将LLM作为智慧大脑来高效 处理综合复杂任务”的想象;
  • 首次尝试串联大语言模型的思维链,“chains together LLM “thoughts”,逐步 拆解任务并执行,从而使得整个应用程序更加靠近人类意图;
  • 首次将大语言模型接入本地工具,通过工具集的拓展,进一步拓展了大语言模型的能力; 能够通过内置的提示模版修改人类提示语句,从而大幅简化提示难度;
  • 拥有“记忆”,通过模型外的存储策略,“记住”人类提示和操作步骤,从而提升 交互体验;

Auto-GPT爆火的根本原因在于它符合人们 对未来AI工具的想象…
在此背景下,LangChain应运而生…

标题什么是LangChain?

LangChain不是AutoGPT,而是一款可以用于开发 类似AutoGPT的AI应用的开发工具。
项目地址: https://github.com/hwchase17/langchain
项目官网: https://python.langchain.com/en/latest/index.html

通过对AutoGPT功能的深刻观察和抽象总结 LangChain提出了基于LLM的AI应用开发的六要素:

  • Models:大语言模型
  • Memory:交互存储器
  • Chains:大模型操作链
  • Prompts:提示管理
  • Index:文件索引
  • Agents:代理执行器

LangChain的六大模块 功能简介

  • Models:LangChain认为,AI应用开发必不可少的就是LLM,因此提供了非 常便捷的接入各LLM的接口,包括GPT模型和ChatGLM-6B,均可以通过 LangChain的Models接口进行调用;
  • Prompts:LangChain认为,简化提示难度、丰富提示灵活度是未来AI应用 之必须,因此提供了Prompts功能模块,用于给开发者提供灵活的自定义提 示模版的功能;
  • Chains:LangChain认为,为了更好的理解人类意图,AI工具的内部执行流程 应该类似于管道流水线,这种流程在机器学习领域被称为Pipeline,在 LangChain的定义中被称为Chains;
  • Agents:LangChain认为,未来AI工具必然需要和本地工具进行交互,例如 自主在谷歌浏览器上进行搜索互联网上结果等,此时AI工具内部需要创建一个代理来使用这些工具,进而拓展AI工具本身的功能,这就是所谓的Agents;
  • Memory:LangChain认为,记住人类的提示和自身操作将是提升用户体验的 关键,因此必须要通过某些方法来存储这些信息。相关存储信息的方法都被封 装在LangChain的Memory模块中;
  • Index:这是截止目前LangChain最后添加的功能模块,用于提供本地文件索引的功能,从而让AI工具更方便的进行本地文件的管理;

LangChain认为,未来的基于LLM的AI应用都是基于 这六个元素拼凑而成,类似乐高积木

例如,AutoGPT的开发就相当于就用了其中四块积木
✓Models:大语言模型 ✓Memory:交互存储器
✓Chains:大模型操作链 ✓Prompts:提示管理

LangChain倡议,统一功能模块的称呼和开发规范, 同时提供了一系列实现这些功能的API

LangChain的六大功能模块 能“拼”出什么样的AI应用?
eg:
基于本地知识库的对话机器人
本地数据库数据处理与分析
自动会议总结及邮件回复系统
基于Web端的查询和问答系统
LangChain+Zapier…

那么LangChain究竟是什么呢?
LangChain是一个未来AI应用的开发协议
LangChain是一个未来AI应用的开发范式
LangChain是一个未来AI应用的开发工具

http://www.lryc.cn/news/101971.html

相关文章:

  • 秋招算法备战第28天 | 93.复原IP地址、78.子集、90.子集II
  • Mongodb空间索引的使用以及与Django的对接
  • Windows安装MySQL数据库
  • 聊聊函数式编程中的“式”
  • ubuntu目录分析
  • Python 进阶(三):正则表达式(re 模块)
  • Vue2 第六节 key的作用与原理
  • React之组件的生命周期
  • linux -网络编程-多线程并发服务器
  • Golang之路---02 基础语法——字典
  • Pytorch(三)
  • Linux——进程控制
  • 剑指 Offer 59 - I. 滑动窗口的最大值 / LeetCode 239. 滑动窗口最大值(优先队列 / 单调队列)
  • 【Linux后端服务器开发】IP协议
  • React组件进阶之children属性,props校验与默认值以及静态属性static
  • ceph集群中RBD的性能测试、性能调优
  • texshop mac中文版-TeXShop for Mac(Latex编辑预览工具)
  • 简单认识redis高可用实现方法
  • 搭建git服务器
  • 线程中断机制
  • CollectionUtils工具类的使用
  • 基于Nonconvex规划的配电网重构研究(Matlab代码实现)
  • yolo系列笔记(v4-v5)
  • 小白如何高效刷题Leetcode?
  • 使用IDEA打jar包的详细图文教程
  • 《MySQL 实战 45 讲》课程学习笔记(二)
  • 微软亚研院提出模型基础架构RetNet或将成为Transformer有力继承者
  • 探索单例模式:设计模式中的瑰宝
  • Bobo String Construction 2023牛客暑期多校训练营4-A
  • 【React学习】React父子组件通讯