ChatGPT 教学 - Line BotでOpen AI ChatGPTを連携
⬆ChatGPTは身長から体重を予測するプログラムの例を示してくれました。見た目は立派です。
このような素晴らしいAIには、様々な質問ができます。それをどう活用するか見ていきましょう...
⬆クリックして右上のアイコンをクリックすると、上の画像のような画面が表示されます。「View API keys」をクリックしてください。
⬆「Create new Security key」をクリックしてください。このキーは、後で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です
3. 中間の-H部分はヘッダーです
Content-Type: application/jsonは、リクエストボディの形式がjsonであることを示します
Authorization: Bearer $YOUR_API_KEY これはOpenAIが提供するAPIを使用するために必要な認証APIキーです
これは前に生成したキーです
4. -d '{....}' 最後の-dはエンドポイントに送信するjson形式で、{}内が送信するjson内容です
5. 簡単なjsonキーの説明:
model :chatGPTのモデルで、公式にはさまざまなモデルが提供されており、
それぞれに最大トークン数や料金、信頼性の違いがあり、ドキュメントに基づいてテストできます:
GPT-3モデルドキュメント
prompt:これは質問したい内容で、前にchatGPTのウェブ版のチャットルームに直接入力したものと同じです。
ただし、今回はプログラムを使用してリクエストを送信します
max_tokens:これは今回のリクエストで最大何トークンまで許可するかの制限です。
公式はトークン数で料金を計算するため、
max_tokensを使用して制限することができます。
長期的にAPIを使用する人がトラフィックを制御するためのものかもしれません。
(ここでのトークンは、公式がトラフィック料金を計算するために使用する方法であり、一般的に認証に使用されるトークンとは異なります)
あなたが慣れている言語でAPIの開発を始めることができます。
OpenAI APIを接続するKotlinプログラム
⬆ ここでは、再利用する可能性のあるコードをChatGptAPI.kt、ChatGptCompletionRequest.kt、ChatGptCompletionResult.ktなどに分けて書くのが私の習慣です。
大きなプロジェクトを書くつもりはないので、スレッド操作を書くのは面倒です。
まずは最も簡単なretrofit内蔵のCallbackを使用します。
UIスレッドとサブスレッドの切り替えはすでに処理されています。
⬆ ここでは主にRetrofitを使用してエンドポイントの接続を分離しています。
⬆ ここでは、HTTP接続のクラスを作成します。
今度は、ChatGpt APIの呼び出しが成功した場所で、
LineBotチャットルームのAPIを呼び出して、返されたメッセージを実際に使用しているLineチャットルームに送信するだけです。
このリンクをクリックして申請するか、Lineアカウントで直接ログイン:Line Business ID
登録後、この画面に入り、Createをクリックして新しいチャットルームを作成します:
作成後、このページに移動し、Create a Messaging API ChannelをクリックしてLine BotのメッセージAPIを有効にします:
下図に従って、情報を入力します
最後に入力を完了したら
条約にチェックを入れて作成します
これらの2つのキーは、LineBot関連のインターフェースを呼び出すために必要なキーです。
あなたが慣れている言語でAPIの開発を始めることができます
LineBot API を接続する Kotlin プログラム
⬆ ここでは前のChatGPT接続のプロセスと同じく、Retrofitを使用して書いています
⬆ 引き出されたLine Messagingインターフェース
いくつかのクラウドサーバーを使用するか、自分のローカルIPにサーバーを設置して、作成したコードをアップロードすることができます
これでLineBotとChatGptサービスの接続を開始できます
その後は、オンライン機能にバグがないか繰り返しテストし、後続のメンテナンスに注意することが重要です
残りは自分で探求してみてください、さあ試してみましょう!
最終成果
ここでは前に訪れたLine Developerに戻ります
Messaging APIのページに進み
公開したインターフェースを入力するだけです
⬆URLをLineのバックエンドに更新する
⬆入力後、サーバーが通っているか確認できます
⬆Verifyをクリックした後の結果が表示され、エラーがあればエラーコードが返されます
⬆/line_callbackインターフェースを開く
これは使用の敷居が低いため、新しいユーザーに適しています
公式サイトのドキュメントに従うだけで
ほとんど痛みなくローカルポートを外部のURLに変換できます
非常に便利です
⬆ログイン後、ngrokのダッシュボードが表示されます。この時、上記の手順に従うだけです
1. zipをダウンロードしてインストール
2. コマンドライン (Linux/mac) / dos(windows) で上記のコマンドをコピーして入力
3. 最後にポートを選択して外部ポートに変換するだけです