chatGPTのAPIレスポンスが遅くて困ったあなたへ
何が起きたか?
chatGPTのAPIを利用して、旅行プランを提案するウェブアプリを作成したが
chatGPTのAPIレスポンスが遅すぎた。
数十秒くらいなら我慢できると思っていたが、5分以上かかるときもあり
ユーザーに「壊れた」と勘違いされる危険性があった。
原因と対策
多くの人に当てはまるものから、多分自分達くらいにしか当てはまらないものまで、色々あったが全て載せる。
-
モデルをちゃんと選んでいなかった。
→ なぜかgpt-3を選んでいたが、gpt-3.5-turboかtext-davinci-003を選ぶようにしたら結構応答時間が短くなった。
公式のモデル一覧はこれ(https://platform.openai.com/docs/models/overview) -
プロンプトが悪かった
→ 条件を付け足し続ける形でプロンプトを作成すると、応答時間はどんどん長くなる。もっと簡潔な表現がないかを地道に探した。 -
体感時間を短くする工夫をしていなかった
→ ローディングアニメーションを追加して、待ち時間に追加アンケートを回答してもらうようにした。 -
プロンプトにより、出力形式をjsonに指定していた。
→ chatGPTは普通のテキストによる出力を得意としているので、テキスト形式(簡易的なリスト)で出力させて、functions内で正規表現を使いjsonに変換した。
結論
これにより体感の待ち時間は5分→30秒くらいに減少した。
もっと効果があったのは4. 出力形式の変更
。
次に効果があったのは2. プロンプトの改善
。
結局プロンプトに問題があった。
どうしたら短くなるかを調べながら地道に改善する必要がある。
※非エンジニアの人と協力する場合には、openAIが提供してくれているplaygroundを使うとAPI経由と同じ環境で確かめられる。
Discussion