带有 Zapier NLA 集成的 Agent
此模块已弃用,不再受支持。以下文档在版本 0.2.0 或更高版本中将无法使用。
完整文档在此:https://nla.zapier.com/start/
Zapier 自然语言操作 使您可以通过自然语言 API 接口访问 Zapier 平台上的 5000 多个应用程序和 20000 多个操作。
NLA 支持 Gmail、Salesforce、Trello、Slack、Asana、HubSpot、Google 表格、Microsoft Teams 等数千个应用程序:https://zapier.com/apps
Zapier NLA 处理所有底层 API 身份验证和从自然语言到底层 API 调用的转换,并为 LLMs 返回简化的输出。关键思想是,您或您的用户通过类似 OAuth 的设置窗口公开一组操作,然后您可以通过 REST API 查询和执行这些操作。
NLA 提供 API 密钥和 OAuth 用于签署 NLA API 请求。
服务器端 (API 密钥):用于快速入门、测试和生产场景,其中 LangChain 将仅使用开发人员 Zapier 帐户中公开的操作(并将使用开发人员在 Zapier.com 上连接的帐户)
面向用户 (OAuth):用于您部署面向最终用户的应用程序并且 LangChain 需要访问最终用户公开的操作和 Zapier.com 上连接的帐户的生产场景
通过环境变量 (ZAPIER_NLA_OAUTH_ACCESS_TOKEN
或 ZAPIER_NLA_API_KEY
) 附加 NLA 凭据,或参考 ZapierNLAWrapper
中的 API 参考中的参数参数。
查看 身份验证文档 了解更多详情。
以下示例演示了如何将 Zapier 集成用作 Agent
- npm
- Yarn
- pnpm
npm install @langchain/openai
yarn add @langchain/openai
pnpm add @langchain/openai
import { OpenAI } from "@langchain/openai";
import { ZapierNLAWrapper } from "langchain/tools";
import {
initializeAgentExecutorWithOptions,
ZapierToolKit,
} from "langchain/agents";
const model = new OpenAI({ temperature: 0 });
const zapier = new ZapierNLAWrapper();
const toolkit = await ZapierToolKit.fromZapierNLAWrapper(zapier);
const executor = await initializeAgentExecutorWithOptions(
toolkit.tools,
model,
{
agentType: "zero-shot-react-description",
verbose: true,
}
);
console.log("Loaded agent.");
const input = `Summarize the last email I received regarding Silicon Valley Bank. Send the summary to the #test-zapier Slack channel.`;
console.log(`Executing with input "${input}"...`);
const result = await executor.invoke({ input });
console.log(`Got output ${result.output}`);