google-gemini/genai-processors

GenAI Processors is a lightweight Python library that enables efficient, parallel content processing.

What it solves

GenAI Processors는 LLM API의 파편화를 줄이고 복잡하고 비동기적인 AI 파이프라인 구축을 단순화하기 위해 설계된 경량 Python 라이브러리입니다. 멀티모달 콘텐츠를 통합적으로 처리하고, 서로 다른 모델, 에이전트, 도구 간에 데이터를 스트리밍할 수 있는 방법을 제공하여 복잡한 파이프라인 코드를 작성할 필요가 없습니다.

How it works

이 라이브러리는 Processor 추상화를 중심으로 구성되어 작업 단위를 캡슐화합니다. "듀얼 인터페이스" 패턴을 사용하여 프로세서를 생성하는 로직(Producer)과 이를 사용하는 로직(Consumer)을 분리합니다.

주요 메커니즘은 다음과 같습니다:

  • Unified Content Model: ProcessorPart를 사용해 텍스트, 이미지, 오디오, JSON 등 멀티모달 데이터를 MIME 타입 및 역할과 같은 메타데이터와 함께 래핑합니다.
  • Asyncio Integration: Python의 asyncio 위에 구축되어 네이티브 비동기 스트리밍 및 동시 작업 오케스트레이션을 제공합니다.
  • Composable Pipelines: + 연산자를 사용해 프로세서를 체인으로 연결하거나 // 연산자를 사용해 병렬화하여 복잡한 데이터 흐름을 구축할 수 있습니다.
  • Integrated API Support: 표준 API 호출을 위한 GenaiModel과 Gemini API와의 실시간 스트리밍 상호작용을 위한 LiveProcessor와 같은 내장 프로세서를 포함합니다.

Who it’s for

생성 AI 애플리케이션을 개발하는 개발자, 특히 멀티모달 스트리밍 데이터를 오케스트레이션하고 모듈식이며 재사용 가능한 에이전트 행동을 만들고자 하는 사람들을 위한 라이브러리입니다.

Highlights

  • Modular Design: 작업이 재사용 가능한 ProcessorPartProcessor 단위로 분할됩니다.
  • Native Streaming: 비동기 스트리밍이 기본으로 내장되어 있습니다.
  • Multimodal Support: 텍스트, 이미지, 오디오 및 커스텀 JSON을 원활하게 처리합니다.
  • Flexible Orchestration: 턴 기반 인터랙션과 실시간 스트리밍 에이전트를 모두 지원합니다.