GenAI Processorsは、Google DeepMindによって開発されたオープンソースのPythonライブラリで、マルチモーダルコンテンツの効率的な並列処理に焦点を当てています。Pythonのasyncioフレームワークをベースとしており、複雑なAIアプリケーションの開発を簡素化する、モジュール化された再利用可能なプロセッサインターフェースを提供する。ユーザーはこのライブラリを使って、テキスト、オーディオ、ビデオなどのデータストリームを処理し ジェミニAPI シームレスな統合。リアルタイムのストリーム処理とターンベースのインタラクションをサポートしており、高速なレスポンスを必要とするAIアプリケーションの構築に適している。コードはGitHubにホストされており、コミュニティは機能を拡張するためのプロセッサモジュールを提供することができる。このプロジェクトはApache 2.0ライセンスの下でライセンスされており、開発者が本番環境で使用可能なAIアプリケーションを迅速に構築するのに適している。
機能一覧
- 非同期並列処理Pythonのasyncioをベースにしており、I/Oや計算集約的なタスクの効率的な処理をサポートします。
- モジュラー・プロセッサー設計複雑なデータストリームを結合または並列化できるProcessorとPartProcessorユニットを提供。
- Gemini APIインテグレーションGenaiModelとLiveProcessorを内蔵し、ターンベースとリアルタイムのストリーミング・インタラクションをサポート。
- マルチモーダルフロー処理テキスト、オーディオ、ビデオ、その他のデータストリームの分割、結合、処理をサポートします。
- リアルタイム・インタラクティブ・サポートLiveProcessorは、リアルタイムのオーディオおよびビデオストリームを処理するため、リアルタイムAIエージェントの構築に適しています。
- 地域貢献の延長contrib/ディレクトリにカスタムプロセッサを追加するユーザーをサポートするための機能強化。
- ツール統合グーグル検索のような内蔵ツールは、AIエージェントの文脈処理能力を高めます。
ヘルプの使用
設置プロセス
GenAI ProcessorsにはPython 3.10以上が必要です。詳しいインストール手順は以下の通りです:
- 環境設定::
- Python 3.10+がシステムにインストールされていることを確認してください。
- コード・リポジトリをクローンするためにGitをインストールする。
sudo apt update && sudo apt install python3.10 git
- クローン倉庫::
- GitHubからGenAI Processorsリポジトリをクローンする。
git clone https://github.com/google-gemini/genai-processors cd genai-processors
- 依存関係のインストール::
- pipを使って、pyaudio、google-genai、termcolorなどの必要な依存関係をインストールします。
pip install --upgrade pyaudio genai-processors google-genai termcolor
- APIキーの設定::
- ゲイン グーグルAIスタジオ のAPIキー。
- 環境変数の設定
GOOGLE_API_KEY
歌で応えるGOOGLE_PROJECT_ID
.
export GOOGLE_API_KEY="你的API密钥" export GOOGLE_PROJECT_ID="你的项目ID"
使用方法
GenAI Processorsの中心はProcessorモジュールであり、入出力ストリームを処理するために使用される。以下は主な機能の詳細な流れである:
1.シンプルなテキストプロセッサーの作成
- 官能性テキスト入力を処理し、結果を出力する。
- ワークフロー::
- モジュールをインポートし、入力ストリームを作成する。
- 利用する
stream_content
テキストを ProcessorPart ストリームに変換します。 - プロセッサーを適用し、出力を反復する。
from genai_processors import content_api, streams input_parts = ["Hello", content_api.ProcessorPart("World")] input_stream = streams.stream_content(input_parts) async for part in simple_text_processor(input_stream): print(part.text)
- 効果入力されたテキストを部分ごとに処理し、印刷します。
2.リアルタイムのオーディオ・ビデオエージェントの構築
- 官能性LiveProcessorを通してリアルタイムのオーディオとビデオストリームを処理します。
- ワークフロー::
- オーディオ入力デバイス(PyAudioなど)を初期化する。
- ビデオ入力(カメラまたはスクリーンストリームなど)を設定します。
- LiveProcessorを使った呼び出し ジェミニ ライブAPI。
- 入力、処理、出力モジュールの組み合わせ。
from genai_processors.core import audio_io, live_model, video import pyaudio pya = pyaudio.PyAudio() input_processor = video.VideoIn() + audio_io.PyAudioIn(pya, use_pcm_mimetype=True) live_processor = live_model.LiveProcessor(api_key="你的API密钥", model_name="gemini-2.5-flash-preview-native-audio-dialog") play_output = audio_io.PyAudioOut(pya) live_agent = input_processor + live_processor + play_output async for part in live_agent(text.terminal_input()): print(part)
- 効果リアルタイム対話エージェントに適した音声を出力するために、Gemini APIを通じてマイクとカメラの入力を処理できるようにする。
3.研究テーマの創出
- 官能性ユーザーの入力に基づいて研究テーマを生成します。
- ワークフロー::
- 利用する
topic_generator.py
GenaiModel の設定例。 - トピック数や出力形式などのモデルパラメータを設定します。
- リサーチクエリを入力して、トピックのリストをJSON形式で取得します。
from genai_processors.examples.research.processors import topic_generator processor = topic_generator.TopicGenerator(api_key="你的API密钥") async for part in processor(["研究AI在医疗领域的应用"]): print(part.text)
- 利用する
- 効果学術研究のシナリオに適した、指定された数の研究テーマとその入力との関係を生成します。
4.カスタム・プロセッサー
- 官能性特定のタスクを処理するカスタムプロセッサを作成します。
- ワークフロー::
- 協議
create_your_own_processor.ipynb
ノートブック - を継承したProcessorクラスを定義する。
processor.Processor
. - 気付く
call
メソッドは入力ストリームを処理する。 - パイプラインにカスタムプロセッサを追加する。
- 協議
- 効果ユーザーは、特定のファイル形式を扱ったり、他のAPIを統合したりするなど、必要に応じて機能を拡張することができます。
実行例
- リアルタイムCLIの例::
- うごきだす
realtime_simple_cli.py
音声対話エージェントを作成する。
python3 examples/realtime_simple_cli.py
- 音声を入力すると、システムはその音声をテキストに変換し、処理し、音声応答を出力する。
- うごきだす
- トラベルプランCLI::
- うごきだす
trip_request_cli.py
旅行計画を立てる。
python3 examples/trip_request_cli.py
- 目的地と日付を入力すると、詳細なプランが表示されます。
- うごきだす
ほら
- リクエストの失敗を避けるために、APIキーが有効であることを確認してください。
- デバッグ中に設定できます。
--debug=True
ログを見る - リアルタイム処理には、安定したネットワークとハードウェアのサポートが必要だ。
アプリケーションシナリオ
- リアルタイム対話エージェント
- 説明顧客サービスやバーチャルアシスタントに適した、リアルタイムでユーザーの入力を処理する音声またはビデオ駆動型のAIアシスタントを開発する。
- 学術研究支援
- 説明研究テーマを作成したり、文献を分析したり、学生や研究者が自分の考えを素早く整理するのに適しています。
- マルチモーダルコンテンツ処理
- 説明ライブストリーミングやビデオ分析に適した、字幕やリアルタイムのナレーションを生成するために、オーディオとビデオストリームを処理します。
- 自動化されたワークフロー
- 説明企業のデータ処理に適した、バッチデータを処理する自動化されたパイプラインを構築します。
品質保証
- どのような前提条件が必要ですか?
- Python 3.10以上、pyaudioとgoogle-genaiライブラリのインストール、Google APIキーの設定が必要です。
- 処理フローのデバッグ方法は?
- スクリプトの実行時に
--debug=True
ログ出力を見て、入出力ストリームをチェックする。
- スクリプトの実行時に
- どのようなデータ型がサポートされていますか?
- ProcessorPartで処理可能なテキスト、オーディオ、ビデオ、およびカスタム・データ・ストリームをサポートします。
- コードを提供するには?
- 協議
CONTRIBUTING.md
contrib/ディレクトリにカスタムプロセッサを投稿してください。
- 協議