首頁 / 開源排行榜 / genai-processors

genai-processors

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

PythonApache-2.0Framework
⭐ GitHubhttps://github.com/google-gemini/genai-processors
2,117
Star 數
+-1
Star 增速
2026年9月10日
最後更新
2,075
點擊數

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 都能提供必要的工具和抽象層來簡化開發過程。