Zapier Natural Language Actions API(beta)とLangChainの統合をやってみた

Zapier プラットフォーム上の5,000以上のアプリと20,000以上のアクションを、自然言語で組み込むとは
2023.03.17

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

こんにちは、筧( @TakaakiKakei )です。

本ブログは下記ブログの続きです。

Zapier Natural Language Actions (NLA) API と LangChain の統合が発表されました。 これによって、Zapier プラットフォーム上の5,000以上のアプリと20,000以上のアクションを、自然言語で組み込めるようになります。

実際にやってみて理解を深めていきましょう。 なお、2023/03/17時点では、Zapier Natural Language Actions API は beta なので予めご了承ください。

やってみた

Zapier NLA API の準備

Zapier NLA API の利用には申請が必要です。 下記フォームから必要情報を入力して申請します。

申し込み後、承認されると下記ページの User の Information に API Key が表示されます。

下記コマンドで API Key が機能するか確認できます。 機能する場合、"success": true と表示されます。

$ curl -v \
    -H "Content-Type: application/json" \
    -H "x-api-key: <API_KEY>" \
    'https://nla.zapier.com/api/v1/check/'

..snip..
{"success": true, "email": "<メールアドレス>", "user_id": <ユーザーID>}

Zapier 側のセットアップ

GmailとSlackの連携準備をします。 Provider の Information にある、Open Action Setup Window をクリックします。 下図のアプリのアクションを事前設定します。

具体的にはそれぞれ下図のように設定します。

各フィールドを Have AI guess にしておくことがポイントです。 これによって、後で与える指示を元に、AI が値を設定してくれます。

ここでは、Gmail のメールを作成するアクションと、Slack のチャンネルにメッセージを投稿するアクションをセットアップしました。これで Zapier 側のセットアップは完了です。

Zapier NLA API と LangChain の統合

今回は実行環境として、Google Colaboratory を使います。 コードは以下のページを参考にします。

指示内容はagent.run内の通り、あるメールアドレスからの直近のメールを要約して、Slackの test-zapier チャンネルに投稿してという内容です。agent.runまで実行します。

あるメールアドレスからの直近のメールはこれです。

Slackの test-zapier チャンネルを確認します。

夕飯のために肉を買ってきてという要約が投稿されています!すごい!

おわりに

最後まで読んでいただきありがとうございます。

Zapier NLA API と LangChain の統合について理解が深まっていれば幸いです。

それではまた!