genai-processors: 非同期かつ構成可能なマルチモーダルAIパイプラインを構築するためのモジュール式フレームワーク
genai-processors: 非同期かつ構成可能なマルチモーダルAIパイプラインを構築するためのモジュール式フレームワーク
何を解決するか
GenAI Processorsは、LLM APIの断片化を軽減し、複雑で非同期なAIパイプラインの作成を簡素化するために設計された軽量なPythonライブラリです。複雑な配管コードを必要とせずに、マルチモーダルコンテンツを扱い、異なるモデル、エージェント、ツール間でデータをストリーミングするための統一された方法を提供します。
仕組み
このライブラリは、作業単位をカプセル化するProcessor抽象化を中心に構築されています。「デュアルインターフェース」パターンを使用して、プロセッサの作成(Producer)とそれらの使用(Consumer)のロジックを分離します。
主なメカニズムには以下が含まれます:
- Unified Content Model:
ProcessorPartを使用して、マルチモーダルデータ(テキスト、画像、音声、JSON)をMIMEタイプやロールなどのメタデータと共にラップします。 - Asyncio Integration: Pythonの
asyncioに基づいて構築されており、ネイティブな非同期ストリーミングと並行タスクのオーケストレーションが可能です。 - Composable Pipelines: プロセッサは
+演算子を使用してチェーン化したり、//演算子を使用して並列化したりして、高度なデータフローを構築できます。 - Integrated API Support: 標準的なAPI呼び出し用の
GenaiModelや、Gemini APIとのリアルタイムストリーミングインタラクション用のLiveProcessorなどの組み込みプロセッサが含まれています。
対象者
生成AIアプリケーションを構築している開発者、特にマルチモーダルなストリーミングデータをオーケストレートし、モジュール式で再利用可能なエージェント的挙動を作成する必要がある開発者です。
ハイライト
- Modular Design: タスクは再利用可能な
ProcessorおよびPartProcessorユニットに分割されます。 - Native Streaming: 非同期ストリーミングがデフォルトで組み込まれています。
- Multimodal Support: テキスト、画像、音声、およびカスタムJSONをシームレスに扱えます。
- Flexible Orchestration: ターンベースのインタラクションと、ライブでリアルタイムなストリーミングエージェントの両方をサポートします。
Sources
- undefinedgoogle-gemini/genai-processors