这是indexloc提供的服务,不要输入任何密码

Anunciamos o GenAI Processors: crie aplicativos Gemini poderosos e flexíveis

10 DE JULHO DE 2025
Andre Elisseeff Software Engineer
Alexey Guseynov Software Engineer
Oskar Bunyan Software Engineer
Shrestha Basu Mallick Group Product Manager

Criar aplicativos de IA sofisticados com modelos de linguagem grandes (LLMs, na sigla em inglês), especialmente aqueles que lidam com entrada multimodal e exigem capacidade de resposta em tempo real, muitas vezes é como montar um quebra-cabeça complexo: você está juntando diversas etapas de processamento de dados, chamadas de API assíncronas e lógica personalizada. À medida que a complexidade aumenta, o código pode ficar mais frágil e difícil de manter.

Hoje, apresentamos o GenAI Processors, uma nova biblioteca Python de código aberto do Google DeepMind projetada para trazer estrutura e simplicidade para esses desafios. O GenAI Processors fornece uma camada de abstração, definindo uma interface Processor consistente para tudo, desde o tratamento e o pré-processamento de entradas até as chamadas de modelos e o processamento de saídas.

Em sua essência, o GenAI Processors trata todas as entradas e saídas como fluxos assíncronos de ProcessorParts (ou seja, streaming bidirecional). Pense nisso como partes de dados padronizadas (por exemplo, um bloco de áudio, uma transcrição de texto, um frame de imagem) fluindo pelo pipeline junto com os metadados associados. Esta API baseada em fluxo permite encadeamento e composição contínuos de diferentes operações, desde manipulação de dados de nível baixo até chamadas de modelos de alto nível.

GenAI Processors library
A biblioteca GenAI Processors foi projetada para otimizar a execução simultânea de um Processor. Qualquer parte neste exemplo de fluxo de execução pode ser gerada simultaneamente quando todos os seus ancestrais no gráfico são computados. Por exemplo, "c'12" pode ser gerado simultaneamente a "a’1". O fluxo mantém a ordenação do fluxo de saída em relação ao fluxo de entrada e será executado para minimizar o Tempo para o primeiro token (prefira "a12" a "d12" sempre que possível). Essa otimização de simultaneidade é feita nos bastidores: a aplicação de um Processor a um fluxo de entrada acionará automaticamente essa execução simultânea sempre que possível.

Por exemplo, você pode facilmente criar um "atendente" capaz de processar streams de áudio e vídeo em tempo real usando a API Gemini Live com apenas algumas linhas de código. No exemplo a seguir, observe como as origens de entrada e as etapas de processamento são combinadas usando o operador +, criando um fluxo de dados claro (código completo no GitHub):

from genai_processors.core import audio_io, live_model, video
 
# Input processor: combines camera streams and audio streams
input_processor = video.VideoIn() + audio_io.PyAudioIn(...)
 
# Output processor: plays the audio parts. Handles interruptions and pauses
# audio output when the user is speaking.
play_output = audio_io.PyAudioOut(...)
 
# Gemini Live API processor
live_processor = live_model.LiveProcessor(...)
 
# Compose the agent: mic+camera -> Gemini Live API -> play audio
live_processor = live_model.LiveProcessor(...)
live_agent = input_processor + live_processor + play_output
 
async for part in live_agent(streams.endless_stream()):
  # Process the output parts (e.g., print transcription, model output, metadata)
  print(part)
Python

Você também pode criar seu próprio atendente, aproveitando um LLM padrão baseado em texto, usando o recurso de streaming bidirecional da biblioteca GenAI Processor e a API Google Speech (código completo no GitHub):

from genai_processors.core import genai_model, realtime, speech_to_text, text_to_speech
 
# Input processor: gets input from audio in (mic) and transcribes into text
input_processor = audio_io.PyAudioIn(...) + speech_to_text.SpeechToText(... )
play_output = audio_io.PyAudioOut(...)
 
# Main model that will be used to generate the response.
genai_processor = genai_model.GenaiModel(...),
 
# TTS processor that will be used to convert the text response to audio. Note
# the rate limit audio processor that will be used to stream back small audio
# chunks to the client at the same rate as how they are played back.  
tts = text_to_speech.TextToSpeech(...) + rate_limit_audio.RateLimitAudio(...)
 
 
# Creates an agent as:
# mic -> speech to text -> text conversation -> text to speech -> play audio
live_agent = (
     input_processor
     + realtime.LiveModelProcessor(turn_processor=genai_processor + tts)
     + play_output
 )
async for part in live_agent(streams.endless_stream()):
     …
Python

Prevemos uma necessidade crescente de aplicativos proativos de LLM na qual a capacidade de resposta é crítica. Mesmo para casos de uso sem streaming, o processamento dos dados assim que eles são disponibilizados pode reduzir significativamente a latência e o Tempo para o primeiro token (TTFT, na sigla em inglês), o que é essencial para criar uma boa experiência do usuário. Embora muitas APIs de LLM priorizem interfaces síncronas e simplificadas, o GenAI Processors – aproveitando os recursos nativos do Python – oferece uma maneira de escrever aplicativos responsivos sem tornar o código mais complexo. Os exemplos de planejador de viagens e agente de pesquisa demonstram como os agentes baseados em rodadas podem usar o recurso de simultaneidade do GenAI Processors para aumentar a capacidade de resposta.


Princípios básicos de design

No coração do GenAI Processors está o conceito de um Processor: um elemento básico fundamental que encapsula uma unidade de trabalho específica. Ele recebe um fluxo de entradas, executa uma operação e gera um fluxo de resultados como saída. Essa API simples e consistente é uma pedra angular do poder e da flexibilidade da biblioteca.

Vejamos as principais decisões de design e seus benefícios para os desenvolvedores:

  • Design modular: divida fluxos de trabalho complexos em unidades de Processor independentes. Isso garante a reutilização do código e a capacidade de teste e simplifica significativamente a manutenção de pipelines complexos.

  • Assíncrono e simultâneo: aproveita totalmente o asyncio do Python para lidar de forma eficiente com tarefas vinculadas a E/S e computação. Isso permite aplicativos responsivos sem threads manuais ou gerenciamento complexo de simultaneidade.

  • Integrado à API Gemini: processadores dedicados, como GenaiModel (para interação baseada em rodadas) e LiveProcessor (para streaming em tempo real) simplificam a interação com a API Gemini, incluindo as complexidades da API Live. Isso reduz o boilerplate e acelera a integração.

  • Extensível: crie facilmente processadores personalizados herdando de classes de base ou usando decoradores. Integre sua própria lógica de processamento de dados, APIs externas ou operações especializadas diretamente em seus pipelines.

  • Tratamento multimodal unificado: o wrapper ProcessorPart fornece uma interface consistente para lidar com diversos tipos de dados (texto, imagens, áudio, JSON etc.) dentro do pipeline.

  • Utilitários de manipulação de fluxo: utilitários integrados para dividir, concatenar e mesclar fluxos assíncronos. Isso fornece controle refinado sobre o fluxo de dados em pipelines complexos.


Primeiros passos

É muito simples começar a usar o GenAI Processors. Você pode instalá-lo com pip:

pip install genai-processors
Python

Para ajudar você a se familiarizar com a biblioteca, fornecemos uma série de notebooks do Colab que o orientam você pelos principais conceitos e demonstram como criar vários tipos de processadores e aplicativos. Recomendamos começar com o Content API Colab e o Processor Intro Colab.

Você também pode explorar o diretório examples/ no repositório para ver demonstrações práticas de como criar aplicativos mais complexos, como um agente de pesquisa e um agente de comentários ao vivo.


O futuro

O GenAI Processors está atualmente em seus estágios iniciais, e acreditamos que ele fornece uma base sólida para enfrentar desafios complexos de fluxo de trabalho e orquestração em aplicativos de IA. Embora o SDK do Google GenAI esteja disponível em várias linguagens, o GenAI Processors atualmente dá suporte apenas a Python.

O diretório core/ contém processadores fundamentais, e incentivamos ativamente as contribuições da comunidade para funcionalidades mais especializadas no diretório contrib/. Mal podemos esperar para colaborar com a comunidade de desenvolvedores a fim de expandir a biblioteca e criar sistemas de IA ainda mais sofisticados.

Quer começar a criar aplicativos Gemini mais robustos e responsivos?

Confira o repositório do GenAI Processors no GitHub: https://github.com/google-gemini/genai-processors

Mal podemos esperar para ver o que você vai criar!


Agradecimentos

O GenAI Processors é o resultado da dedicação e do trabalho árduo de uma equipe fantástica. Gostaríamos de agradecer às seguintes pessoas que desempenharam um papel fundamental na criação desta biblioteca: Juliette Love, KP Sawhney, Antoine He, Will Thompson, Arno Eigenwillig, Ke Wang, Parth Kothari, Tim Blyth, Philipp Schmid, Patrick Löber, Omar Sanseviero, Alexey Kolganov, Adam Langley, Evan Senter, Seth Odoom, Thierry Coppey e Murat Ozturk.