Login

一個輕量級的 Python 庫,用於構建模組化、非同步和可組合的 AI 處理管道,支援高效的並行內容處理

Apache-2.0Python 1.4kgoogle-geminigenai-processors Last Updated: 2025-07-14

GenAI Processors 專案詳細介紹

專案概述

GenAI Processors 是一個輕量級的 Python 函式庫,用於建構模組化、非同步和可組合的 AI 處理管道,專為生成式 AI 應用程式而設計。該專案由 Google 推出,旨在簡化複雜 AI 應用程式的開發過程,特別是那些需要處理多模態輸入並要求即時響應的應用程式。

核心概念

Processor(處理器)

GenAI Processors 的核心是 Processor 的概念:一個封裝特定工作單元的基本建構塊。它接收輸入流,執行操作,並輸出結果流。每個 Processor 都有一個簡單統一的 API:

# 任何繼承自processor.Processor並實現此函數的類都是一個處理器
async def call(
    content: AsyncIterable[ProcessorPart]
) -> AsyncIterable[ProcessorPartTypes]

ProcessorPart(處理器部件)

ProcessorPart 是圍繞 genai.types.Part 的包裝器,具有豐富的元數據,如 MIME 類型、角色和自訂屬性。支援各種內容類型(文本、圖像、音訊、自訂 JSON)。

主要特性

1. 模組化設計

  • 將複雜任務分解為可重用的 ProcessorPartProcessor 單元
  • 可以輕鬆連結(+)或平行化(//)以創建複雜的數據流和代理行為

2. 與 GenAI API 整合

  • 包含即用型處理器,如用於基於回合的 API 調用的 GenaiModel
  • 支援即時流互動的 LiveProcessor

3. 可擴展性

  • 透過繼承基類或使用簡單的函數裝飾器創建自訂處理器
  • 支援社群貢獻的處理器擴展

4. 非同步和並發

  • 基於 Python 熟悉的 asyncio 框架
  • 協調並發任務(包括網路 I/O 和與計算密集型子執行緒的通訊)

5. 流管理

  • 提供用於拆分、連接和合併 ProcessorPart 非同步流的實用工具
  • 支援流式處理以減少延遲和首個令牌時間(TTFT)

安裝要求

該函式庫需要 Python 3.10+ 版本。

安裝命令:

pip install genai-processors

使用範例

基本使用

from genai_processors import content_api
from genai_processors import streams

# 創建輸入流(字串會自動轉換為 Parts)
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)

學習資源

專案提供了一系列 Colab 筆記本來幫助使用者熟悉 GenAI Processors(建議按順序學習):

  1. Content API Colab - 解釋 ProcessorPartProcessorContent 的基礎知識以及如何創建它們
  2. Processor Intro Colab - GenAI Processors 核心概念的介紹
  3. Create Your Own Processor - 創建 ProcessorPartProcessor 的典型步驟演練
  4. Work with the Live API - 使用 LiveProcessor 類從 Gemini Live API 建構即時處理器的範例

實際應用範例

1. 即時 Live 範例

examples/realtime_simple_cli.py - 一個音訊輸入音訊輸出的 Live 代理,整合了 Google 搜尋作為工具。這是一個 Live 處理器的客戶端實現,展示了 GenAI Processors 的流式處理和編排能力。

2. 研究代理範例

examples/research/README.md - 使用 Processors 建構的研究代理,包含 3 個子處理器、鏈式處理、創建 ProcessorPart 等功能。

3. 即時解說範例

examples/live/README.md - 使用 Gemini Live API 建構的即時解說代理,由兩個代理組成:一個用於事件檢測,另一個用於管理對話。

專案結構

Core 目錄

core/ 目錄包含一組基本處理器,可以在您自己的應用程式中使用。包括大多數即時應用程式所需的通用建構塊,並將隨著時間的推移不斷發展以包含更多核心組件。

Contrib 目錄

contrib/ 目錄包含社群貢獻的處理器擴展,用於擴展內建處理器集合。

技術優勢

1. 低延遲處理

即使對於非流式用例,一旦數據可用就立即處理可以顯著減少延遲和首個令牌時間(TTFT),這對於建構良好的使用者體驗至關重要。

2. 響應式應用程式開發

雖然許多 LLM API 優先考慮同步、簡化的介面,GenAI Processors 透過利用原生 Python 特性,為編寫響應式應用程式提供了一種方法,而不會使程式碼變得更複雜。

3. 並發處理能力

旅行規劃器和研究代理範例展示了基於回合的代理如何使用 GenAI Processors 的並發功能來提高響應性。

總結

GenAI Processors 為開發者提供了一個強大而靈活的框架,用於建構複雜的生成式 AI 應用程式。其模組化設計、非同步處理能力和與 Google AI 服務的深度整合,使其成為開發現代 AI 應用程式的理想選擇。無論是建構即時對話系統、多模態處理管道還是複雜的 AI 代理,GenAI Processors 都能提供必要的工具和抽象層來簡化開發過程。

Star History Chart