私たちはまず、ストリーミングを使用しないチャットの完成APIの実装から始めます。クライアントからのリクエストを表すPyDanticモデルを作成し、APIリファレンスを再現します。
このモデルは簡潔さを持っており、必要最低限の仕様のみを実装していますが、不足しているパラメータをAPI仕様に応じて追加することができます。
チャットメッセージごとにシステム、アシスタント、ユーザーなどの役割とメッセージテキストを含んだ内容を指定して、FastAPIチャット完了エンドポイントを書くことにします。
次に、ストリーミング対応にレベルアップします。
長大な言語モデリング(LLM)を利用する際には、生成された内容をクライアントに段階的にストリーミングすることが有効です。これにより、ユーザーは応答が完了するのを待たずに、生成されていくレスポンスを見ることができます。
実際の例に基づいたコードを組み合わせて、Pythonで動作する総合的なチャットAPIサーバーのコードを完成させることができます。
出典 : https://towardsdatascience.com/how-to-build-an-openai-compatible-api-87c8edea2f06