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