ChatGPT API HTTP リクエストを試す

HTTP リクエストでの ChatGPT API で他の仕組みによりつながりやすい

こちらのリファレンスには Node.js や Python 以外にも、基礎的な HTTP リクエストでの ChatGPT API についての curl での解説もあります。

このあたりを把握しておくと、Unity C# のような Node.js や Python が使えない環境でも HTTP リクエストで連携でき、他の仕組みによりつながりやすくなります。

VSCode REST Client 機能拡張

簡単に HTTP リクエストを試すのに VSCode REST Client 機能拡張が役に立ちます。

f717cdc6603a9e727820a55cba00ed31

VSCode の拡張機能で様々なデータの送り方が試せる REST Client 機能拡張というのがあります。これで ChatGPT API の素の HTTP リクエストの検証ができます。

実際の使用感はこちらが参考になります。

✅参考資料

REST Client 機能拡張インストール

8ca57b621f23ab0b02ff228affce0f74

Codespace に戻って、こちらの Extension ボタンをクリックします。

1c0e31afe655adad612aae00ac7c4246

検索エリアで Rest Client で検索してインストールボタンをクリックします。

作業ファイル test.http を開く

今回の作業場所としてエクスプローラから test.http をダブルクリックしてエディタで表示します。

3c45c339ddd67ab88bb261b6ad4f7e9c

すでに test.http にはすぐにテストできる HTTP リクエストがあります。

02775f2acf775badcd9e78adf38c8362

https://platform.openai.com/docs/api-reference/making-requests こちらで ChatGPT API を HTTP リクエストでアクセスするときの仕様が書かれて8います。

✅ポイント

  • Authorization という HTTP ヘッダーで API キーを知らせる
  • API キーの前に Bearer + スペース をいれる
  • JSON で送るため Content-Type という HTTP ヘッダーで application/json を知らせる

API キーを入力

Authorization: Bearer $OPENAI_API_KEY

この記述の部分の $OPENAI_API_KEY を自分の API キーで上書きします。

もし ABCDEFGHIJ の場合は、

Authorization: Bearer ABCDEFGHIJ

となります。保存できたら実行してみます。

Send Request してみる

d2bc87d1759dbf22fc6748bfd0bd71dd

Send Request ボタンをクリックします。

9633c5362f653988d3473cc452a23e91

すると、右エリアに結果が表示されます。

19b78f318b85508c437ccf3fa632dca1

実際の返答も確認できます。

Unity での開発

e4b100eb5661ec65cd50ff583711314e

このナレッジを踏まえて、他との連携として Unity のことを考えてみます。

c96d3c984ea3fe6edd4df0bdc09ae4d3

私がこちらの記事でまとめていますが、実際に HTTP で送るための JSON 定義が結構手間がかかります。また、もし Function calling のように精密に質問内容を整えるとなると、何度もプログラムを Unity を再生して試すので、制作には時間がかさみやすいです。

さらに、音声入力を文字起こししたこの仕組みを使うと、VR デバイスや PC のマイク入力とも連携できるますが「プログラムを Unity を再生して試したあと、さらにデバイスへビルドする」手間はかなり大変です。

76168606ddf08bb93d1745831df5ab86

そのときは、Unity では外部サーバーにアクセスするだけにして仕様を固めてしまって、Node.js や Python でできた外部サーバー側で、柔軟に ChatGPT への仕掛けを整える中継サーバー方式、試行錯誤が素早くなり、おススメです。

私も ChatGPT を複雑に連携するときによくやります!

もちろん、外部サーバーについては今回 enebular でも作ることができます。enebular 側でいくつかサンプルも作っているので、ご参考ください。

results matching ""

    No results matching ""