3
1

More than 1 year has passed since last update.

LINE WORKSにMake(旧Integromat)を使ってノーコードでChatGPTのBotを投入してみた

Last updated at Posted at 2023-03-26

できたこと

LINE WORKSのトークルームに追加されたChatGPTのBotにメンションするとOpenAIアシスタントから回答もらえる。

やったこと

  • LINE WORKSにBot追加
  • Open APIのKEY発行
  • Make(旧Integromat)で以下のモジュール作成
    • BotへのメンションをトリガーにOpenAIのAPIを叩く
    • LINE WORKSのAPIに設定するJSONを作成
    • レスポンスをLINE WORKSのBotでトークルームにメッセージ投稿

LINE WORKSにBot追加

LINE WORKSのDeveloperConsoleと管理画面からBotを設定。
https://guide.worksmobile.com/jp/admin/admin-guide/manage-service/bot/

OAuth2.0の使い方は以下を参考に。
https://developers.worksmobile.com/jp/reference/introduction?lang=ja&manageDomainId=500057291

MakeのリダイレクトURLは https://www.integromat.com/oauth/cb/oauth2 となることに注意
参考:https://www.make.com/en/help/tutorials/how-to-connect-make-to-any-web-service-that-uses-oauth2-authorization

Open APIのKEY発行

OpenAIのAPIリファレンス通りにやればできる
https://platform.openai.com/docs/api-reference

Make(旧Integromat)でモジュール作成

Scenarioはこんな感じ。JSONエラー出たときにややこしくなるので変数使っている。

Webhookモジュールに表示されるWebhookのURLをLINE WORKSのDeveloper ConsoleのBotの「Callback URL」に設定

Webhookで受け取ったLINE WORKSからのメッセージをOpenAIのcompletionsに投げる

※RequestContentのInputDataにはToolsの変数を設定している(改行が邪魔なので空文字にreplaceした)

改行を置き換える
OpenAIから返ってきたアシスタントの回答に改行が含まれている場合、そのままJSONパラメータに突っ込むとエラーになる。
そのため、改行をLINE WORKSの仕様に合わせて"/n"に置き換える。

※Data.choises[ ]:message.contentが回答内容。このデータが取れない場合は、一度Scenario実行してJsonデータをParseすれば取れる。(以下参考画像)

OpenAIから返ってきたアシスタントの回答をトークルームにBotで投稿
Makeの場合、「Make an OAuth 2.0 Request」で作ればRedirectURLはよしなにしてくれる。
DeveloperConsoleのBot情報に載っている「Client ID、Client Secret、OAuth Scopes」をCreateConnectionの項目に設定する。

※Authorize URIとToken URIはLINE WORKSのAPIリファレンスに載ってる

トークルームを指定したBotメッセージ投稿は以下に載っている。
https://developers.worksmobile.com/jp/reference/bot-channel-message-send?lang=ja
※API doesn't exitというエラーが返ってくるときはAPIのスペル間違っているかもしれない

今後やりたいこと

利用者の関心に回答が近しくなるようFine tuningしてみたい

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1