4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

LINE WORKSAdvent Calendar 2022

Day 24

GPT 3.5 と LINE WORKS をつないでみた

Last updated at Posted at 2023-02-08

GPT 3.5 と LINE WORKS をつないでみました。
LINE WORKS の API 2.0 のトーク Bot API を使ってます。
Microsoft PowerAutomate を使ってます。

image.png

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 要求の受信時] をトリガーにします。

l_147288799_4_6e84b4bf4e19593d724e841ac02b3791.png

"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 にリクエストを送信します。
l_1517737_2261_f1456266d8accfec00d7f0d43de0ee8e.png

OpenAI のコンソールで取得した token の情報を含めます。
prompt には、Bot 宛てのトークメッセージの text を指定します。

GTP 3.5 からのレスポンスを解析

[JSON の解析コネクタ] でレスポンスを解析して返信を取り出します。
l_1517737_2262_f3d7980b89235cbe4d4c79b1d6b3ff61.png
"スキーマ" は以下です。

{
    "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

image.png

フローは以上です。

動作確認

LINE WORKS からメッセージを送ると、GPT 3.5 から返信されます。

image.png

4
4
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
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?