google-gemini/genai-processors
GenAI Processors is a lightweight Python library that enables efficient, parallel content processing.
What it solves
GenAI Processors は、LLM API の断片化を減らし、複雑で非同期な AI パイプラインの作成を簡素化することを目的とした軽量な Python ライブラリです。マルチモーダルコンテンツを統一的に扱い、異なるモデル、エージェント、ツール間でデータをストリーミングするための手段を提供し、煩雑な配管コードを書く必要がありません。
How it works
このライブラリは Processor 抽象を中心に構築されており、作業単位をカプセル化します。"デュアルインターフェース" パターンを採用し、プロセッサを作成するロジック(Producer)とそれを使用するロジック(Consumer)を分離しています。
主なメカニズムは次のとおりです:
- Unified Content Model:
ProcessorPartを使用して、テキスト、画像、音声、JSON などのマルチモーダルデータを MIME タイプやロールといったメタデータと共にラップします。 - Asyncio Integration:Python の
asyncio上に構築され、ネイティブな非同期ストリーミングと並行タスクのオーケストレーションを提供します。 - Composable Pipelines:
+演算子でプロセッサをチェーンしたり、//演算子で並列化したりして、洗練されたデータフローを構築できます。 - Integrated API Support:標準 API 呼び出し用の
GenaiModelや、Gemini API とのリアルタイムストリーミング対話用のLiveProcessorなど、組み込みのプロセッサが含まれています。
Who it’s for
生成的 AI アプリケーションを構築する開発者、特にマルチモーダルストリーミングデータのオーケストレーションやモジュラーで再利用可能なエージェント行動の作成が必要な方に最適です。
Highlights
- Modular Design:タスクは再利用可能な
ProcessorとPartProcessorユニットに分割されます。 - Native Streaming:非同期ストリーミングがデフォルトで組み込まれています。
- Multimodal Support:テキスト、画像、音声、カスタム JSON をシームレスに処理します。
- Flexible Orchestration:ターンベースのインタラクションとリアルタイムストリーミングエージェントの両方をサポートします。