Skip to Content
FastAPIで生成型AIサービスを作る
book

FastAPIで生成型AIサービスを作る

by Alireza Parandeh
April 2025
Intermediate to advanced
530 pages
7h 52m
Japanese
O'Reilly Media, Inc.
Content preview from FastAPIで生成型AIサービスを作る

第10章 AIサービスの最適化 AIサービスを最適化する

この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com

この章では、プロンプト・エンジニアリング、モデルの量子化、キャッシュ・メカニズムによってサービスをさらに最適化する方法を学ぶ。

最適化テクニック

AIサービスを最適化するオブジェクトは、出力品質かパフォーマンス(遅延、スループット、コストなど)を向上させることだ。

パフォーマンス関連の最適化には以下のようなものがある:

  • バッチ処理APIを使う

  • キャッシュ(キーワード、セマンティック、コンテキスト、またはプロンプト)

  • モデルの量子化

品質関連の最適化には以下のようなものがある:

  • 構造化された出力を使う

  • 迅速なエンジニアリング

  • モデルの微調整

それぞれを詳しく見ていこう。

バッチ処理

多くの場合、LLMにエントリーのバッチを同時に処理させたい。 最も明白な解決策は、エントリごとに複数のAPI呼び出しを送信することである。 しかし、明白なアプローチはコストと時間がかかり、モデルプロバイダーのレート制限につながる可能性がある。

このような場合、LLMを通じてデータをバッチ処理する2つのテクニックを活用することができる:

  • 構造化出力スキーマを更新して、複数の例を同時に返す

  • バッチ処理用に設計されたモデルプロバイダーAPIを特定し、使用する。

最初の解決策は、Pydanticのモデルやテンプレートプロンプトを更新し、リクエストごとに出力リストをリクエストすることである。 この場合、エントリごとに1回のリクエストではなく、数回のリクエストでデータをバッチ処理することができる。

第1の解決策の実装を例10-1に示す。

例 10-1. 複数の項目を解析するために構造化出力スキーマを更新する
from pydantic import BaseModel

class BatchDocumentClassification(BaseModel):
    class Category(BaseModel):
        document_id: str
        category: list[str]

    categories: list[Category] 1
1

Pydanticモデルを更新し、Category モデルのリストを含める。

新しいスキーマをドキュメントのタイトルリストと一緒にOpenAIクライアントに渡すことで、単一API呼び出しで複数のエントリを処理できるようになった。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

AI支援プログラミング

AI支援プログラミング

Tom Taulli
ファストAPI

ファストAPI

Bill Lubanovic

Publisher Resources

ISBN: 9798341640627Supplemental Content