KC Blog

ChatGPT 教学 - Line BotでOpen AI ChatGPTを連携

12 min read
AI#AI#ChatGPT
1.アカウントを登録し、Sign Upをクリックして登録します:ChatGPT ログインページ
2.アカウントを作成します
3.チャットを開始し、下のチャットボックスに質問を入力します
4.例えば...2023年WBCクラシックのチャンピオン予測
5.または...Kotlinで予測プログラムを書く方法は?

⬆ChatGPTは身長から体重を予測するプログラムの例を示してくれました。見た目は立派です。

このような素晴らしいAIには、様々な質問ができます。それをどう活用するか見ていきましょう...
ChatGPT APIを接続してみよう
1.アカウントを登録し、APIキーを取得します:OpenAI ログインページ

⬆クリックして右上のアイコンをクリックすると、上の画像のような画面が表示されます。「View API keys」をクリックしてください。

⬆「Create new Security key」をクリックしてください。このキーは、後でAPIを呼び出す際にあなたの身元を確認するために使用します。

2.次に、公式APIドキュメントを参照してください: OpenAI APIドキュメント

ドキュメントの紹介を見て、ドキュメントに書かれている説明に従って接続してください。

しかし、curlやAPIリクエストに少し経験がある場合は、公式が提供するcurlの例を見つけて、あなたが慣れている言語に変更することができます。


curl https://api.openai.com/v1/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $YOUR_API_KEY" \
-d '{"model": "text-davinci-003", "prompt": "Say this is a test", "temperature": 0, "max_tokens": 7}'

⬆ 上記のcurlの意味を簡単に紹介します

  1. リクエストを送信するURLはhttps://api.openai.com/v1/completionsです

  2. より細かく分解すると、前半部分はhttps://api.openai.com/ ドメイン名

後半部分はAPIエンドポイント v1/completionsです

  1. 中間の-H部分はヘッダーです

Content-Type: application/jsonは、リクエストボディの形式がjsonであることを示します

Authorization: Bearer $YOUR_API_KEY これはOpenAIが提供するAPIを使用するために必要な認証APIキーです

これは前に生成したキーです

  1. -d '{....}' 最後の-dはエンドポイントに送信するjson形式で、{}内が送信するjson内容です

  2. 簡単なjsonキーの説明:

model :chatGPTのモデルで、公式にはさまざまなモデルが提供されており、

それぞれに最大トークン数や料金、信頼性の違いがあり、ドキュメントに基づいてテストできます: GPT-3モデルドキュメント

prompt:これは質問したい内容で、前にchatGPTのウェブ版のチャットルームに直接入力したものと同じです。

ただし、今回はプログラムを使用してリクエストを送信します

max_tokens:これは今回のリクエストで最大何トークンまで許可するかの制限です。

公式はトークン数で料金を計算するため、

max_tokensを使用して制限することができます。

長期的にAPIを使用する人がトラフィックを制御するためのものかもしれません。

(ここでのトークンは、公式がトラフィック料金を計算するために使用する方法であり、一般的に認証に使用されるトークンとは異なります)

3. これで、OpenAIエンドポイントに接続するために必要なものが揃いました...

あなたが慣れている言語でAPIの開発を始めることができます。

OpenAI APIを接続するKotlinプログラム

⬆ ここでは、再利用する可能性のあるコードをChatGptAPI.kt、ChatGptCompletionRequest.kt、ChatGptCompletionResult.ktなどに分けて書くのが私の習慣です。

大きなプロジェクトを書くつもりはないので、スレッド操作を書くのは面倒です。

まずは最も簡単なretrofit内蔵のCallbackを使用します。

UIスレッドとサブスレッドの切り替えはすでに処理されています。

⬆ ここでは主にRetrofitを使用してエンドポイントの接続を分離しています。

⬆ ここでは、HTTP接続のクラスを作成します。

4.上記の手順を完了すると、ChatGptのAPIの接続が成功します。

今度は、ChatGpt APIの呼び出しが成功した場所で、

LineBotチャットルームのAPIを呼び出して、返されたメッセージを実際に使用しているLineチャットルームに送信するだけです。

LineBotアカウントの作成を開始
1.Line Botアカウントの申請:まず、Line Bot開発者センターでLine Botアカウントを申請し、新しいLine Botチャンネルを作成します。

このリンクをクリックして申請するか、Lineアカウントで直接ログイン:Line Business ID

2.Line Botチャンネルの設定:Line Botチャンネルを作成した後、チャンネルの基本情報、Webhook、メッセージAPI、Line Loginなどの機能を設定する必要があります。

登録後、この画面に入り、Createをクリックして新しいチャットルームを作成します:

作成後、このページに移動し、Create a Messaging API ChannelをクリックしてLine BotのメッセージAPIを有効にします:

下図に従って、情報を入力します

最後に入力を完了したら

条約にチェックを入れて作成します

3.作成後、Basic SettingとMessaging APIページでそれぞれChannel secretとChannel access tokenを確認できます。

これらの2つのキーは、LineBot関連のインターフェースを呼び出すために必要なキーです。

4.次に、LineBot公式APIドキュメントを参照して、どのように接続するかを確認します:LineBot Messaging APIドキュメント
5.ここまでで、LineBotインターフェースを接続するために必要なものが手に入りました...

あなたが慣れている言語でAPIの開発を始めることができます

LineBot API を接続する Kotlin プログラム

⬆ ここでは前のChatGPT接続のプロセスと同じく、Retrofitを使用して書いています

⬆ 引き出されたLine Messagingインターフェース

6.ここまでで簡単に接続が完了しました..コードをサーバーにデプロイすることができます

いくつかのクラウドサーバーを使用するか、自分のローカルIPにサーバーを設置して、作成したコードをアップロードすることができます

これでLineBotとChatGptサービスの接続を開始できます

その後は、オンライン機能にバグがないか繰り返しテストし、後続のメンテナンスに注意することが重要です 残りは自分で探求してみてください、さあ試してみましょう!

最終成果

開発完了後、どうやってLineBotにデプロイするのか?
1.前の部分がすべて開発完了したら、コードを公開してインターフェースをサーバーにデプロイし、Webhook URLをLine Developerのバックエンドに提供するだけで完了です

ここでは前に訪れたLine Developerに戻ります

Messaging APIのページに進み

公開したインターフェースを入力するだけです

⬆URLをLineのバックエンドに更新する

⬆入力後、サーバーが通っているか確認できます

⬆Verifyをクリックした後の結果が表示され、エラーがあればエラーコードが返されます

2.ここではKotlinのKtorを使って自分のバックエンドを開発しています、例えば..

⬆/line_callbackインターフェースを開く

3.無料で使えるオンラインサーバーを一つおすすめします:ngrok

これは使用の敷居が低いため、新しいユーザーに適しています

公式サイトのドキュメントに従うだけで

ほとんど痛みなくローカルポートを外部のURLに変換できます

非常に便利です

⬆ログイン後、ngrokのダッシュボードが表示されます。この時、上記の手順に従うだけです

  1. zipをダウンロードしてインストール

  2. コマンドライン (Linux/mac) / dos(windows) で上記のコマンドをコピーして入力

  3. 最後にポートを選択して外部ポートに変換するだけです

4. ngrokでポートを変換した後、以下の画面が表示されます
5. 再度Line Developerのバックエンドに戻り、URLを入力するだけで完全に接続できます
6. サンプルコード

ChatGpt + LineBot