GenAI Processors é uma biblioteca Python de código aberto desenvolvida pelo Google DeepMind que se concentra no processamento paralelo eficiente de conteúdo multimodal. Ela é baseada na estrutura asyncio do Python e fornece uma interface de processador modular e reutilizável que simplifica o desenvolvimento de aplicativos complexos de IA. Os usuários podem usar essa biblioteca para processar fluxos de dados, como texto, áudio, vídeo e outros fluxos de dados, e trabalhar com o API Gemini Integração perfeita. Ele é compatível com processamento de fluxo em tempo real e interações baseadas em turnos, o que o torna adequado para a criação de aplicativos de IA que exigem respostas rápidas. O código está hospedado no GitHub e a comunidade pode contribuir com módulos de processador para ampliar a funcionalidade. O projeto está licenciado sob a licença Apache 2.0, o que o torna adequado para que os desenvolvedores criem rapidamente aplicativos de IA que estejam disponíveis em ambientes de produção.
Lista de funções
- processamento paralelo assíncronoBaseado no Python asyncio, ele oferece suporte ao tratamento eficiente de E/S e de tarefas de computação intensiva.
- Projeto de processador modularProcessador: fornece unidades Processor e PartProcessor que podem combinar ou paralelizar fluxos de dados complexos.
- Integração da API GeminiGenaiModel e LiveProcessor integrados para oferecer suporte a interações de transmissão em tempo real e por turnos.
- processamento de fluxo multimodalSuporte a divisão, fusão e processamento de texto, áudio, vídeo e outros fluxos de dados.
- Suporte interativo em tempo realProcessa fluxos de áudio e vídeo em tempo real por meio do LiveProcessor, o que o torna adequado para a criação de agentes de IA em tempo real.
- Extensão da contribuição comunitáriaAprimoramentos para oferecer suporte a usuários que adicionam processadores personalizados ao diretório contrib/.
- integração de ferramentasFerramentas integradas, como a Pesquisa Google, aprimoram os recursos de processamento contextual do agente de IA.
Usando a Ajuda
Processo de instalação
O GenAI Processors requer o Python 3.10 ou superior. Veja a seguir as etapas detalhadas de instalação:
- Configuração do ambiente::
- Certifique-se de que o Python 3.10+ esteja instalado em seu sistema.
- Instale o Git para clonar o repositório de código.
sudo apt update && sudo apt install python3.10 git
- armazém de clones::
- Clone o repositório GenAI Processors do GitHub.
git clone https://github.com/google-gemini/genai-processors cd genai-processors
- Instalação de dependências::
- Use o pip para instalar as dependências necessárias, incluindo pyaudio, google-genai e termcolor.
pip install --upgrade pyaudio genai-processors google-genai termcolor
- Configuração de chaves de API::
- ganho Estúdio de IA do Google A chave da API para o
- Definição de variáveis de ambiente
GOOGLE_API_KEY
responder cantandoGOOGLE_PROJECT_ID
.
export GOOGLE_API_KEY="你的API密钥" export GOOGLE_PROJECT_ID="你的项目ID"
Uso
No centro dos processadores GenAI está o módulo Processador, que é usado para processar fluxos de entrada e saída. Abaixo está um fluxo detalhado das principais funções:
1. criar um processador de texto simples
- funcionalidadeProcessa a entrada de texto e gera resultados.
- fluxo de trabalho::
- Importe o módulo e crie um fluxo de entrada.
- fazer uso de
stream_content
Converte texto em um fluxo ProcessorPart. - Aplicar o processador e iterar a saída.
from genai_processors import content_api, streams 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)
- efeitoProcessa e imprime o texto de entrada parte por parte, adequado para tarefas de texto simples.
2. criar agentes de áudio e vídeo em tempo real
- funcionalidadeProcessa fluxos de áudio e vídeo em tempo real por meio do LiveProcessor.
- fluxo de trabalho::
- Inicializar um dispositivo de entrada de áudio (como o PyAudio).
- Configure a entrada de vídeo (por exemplo, câmera ou fluxo de tela).
- Chamadas com o LiveProcessor Gêmeos API ao vivo.
- Módulos combinados de entrada, processamento e saída.
from genai_processors.core import audio_io, live_model, video import pyaudio pya = pyaudio.PyAudio() input_processor = video.VideoIn() + audio_io.PyAudioIn(pya, use_pcm_mimetype=True) live_processor = live_model.LiveProcessor(api_key="你的API密钥", model_name="gemini-2.5-flash-preview-native-audio-dialog") play_output = audio_io.PyAudioOut(pya) live_agent = input_processor + live_processor + play_output async for part in live_agent(text.terminal_input()): print(part)
- efeitoMicrofone: permite que as entradas de microfone e câmera sejam processadas por meio da API Gemini para gerar áudio, adequado para agentes de diálogo em tempo real.
3. geração do tema de pesquisa
- funcionalidadeGeração de tópicos de pesquisa com base na entrada do usuário.
- fluxo de trabalho::
- fazer uso de
topic_generator.py
Exemplo de configuração do GenaiModel. - Defina os parâmetros do modelo, como o número de tópicos e o formato de saída.
- Insira uma consulta de pesquisa para obter uma lista de tópicos no formato JSON.
from genai_processors.examples.research.processors import topic_generator processor = topic_generator.TopicGenerator(api_key="你的API密钥") async for part in processor(["研究AI在医疗领域的应用"]): print(part.text)
- fazer uso de
- efeitoGerar um número específico de tópicos de pesquisa e sua relação com a entrada, adequados para cenários de pesquisa acadêmica.
4. processadores personalizados
- funcionalidadeCrie processadores personalizados para lidar com tarefas específicas.
- fluxo de trabalho::
- consulta
create_your_own_processor.ipynb
Notebook. - Defina a classe Processor, herdando de
processor.Processor
. - perceber
call
trata o fluxo de entrada. - Adicione processadores personalizados ao pipeline.
- consulta
- efeitoOs usuários podem ampliar a funcionalidade conforme necessário, como lidar com formatos de arquivo específicos ou integrar outras APIs.
exemplo de execução
- Exemplo de CLI em tempo real::
- estar em movimento
realtime_simple_cli.py
Crie um agente de diálogo de áudio.
python3 examples/realtime_simple_cli.py
- Entrada de voz, o sistema converte a voz em texto, processa-o e emite uma resposta de voz.
- estar em movimento
- Plano de viagem CLI::
- estar em movimento
trip_request_cli.py
Gerar um plano de viagem.
python3 examples/trip_request_cli.py
- Digite seu destino e datas para obter um plano detalhado.
- estar em movimento
advertência
- Certifique-se de que a chave da API seja válida para evitar falhas na solicitação.
- Você pode definir isso durante a depuração
--debug=True
Exibir registro. - O processamento em tempo real requer suporte estável de rede e hardware.
cenário do aplicativo
- Agentes de diálogo em tempo real
- descriçõesDesenvolver assistentes de IA orientados por voz ou vídeo que processam informações do usuário em tempo real, adequados para atendimento ao cliente ou assistentes virtuais.
- Suporte à pesquisa acadêmica
- descriçõesGeração de tópicos de pesquisa ou análise de literatura: adequado para estudantes e pesquisadores organizarem rapidamente seus pensamentos.
- Processamento de conteúdo multimodal
- descriçõesProcessa fluxos de áudio e vídeo para gerar legendas ou narração em tempo real, adequados para transmissão ao vivo ou análise de vídeo.
- Fluxos de trabalho automatizados
- descriçõesCrie pipelines de processamento automatizados para lidar com dados em lote, adequados para o processamento de dados corporativos.
QA
- Quais são os pré-requisitos necessários?
- Requer Python 3.10+, instalação das bibliotecas pyaudio e google-genai, configuração da chave da API do Google.
- Como faço para depurar o fluxo de processamento?
- Ao executar o script, adicione
--debug=True
Visualize a saída do registro e verifique os fluxos de entrada e saída.
- Ao executar o script, adicione
- Quais tipos de dados são compatíveis?
- Oferece suporte a texto, áudio, vídeo e fluxos de dados personalizados que podem ser processados pelo ProcessorPart.
- Como faço para contribuir com o código?
- consulta
CONTRIBUTING.md
Envie um processador personalizado no diretório contrib/.
- consulta