GPT 3.5 と LINE WORKS をつないでみました。
LINE WORKS の API 2.0 のトーク Bot API を使ってます。
Microsoft PowerAutomate を使ってます。
LINE WORKS API 2.0
以下の LINE WORKS API を使っています。
メッセージ(Callback) 受信
https://developers.worksmobile.com/jp/reference/bot-callback?lang=ja
メッセージの送信 - ユーザー指定
https://developers.worksmobile.com/jp/reference/bot-user-message-send?lang=ja
Text
https://developers.worksmobile.com/jp/reference/bot-send-text?lang=ja
LINE WORKS の Developer Console での API 2.0 の設定や、Bot の設定については LINE WORKS Developers サイトの記載や、Qiita 内の LINEWORKSタグの記事が参考になります。
Power Automate のクラウドフロー
Microsoft Power Automate でクラウド フローを作成します。
LINE WORKS の Bot でユーザーからのトークを受信
[HTTP 要求の受信時] をトリガーにします。
"JSON スキーマ" は以下です。
{
"type": "object",
"properties": {
"$content-type": {
"type": "string"
},
"$content": {
"type": "string"
},
"$formdata": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"key",
"value"
]
}
}
}
}
GTP 3.5 の API にリクエスト送信
[HTTP] コネクタで GPT 3.5 にリクエストを送信します。
OpenAI のコンソールで取得した token の情報を含めます。
prompt には、Bot 宛てのトークメッセージの text を指定します。
GTP 3.5 からのレスポンスを解析
[JSON の解析コネクタ] でレスポンスを解析して返信を取り出します。
"スキーマ" は以下です。
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"object": {
"type": "string"
},
"created": {
"type": "integer"
},
"model": {
"type": "string"
},
"choices": {
"type": "array",
"items": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"index": {
"type": "integer"
},
"logprobs": {},
"finish_reason": {
"type": "string"
}
},
"required": [
"text",
"index",
"logprobs",
"finish_reason"
]
}
},
"usage": {
"type": "object",
"properties": {
"prompt_tokens": {
"type": "integer"
},
"completion_tokens": {
"type": "integer"
},
"total_tokens": {
"type": "integer"
}
}
}
}
}
の API にリクエスト送信
Bot からメッセージを返信
以下の記事のカスタム コネクタを用いて Bot からメッセージを返信しています。
https://qiita.com/iwaohig/items/4c47a2a1aabe2cb864a8
フローは以上です。
動作確認
LINE WORKS からメッセージを送ると、GPT 3.5 から返信されます。