LangChain如何将GenAI变成真正有用的助手

208 阅读6分钟

人工智能代理的时代可能始于将简单的模块串在一起,以实现实际任务的工作流程。癌症诊断只是一个例子。

使用 LangChain,程序员已经能够将乳腺癌诊断等超声成像与 ChatGPT 风格的自然语言提示结合起来。

OpenAI 的ChatGPT及其衍生品的生成式 AI 运动最出名的可能是糟糕的说唱歌词和自动编程帮助。但基于大型语言模型的新开源框架正在为 GenAI 带来更实际的关注。

LangChain刚刚推出一年多,您可以将其视为通过一组非常简单的基于 GenAI 模型的库对 AI 代理进行编程的温和介绍。该技术得到了一家风险投资支持的同名初创公司的支持,该公司为使用 LangChain 构建的应用程序的商业部署提供了一个服务器平台。 

LangChain的关键在于它将庞大的语言模型提示与各种外部资源相结合。通过这种方式,它可以从数据库中获取数据,例如,将语言模型输出传递到应用程序,获取该应用程序的输出并将其传递回语言模型,等等。 

因此,该框架允许将资源链接在一起,其中每个资源都成为某种代理,在语言模型和提示的上下文中处理一部分问题。 

不同学科已经有一些有趣的实际应用例子。 

例如,使用 LangChain,程序员已经能够将乳腺癌诊断等超声成像与 ChatGPT 风格的自然语言提示结合起来。放射科医生可以使用乳房超声图像中的诸如“请根据探头位置给我提供给定观察结果的摘要”之类的短语来调用计算机作为分析助手。

该程序由 Jaeyoung Huh 和韩国科学技术院的同事构建,其一个有趣的方面是它汇集了广泛使用的三种不同的神经网络——ResNet-50——这是经典的视觉神经网络擅长图像分类的网络。

三个神经网络中的每一个都经过单独训练来执行一项任务,例如识别超声图像中的可疑形态、对该形态进行分类以及找出该形态在体内的位置。 

LangChain 的目的是将这三个网络包装在自然语言命令中,例如“给我给定图像的探测信息”,然后“给我给定观察结果的摘要”。 

那么,从最简单的层面来说,LangChain可以成为一种创建用户友好的人工智能前端的方法,这是医疗人工智能等领域的专家长期以来梦想的一种方式,他们试图创建一个能够响应语音命令的医生助手。 。 

LangChain 的一些努力的目标是通过将技术建立在权威的外部来源基础上,试图消除 GenAI 臭名昭著的幻觉——这些程序自信地断言虚假信息的倾向。由 Sohini Roychowdhury 领导的埃森哲咨询公司的一个团队 描述了一种通过“金融聊天机器人”进行财务预测的系统。 

该系统从电子表格中获取单元格,并将其转换为有关数据的自然语言语句,然后可以对其进行搜索以找到与问题匹配的句子。

它的工作原理如下:用户用自然语言问题提示语言模型,例如“我的销售情况如何?” 该提示被输入模板,该模板为语言模型生成更精确的提示。该提示可能包含比人们想象的更多的详细疑问词,以产生更好的提示。 

改进的提示会触发关键字搜索,该搜索会挑选出哪些句子(根据表格数据构建)指向表中最相关的数据(例如销售额、利润)。

检索到相关数据后,第二组模板将帮助聊天机器人使用聊天响应中表格数据中的句子来制定对查询的响应。

罗伊乔杜里和团队未能消除幻觉。相反,他们设计了一种“置信度”评分机制,聊天机器人可以根据问题检查其答案,查看它们的匹配程度,然后为其答案分配高、中或低的置信度分数。 

“置信度分数告诉用户在使用中低置信度响应做出关键决策时要保持谨慎,”Roychowdhury 解释道。“置信度得分进一步有助于确定哪些用户查询需要进一步细化以提高可靠性。”

程序员发现 LangChain 可以成为自动执行一些极其平凡的任务的方法。一个例子是检查员工的网络使用情况,以确保他们没有浏览非法网站。描述公司“可接受的使用政策”的文档被上传到所谓的矢量数据库中,这是一种特殊的数据库,可以将 URL 中的文本字符串与文档中的文本字符串集合进行比较,以查看是否存在一场比赛。 

当用户在浏览器中输入 URL 时,网站的 URL 和网站内容的摘要都可以自动与矢量数据库中的策略文档进行比较,以查看网站的内容是否与任何禁止的主题相匹配。程序员可以通过简单的文本提示来自动进行比较,询问“此站点中的任何内容是否与禁止的项目相匹配?”

这样的例子清楚地表明,大型语言模型和LangChain正在超越个人查询。它们正在成为程序员使用自然语言命令来集成各种工具以实现幕后功能的一种方式。 

LangChain 并不是唯一一个用于编译具有代理质量的工作流的框架,并且正在创建更多这样的框架,包括微软的语义内核和基于 LangChain 构建的开源LlamaIndex 。

斯坦福大学、加州大学伯克利分校和卡内基梅隆大学的一组学者以及来自私营企业的合作者于 10 月推出了他们所谓的 DSPy,这是一种编程方法,用功能描述取代手工编码的自然语言提示,并可以自动生成提示。功能描述可以非常广泛,例如“处理问题并返回答案”。DSPy 具有一个编译器来优化语言模型和支持工具的流程。

作者指出,DSPy 的工作类似于通过抽象层拥有高级神经网络的深度学习框架,包括 Torch 和 Theano。

作者声称,与在每种情况下由人手动制作提示相比,质量有了显着提高。他们写道:“无需手工制作的提示,在几分钟到几十分钟的编译时间内,DSPy 模块的组合可以将简单程序的质量从 33% 提高到 82%。”

GenAI 框架游戏还处于早期阶段,您可以期待来年在 LangChain 的顶部、底部和周围有更多的抽象层。