写点什么

LangChain:2023 年最潮大语言模型 Web 开发框架

  • 2023-06-20
    北京
  • 本文字数:2195 字

    阅读完需:约 7 分钟

LangChain:2023年最潮大语言模型Web开发框架

LangChain 是一个帮助在应用程序中使用大型语言模型(LLM)的编程框架。与生成式 AI 中的所有东西一样,这个项目的发展也非常迅速。2022 年 10 月,它先是作为一款 Python 工具,然后在今年 2 月增加了对 TypeScript 的支持。到今年 4 月,它支持多种 JavaScript 环境,包括 Node.js、浏览器、Cloudflare Workers、Vercel/Next.js、Deno 和 Supabase Edge Functions。

 

那么,对于 JavaScript 开发者来说,他们需要了解有关 LangChain 的哪些方面以及如何使用 LLM?在本文中,我们将通过分析 LangChain 作者 Harrison Chase 最近的两次演讲来回答这个问题。

 

LangChain 最初是一个开源项目,在 GitHub 上获得大量关注之后迅速转变为一家初创公司。2017 年,Harrison Chase 还在哈佛上大学,如今已是硅谷的一家热门初创公司的 CEO,这对他来说是一次重大而迅速的跃迁。早些时候,微软首席技术官 Kevin Scott 在他的 Build 主题演讲中对 Chase 大加赞赏。

 

Chat App 的风靡

 

不出所料,LangChain 目前的主要应用是在 LLM(尤其是 ChatGPT)之上构建基于聊天的应用程序。正如 Tyler McGinnis 在 bytes.dev 上对 LangChain 调侃的那样:“聊天接口再多都不为过。”

 

在今年早些时候的一次采访中,Chase 说目前 LangChain 最好的一个应用场景是“基于文档的聊天”。LangChain 也提供了其他功能来增强聊天体验,比如流——也就是可以逐个返回 LLM 输出的单词,而不是一次返回所有内容。

 

不过 Chase 也指出,其他类型的接口也在迅速发展。

 

“从长远来看,可能会有比聊天应用更好的体验。但我认为,就目前而言,这是我们不需要做很多额外工作就能够迅速起步的一种方式。我们能说聊天应用在这半年内就一定是最好的体验吗?可能不能,但我认为目前能够带来价值的东西很可能就是聊天应用。”

 

毕竟基于 LLM 开发应用程序是一项新技术,这个领域的初创公司(比如 LangChain)一直都在努力推出一些工具来帮助了解与 LLM 相关的问题。以提示词工程为例,它仍然主要依赖开发者的直觉来判断哪个提示词会更好。不过,LangChain 今年引入了“追踪”等功能来帮助解决这个问题。

 

代理

 

LangChain 最近引入的一个特性是“定制代理”,Chase 在今年 4 月于旧金山举行的 LLM 训练营上提到了这个。他将代理定义为一种“使用语言模型作为推理引擎”来确定如何根据用户输入与外部世界发生交互的方式。



Harrison Chase 在 LLM 训练营上

 

他举了一个与 SQL 数据库发生交互的例子。他说,通常我们会使用自然语言查询和将其转换为 SQL 查询的语言模型。我们执行查询,并将结果传给语言模型,要求它根据原始问题对其进行综合,最终得到 Chase 所说的“基于 SQL 数据库的自然语言包装器”。

 

代理的作用是处理 Chase 所说的“边缘情况”,也就是 LLM 在上述示例中任何时候都可能出现的模糊输出。

 

他说:“你可以通过代理来选择要使用的工具和针对工具的输入。然后你执行它,得到结果,再把结果反馈到语言模型中。然后继续这样做,直到满足停止条件。”



实现代理

 

我们把代理称为“ReAct”,这与 JavaScript 框架 React 没有任何关系,“ReAct”是指“Reason + Act”。Chase 表示,与其他形式的提示词工程相比,这种方法能产生“更高质量、更可靠的结果”。



ReAct(并非 React)

 

Chase 承认,代理也存在“很多挑战”,而且“大多数代理目前还没有做好生产就绪的准备。”

 

记忆问题

 

他列出的一些问题似乎都是基础的计算机问题,但在 LLM 中,它们更具挑战性。例如,LLM 通常没有长期记忆。正如 Pinecone 教程中所指出的,“默认情况下,LLM 是无状态的——这意味着每一个查询的处理都是独立于其他查询进行的。”

 

LangChain 在这方面为开发者提供了帮助,它将记忆等组件添加到 LLM 的处理过程中。实际上,对于 JavaScript 和 TypeScript,LangChain 提供了两个与记忆相关的方法:loadMemoryVariables 和 saveContext。第一个方法“用于从内存中检索数据(也可使用当前输入值),第二个方法用于在内存中保存数据”。

 

Chase 提到的另一种形式的代理是 Auto-GPT,一种可以配置和部署自主 AI 代理的程序。

 

他说:“Auto-GPT 为代理和工具之间的交互提供了长期记忆,并使用检索向量作为存储(向量数据库)。”

 

新的 LAMP 技术栈?

 

显然,构建基于 LLM 的应用程序还有很多事情要做。在 Build 主题演讲中,微软将 LangChain 作为其“Copilot 技术栈”的“编排”层的一部分。在微软的系统中,编排包括提示词工程和所谓的“元提示词(Meta Prompt)”。

 

微软推出了自己的工具 Semantic Kernel,功能与 LangChain 类似。微软还发布了一个叫作 Prompt Flow 的工具,微软首席技术官 Kevin Scott 称其为“另一种整合了 LangChain 和 Semantic Kernel 的编排机制”。

 

需要注意的是,LangChain 中的“Chain”表明它可以与其他工具互操作——不仅是各种 LLM,还有其他开发框架。今年 5 月,Cloudflare 宣布其 Workers 框架支持 LangChain。

 

甚至还出现了一个关于 LangChain 的缩略词:OPL,即 OpenAI、Pinecone 和 LangChain。它的灵感可能来自 LAMP(Linux、Apache、MySQL、PHP/Perl/Python),20 世纪 90 年代的一个关键技术栈,Web 2.0 的推动器。我们不知道 OPL 会不会成为一个技术术语——当然,它的组件并不都是开源的——但无论如何,这是一个好迹象,表明 LangChain 已经成为许多开发者个人技术栈的重要组成部分。

 

原文链接:


https://thenewstack.io/langchain-the-trendiest-web-framework-of-2023-thanks-to-ai/


相关阅读:


Web3当下,最佳投资就是投资自己

Web3的反思,不要抱怨

给Web3创业者的28个原则

和我一起学习Web3

2023-06-20 15:138125

评论

发布
暂无评论
发现更多内容

npm 包 chalk-next 被开发者投毒,导致 SRC 目录被删

墨菲安全

npm 投毒 npm chalk-next chalk-next 投毒

快速构造String对象及访问其内部成员的技巧

阿里技术

Java jdk FASTJSON2

软件测试/测试开发丨如何确保API 的稳定性与正确性?你只需要这一招

测试人

软件测试 自动化测试 测试开发 RESTful API

Bonree ONE荣获信通院“2022IT新治理年度明星产品”

博睿数据

根因分析 博睿数据 荣誉奖项 Bonree ONE

harbor从1.6.1升级至2.7.0

小黄鱼

Harbor

首汽约车驶向极速统一之路!出行平台如何基于StarRocks构建实时数仓?

StarRocks

数据库

TiDB 6.5 LTS 发版

PingCAP

#TiDB

软件测试/测试开发丨接口管理工具YApi怎么用?颜值高、易管理、超好用

测试人

软件测试 接口测试 YAPI 测试开发

同盾科技 x TiDB丨实时数据架构为风控智能决策保驾护航

PingCAP

#TiDB

科技创新实力受认可,网易有道入选 2022 中国技术品牌影响力企业榜

有道技术团队

技术 数据分析

喜报|3DCAT入选“灵境杯”深圳市最佳元宇宙案例!

3DCAT实时渲染

虚拟现实 元宇宙 增强现实 实时云渲染 元宇宙开发

Pytorch基础-tensor数据结构

嵌入式视觉

Tensor torch.tensor() Tensor维度

云渲染动画价格一般多少?

Renderbus瑞云渲染农场

云渲染 云渲染价格

高性能存储SIG月度动态:DSMS开始适配Anolis OS、将在ANCK 5.10中支持ublk | 龙蜥 SIG

OpenAnolis小助手

开源 操作系统 高性能存储 龙蜥社区 sig

消息收发弹性——生产集群如何解决大促场景消息收发的弹性&降本诉求

阿里巴巴云原生

阿里云 RocketMQ 云原生

Seata 1.6.0 正式发布,大幅度提升存储性能

阿里巴巴云原生

阿里云 seata

初识PHP(1):PHP是什么

华为云PaaS服务小智

php

Pytorch基础-张量基本操作

嵌入式视觉

张量的基本操作 维度变换 索引切片 合并分割 卷积相关算子

精华推荐 |【深入浅出Sentinel原理及实战】「原理探索专题」完整剖析Alibaba微服务架构体系之轻量级高可用流量控制组件Sentinel(1)

洛神灬殇

sentinel 1月日更 Sentinel 系统

2022 OpenMLDB 硕果累累,颁奖台上荣耀连连

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

湖南卫视携手华为云 打造跨年晚会“最炫科技风”

Geek_2d6073

InfoQ写作社区 2022 年度优质创作者评选名单公布!

InfoQ写作社区官方

热门活动

2022 InfoQ 写作社区年度优质企业号评选名单公布!

InfoQ写作社区官方

热门活动

关于接口测试自动化的总结与思考

阿里巴巴云原生

阿里云 云原生 TPS

软件测试 | 测试开发 | 相比Selenium,Web自动化测试框架Playwright

测吧(北京)科技有限公司

测试

阿里云张献涛:无影,让计算触手可及

云布道师

无影云电脑

RayLink远程控制软件:叮~你收到一份年度关键词报告

RayLink远程工具

远程控制软件 RayLink

广西首次!3DCAT实时云渲染助力南宁数字气象科普馆上线

3DCAT实时渲染

云计算 云渲染 元宇宙 3DCAT 虚拟数字气象馆

喜报 | 瑞云科技荣获“第四届天鸽奖十大创新企业”等两项大奖

3DCAT实时渲染

元宇宙 3DCAT 瑞云渲染

卷积神经网络的压缩方法总结

嵌入式视觉

知识蒸馏 模型压缩 神经网络参数量化 二值化网络 模型剪枝

Java Agent 踩坑之 appendToSystemClassLoaderSearch 问题

阿里巴巴云原生

Java 阿里云 容器 云原生

LangChain:2023年最潮大语言模型Web开发框架_框架_Richard MacManus_InfoQ精选文章