Cloudflare Workers + honoでChatGPT Pluginを作る
code:sh
% npm create hono@latest chatgpt-plugin-demo
% npm i
% npm i --save-dev @cloudflare/workers-types
試行錯誤
ユーザーどこに住んでるのかの情報をどう頑張っても得られない
Cloudflare WorkerではAPIへのリクエスト元に関するGeo Locationの情報をrequestの中に含んでくれるのだけど、ChatGPT PluginはAPIへのリクエストをクライアントではなくOpenAIのサーバー側で実行するみたいなのでどのクライアントであろうとアメリカの西海岸がTimezoneになってしまう...
どうしようもないのでとりあえずUTCの時間を返し、どこに住んでいるか教えてくれたらそのタイムゾーンにおける現在時刻に変換して返してくれるようにmodel向けのdescriptionを書いた
json/yamlファイル内のURLがベタ書きなので開発環境と本番環境で切り替えるのがダルい
URL部分をBASE_URLみたいに書いておき、その部分をリクエストヘッダーのHostからreplaceして返すみたいなコードも試したが、Workerの制約的にfetchでエラーが出てダメそうだった
記事