LangChain + Zapier Natural Language Actions (NLA)

LangChain + Zapier 自然语言操作 (NLA)

2 分钟阅读

我们非常激动地宣布与 Zapier 合作,并将他们新的 Zapier NLA API 集成到 LangChain 中。您现在可以在您的 agents 和 chains 中使用它。通过这次集成,您可以通过自然语言 API 接口访问 Zapier 平台上的 5000 多个应用和 20000 多个操作。这非常强大,并为您的 LangChain agents 提供了看似无限的可能性。特别感谢 Mike Knoop 和 Zapier 团队的其他成员对这次集成的帮助。您可以通过上面分享的链接申请访问权限。您会构建什么呢?

Zapier NLA

NLA 支持 Gmail、Salesforce、Trello、Slack、Asana、HubSpot、Google Sheets、Microsoft Teams 等应用,以及数千个其他应用: https://zapier.com/apps

Zapier NLA 处理所有底层 API 认证和从自然语言到底层 API 调用的翻译,并返回 LLM 的简化输出。 关键思想是您通过类似 OAuth 的设置窗口公开一组操作,然后您可以通过 REST API 查询和执行这些操作。

NLA 为签署 NLA API 请求提供 API 密钥和 OAuth 两种方式。

  1. 服务器端 (API 密钥):适用于快速入门、测试以及生产场景,在这些场景中,LangChain 将仅使用开发者 Zapier 帐户中公开的操作(并将使用开发者在 Zapier.com 上连接的帐户)
  2. 用户端 (OAuth):适用于您部署面向最终用户的应用程序的生产场景,并且 LangChain 需要访问最终用户的公开操作和在 Zapier.com 上连接的帐户

查看完整文档 或联系 nla@zapier.com 获取面向用户的 OAuth 开发者支持。

LangChain 集成

我们已将 Zapier NLA 集成到 Python (文档) 和 Typescript (文档) 的 LangChain ToolToolkit 中。这为您的 agents 和 chains 赋予了超能力。

要使用,只需检索 NLA API 密钥(见上文),设置 ZAPIER_NLA_API_KEY 环境变量,然后创建一个 Toolkitagent

llm = OpenAI(temperature=0)
zapier = ZapierNLAWrapper()
toolkit = ZapierToolkit.from_zapier_nla_wrapper(zapier)
agent = initialize_agent(toolkit.get_tools(), llm, agent="zero-shot-react-description", verbose=True)

就这么简单! ZapierToolkit 会自动将您启用的所有 Zapier 操作注册为工具,并带有正确的名称和描述。

您还可以使用 ZapierNLARunAction 工具手动将单个操作注册为工具。

要查看实际效果,请看下面的示例。 此 agent 现在可以访问我的电子邮件和 Slack,并能够执行一些惊人的壮举。 在此示例中,它总结了我从某家银行收到的最新电子邮件,并将其发送到 Slack 频道。

下一步

我们希望尽可能实现无缝集成,如果您有任何反馈或遇到任何问题,请告诉我们!