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