一个轻量级的Python库,用于构建模块化、异步和可组合的AI处理管道,支持高效的并行内容处理
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. 模块化设计
- 将复杂任务分解为可重用的
Processor
和PartProcessor
单元 - 可以轻松链接(
+
)或并行化(//
)以创建复杂的数据流和代理行为
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(建议按顺序学习):
- Content API Colab - 解释
ProcessorPart
、ProcessorContent
的基础知识以及如何创建它们 - Processor Intro Colab - GenAI Processors核心概念的介绍
- Create Your Own Processor - 创建
Processor
或PartProcessor
的典型步骤演练 - 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都能提供必要的工具和抽象层来简化开发过程。