写点什么

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:138201

评论

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

区块链推动电力能源管理新一轮技术变革

CECBC

区块链

微服务可能失败的11个原因

xcbeyond

微服务 方法论

在线自习室场景爆发,在线教育平台用户时间争夺战打响

ZEGO即构

腾讯大佬直言:只要掌握了这份“Redis实战笔记”就掌握了云计算的未来!

比伯

Java 编程 架构 面试 程序人生

低成本构建音视频质量监控平台的最佳路径

华为云开发者联盟

数据中台 数据湖 云原生 RTC 华为云

1499飞天茅台脚本使用过程中遇到的Python问题汇总索引目录【淘宝-天猫超市、京东】

谙忆

飞天茅台 茅台

RocketMQ如何保证消息顺序性

废材姑娘

RocketMQ

<译文>NGINX 实战手册 - 控制访问

东风微鸣

详解 Flink 容器化环境下的 OOM Killed

Apache Flink

flink 流计算

区块链技术如何真实有效的赋能智慧交通?

CECBC

区块链

大作业一

Geek_83908e

架构师一期

抄答案就是了,两套详细的设计方案,解决头疼的支付掉单问题

楼下小黑哥

支付系统 架构设计

应用案例| 基于Volcano 的锐天大规模离线高性能计算生产实践

华为云原生团队

云计算 大数据 AI 云原生 批量计算

面向行业智能,华为数据通信推动的2020之变

脑极体

CSS01 - 引入方式

Mr.Cactus

html/css

CSS03 - 常用字体样式

Mr.Cactus

html/css

uni-app实现实时消息SDK插件

anyRTC开发者

uni-app 音视频 WebRTC 跨平台 sdk

一文教你学会Hive视图和索引

大数据老哥

大数据 hadoop hive

低代码和零代码快速开发崛起,迎来普通人开发软件的时代!

J2PaaS低代码平台

Java内存模型精讲

伯阳

Java 后端 多线程 多线程与高并发 Java内存模型

别无分号只此一家,Python3接入支付宝身份认证接口( alipay.user.certify)体系(2021年最新攻略)

刘悦的技术博客

Python 支付宝 身份认证 刷脸 实名认证

LeetCode题解:104. 二叉树的最大深度,BFS,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

Ansible 新手指南 - 如何批量管理 NGINX

东风微鸣

ansible

Kubernetes 疑难问题排查 - 10s 延迟

东风微鸣

Kubernetes

在NGINX中根据用户真实IP限制访问

东风微鸣

企业架构培训感悟

Man

企业架构 中台战略

区块链:能源行业出现破坏性创新的基础?

CECBC

区块链 能源

CSS02 - 选择器

Mr.Cactus

html/css

CSS04 - 常用外观属性

Mr.Cactus

html/css

Spring 事务,你真的用对了吗(下篇)?

废材姑娘

Java Spring Framework

云算力系统APP开发|云算力软件开发

系统开发

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