💻

chatGPTのAPIレスポンスが遅くて困ったあなたへ

2023/05/11に公開

何が起きたか?

chatGPTのAPIを利用して、旅行プランを提案するウェブアプリを作成したが
chatGPTのAPIレスポンスが遅すぎた。

数十秒くらいなら我慢できると思っていたが、5分以上かかるときもあり
ユーザーに「壊れた」と勘違いされる危険性があった。

原因と対策

多くの人に当てはまるものから、多分自分達くらいにしか当てはまらないものまで、色々あったが全て載せる。

  1. モデルをちゃんと選んでいなかった。
    → なぜかgpt-3を選んでいたが、gpt-3.5-turboかtext-davinci-003を選ぶようにしたら結構応答時間が短くなった。
    公式のモデル一覧はこれ(https://platform.openai.com/docs/models/overview)

  2. プロンプトが悪かった
    → 条件を付け足し続ける形でプロンプトを作成すると、応答時間はどんどん長くなる。もっと簡潔な表現がないかを地道に探した。

  3. 体感時間を短くする工夫をしていなかった
    → ローディングアニメーションを追加して、待ち時間に追加アンケートを回答してもらうようにした。

  4. プロンプトにより、出力形式をjsonに指定していた。
    → chatGPTは普通のテキストによる出力を得意としているので、テキスト形式(簡易的なリスト)で出力させて、functions内で正規表現を使いjsonに変換した。

結論

これにより体感の待ち時間は5分→30秒くらいに減少した。
もっと効果があったのは4. 出力形式の変更
次に効果があったのは2. プロンプトの改善
結局プロンプトに問題があった。
どうしたら短くなるかを調べながら地道に改善する必要がある。

※非エンジニアの人と協力する場合には、openAIが提供してくれているplaygroundを使うとAPI経由と同じ環境で確かめられる。

Discussion