予算をオーバーせずにLLMを活用する方法
AIのデモを作るのは簡単です。APIキーを取得し、プロンプトを書けば、動きます。
しかし、それを実際のユーザーに提供するのは別問題です。トラフィックが増えるとコストが急騰し、レイテンシが増大します。財務チームからも質問攻めに合うでしょう。
デモと実製品の差は「エンジニアリング」にあります。コストと速度を管理しなければなりません。
出力を制御してコストを抑える
ほとんどのAPIはトークン単位で課金されます。送信した内容(入力)と、返ってきた内容(出力)の両方に課金されます。出力トークンは入力トークンよりもコストが高くなります。
単にプロンプトを削るだけでなく、回答に焦点を当ててください。 • JSON形式で回答させる。 • 一文で回答させる。 • 最大トークン制限を設定する。 • モデルに簡潔に答えるよう指示する。
短い回答の方が、安くて速いです。
コール回数を減らす
最も安上がりなコールは、行わないコールです。
- キャッシングを利用する。 多くのユーザーは同じ質問をします。キャッシュを使えば、低速なAPIコールを高速なルックアップに変換できます。
- ルーターを利用する。 すべてのタスクに巨大なモデルが必要なわけではありません。簡単な作業には小さくて安価なモデルを使い、難しいタスクにのみ高価なモデルを使用してください。
ユーザーエクスペリエンスを向上させる
モデルの速度自体を上げられない場合もあります。その場合は、「速く感じさせる」ことができます。
- レスポンスをストリーミングする。 テキストが生成されるそばから表示します。ユーザーはすぐに読み始めることができ、待ち時間が短く感じられます。
- 進捗を表示する。 処理にステップがある場合は、ユーザーに伝えます。空白のローディングスピナーではなく、「ドキュメントを検索中...」といったメッセージを表示してください。
低速なリクエストを管理する
いくつかの非常に低速なリクエストが、製品を台無しにすることがあります。リクエストを放置(ハング)させてはいけません。
- 厳格なタイムアウトを設定する。 リクエストに時間がかかりすぎた場合に何が起こるかを決めておきます。
- 回数制限付きのリトライを使用する。 無限にリトライしてはいけません。
- サーキットブレーカーを使用する。 プロバイダーがダウンしている場合は、リクエストの送信を停止し、フォールバックを表示します。
データを追跡する
計測できないものは改善できません。すべてのリクエストに対して、以下の3つをログに記録してください。 • 入力トークン • 出力トークン • 合計レイテンシ
これらを機能ごとに追跡してください。おそらく、コストの大部分を占めている特定の機能が見つかるはずです。
モデルを魔法のように扱うのはやめましょう。管理すべき「低速で高価な依存関係」として扱いましょう。
