ヤマムギ

growing hard days.

*

チャットボットのAPIでA3RTのTalk APIを使った

      2022/04/28

Microsoft TeamsのOutgoing Webhooksを使ってAWS Lambda(Python), Amazon API Gatewayとbotの記事に書いているとおり、Microsoft Teamsからボットの雑談機能として、docomo Developer supportさんの自然対話APIサービスを利用させていただいておりました。

10/1にメールをいただいていて、「2018年11月1日以降は機能制限により、レスポンスに10秒程度の時間を要する場合や、2018年10月31日以前と同様の対話をご利用いただけない可能性がございますので、ご了承ください。」とのこと。
雑談の感じとかすごく自然だなあって思ってたので、無料で使えるのはそりゃあ制限があっても仕方ないなあと思いました。
※docomoさんでは、後継サービスで katarai というサービスもあります。

まあいいかな、と思ってたのですが、Teamsは5秒以内にレスポンスを返さないとエラーになって「Sorry, there was a problem encountered with your request」というメッセージをTeamsに表示します。

リクエストを受け付けている自作のAPI側ではエラーは一切出てないので原因が分からず、最終的にはただのオウム返しでsleepで1秒づつのばして5秒かあとなりました。

改善案としてTeamsのFeedbackに出されている方がいるので、緩和されることを願います。
adjustable timeout on the outbound webhook reply (5 seconds not long enough)

とはいえ、このままにしておくわけにもいかないので、とりあえずレスポンスの早い無料の対話APIを探してみました。
ありました!

A3RT

リクルートテクノロジーズさんのA3RT(アート)にTalk APIがありました。
他にも画像系や文章系、レコメンド、SQL生成などいろんなAPIがあります。
面白そうなのでまた試してみたいと思います。

APIキーを発行して、Talk APIの公式ページにかかれているとおり、エンドポイントに対して、apikeyとqueryをパラメータにして、POSTSすれば返答が返ってきます。

pya3rtというモジュールもあるのでそれを使うと簡単です。
apikeyはTALKAPIKEYという環境変数に設定しています。

使わなくてもya3rt.TalkClient(apikey).talkを見ると、次のようなコードなので、パラメータ設定して、POSTしているようです。

用意している対話モデルで対応できないときに使いたいのが雑談系APIなので、当面はA3RTを利用させていただこうと思います。

後日、雑談が使用できなくなり、調べたらAPIエンドポイントが変更されていたので対応しました。

A3RTのTalk APIエンドポイントが変更していたので修正しました


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - API

ad

ad

  関連記事

A3RTのTalk APIエンドポイントが変更していたので修正しました

チャットボットのAPIでA3RTのTalk APIを使った LINEやTeams …

Slackでチームを作成してbotから投稿出来るようにする

Slackで新しいチームを作成して、botが投稿出来るように設定します。 ※20 …

Zoom APIをPostmanで試す

ビデオコミュニケーションサービスのZoomには豊富なAPIが用意されています。 …

Twilioで電話を受ける人の仕事を少し楽に出来ないか考えてみた

Twilio Advent Calendar 2017の参加記事です。 Twil …

RocketChatのスレッドと返信をPythonで取得する

RocketChatのOutgoing Webhookを使って、投稿と返信をki …

Stripe CheckoutをローカルのPythonで試す

Stripe Advent Calendar 2017の参加記事です。 Stri …

Zoom API でミーティング作成を試す

Zoom APIをPostmanで試すの環境で、ミーティングスケジュールを新規作 …

docomo Developer supportの 雑談対話APIから自然対話APIへ移行しました

LINEやSlackのbotで重宝していた、雑談対話APIが終了する、とのことで …

D-IDでTalks APIを使って動的にビデオを作成する

D-IDでは1枚の写真をもとに表情豊かにテキストをしゃべらせることができます。 …

「API Meetup Tokyo #29 ニッポンのAPIエコノミー最前線 〜国産APIが社会を変える〜」に参加しました

API Meetup Tokyoに来ました〜 会場はおしゃれなDEJIMAさんで …