Zapier NLA集成代理
完整文档在此处 : https://nla.zapier.com/api/v1/dynamic/docs
Zapier自然语言操作通过自然语言API界面让您访问Zapier平台上的5k+应用程序和20k+操作。
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两种方式。
服务器端(API密钥): 用于快速入门,测试以及仅使用开发人员Zapier账户中公开的操作(将在Zapier.com上使用开发人员的连接的帐户)的生产场景
用户界面(Oauth):面向生产场景,您正在部署面向终端用户的应用程序,LangChain需要访问终端用户公开的操作和在zapier.com上连接的帐户
此快速入门将关注用于简洁性的服务器端用例。查看完整文档或联系[email protected]以获取用户界面oauth开发人员支持。
下面的示例演示如何将Zapier集成作为代理:
import { OpenAI } from "langchain/llms/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.call({ input });
console.log(`Got output ${result.output}`);