AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

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

评论

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

财务或类财务系统数值精度设计

路边水果摊

数字 财务 精度 数值

Unity ML-agents 参数设置解明

行者AI

模块三作业

NewBranSTONE

架构实战营

外包学生管理系统的架构设计

面向对象的猫

图解红黑树

Ayue、

数据结构

看完这篇文章,你也可以手写MyBatis部分源码(JDBC)

东京奥运会与网络安全背后的速度博弈!

郑州埃文科技

经典译文 | 项目经理必读的基本工作法则

LigaAI

项目管理 项目经理

最壕逆天改命:18名Java程序员凭阿里P8笔记,同时斩获一线大厂offer

Java架构师迁哥

秒懂 Java 的三种代理模式

EMQ X Cloud 正式支持 Microsoft Azure 平台,助力企业出海业务

EMQ映云科技

azure 云端 云上数据 emq

哔哩哔哩B站视频下载器推荐(简单又好用)

资源君

工具 分享 哔哩哔哩 b站视频下载 教程分享

小透明学弟的华为上岸之路

程序员鱼皮

Java c++ Python 大前端 后端

带你认识MindSpore量子机器学习库MindQuantum

华为云开发者联盟

mindspore 量子机器 MindQuantum 量子机器学习库

手把手教你实现Android编译期注解

vivo互联网技术

android 注解 sdk

来自网络资源资产管理的灵魂拷问

鲸品堂

网络 资源 运营商

【云洲智造】直播间下午4:30准时开播!

工业互联网

SpringBoot启动加载监听器以及监听应用启动阶段事件

捡对象的cy

springboot

一例智能网卡(mellanox)的网卡故障分析

安第斯智能云

后端

科技监管能源运作?智慧能源从光热发电技术开始描述

一只数据鲸鱼

数据可视化 智慧能源 光热发电

2021,你还在写“赤裸裸”的API吗?

私域流量系统开发,APP源码搭建

获客I3O6O643Z97

私域流量 抖音霸屏

还在用Jenkins?试试Gitlab的CI/CD功能吧,贼带劲!

电脑里的视频被误删了可以用EasyRecovery恢复吗?

淋雨

EasyRecovery 文件恢复 硬盘数据恢复

Java虚拟机之CMS垃圾收集器

以1敌10不是梦,Spring Boot企业级真实应用案例

博文视点Broadview

如何基于磁盘 KV 实现 Bitmap

Kvrocks

redis BitMap storage KV存储引擎

Cypress 自动化测试

admin

自动化测试 Cypress 测试 单元测试 UI测试

Lazada首届技术开放日开麦在即 共享技术创新最佳实践

Python OpenCV Canny 边缘检测知识补充

梦想橡皮擦

Python 7月日更

给新手学习MySQL的建议

Simon

MySQL

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