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 ModelProcessorPart を使用して、テキスト、画像、音声、JSON などのマルチモーダルデータを MIME タイプやロールといったメタデータと共にラップします。
  • Asyncio Integration:Python の asyncio 上に構築され、ネイティブな非同期ストリーミングと並行タスクのオーケストレーションを提供します。
  • Composable Pipelines+ 演算子でプロセッサをチェーンしたり、// 演算子で並列化したりして、洗練されたデータフローを構築できます。
  • Integrated API Support:標準 API 呼び出し用の GenaiModel や、Gemini API とのリアルタイムストリーミング対話用の LiveProcessor など、組み込みのプロセッサが含まれています。

Who it’s for

生成的 AI アプリケーションを構築する開発者、特にマルチモーダルストリーミングデータのオーケストレーションやモジュラーで再利用可能なエージェント行動の作成が必要な方に最適です。

Highlights

  • Modular Design:タスクは再利用可能な ProcessorPartProcessor ユニットに分割されます。
  • Native Streaming:非同期ストリーミングがデフォルトで組み込まれています。
  • Multimodal Support:テキスト、画像、音声、カスタム JSON をシームレスに処理します。
  • Flexible Orchestration:ターンベースのインタラクションとリアルタイムストリーミングエージェントの両方をサポートします。