
Os aplicativos controlados por voz mudaram de conceitos de ficção científica para soluções implantáveis com OpenAI's ferramentas mais recentes. Este guia aborda a implementação prática de agentes de voz multilíngues usando o OpenAI SDK do agente, demonstrando como criar sistemas que processam a fala em diferentes idiomas, mantendo ritmos de interação semelhantes aos humanos.
O que está abertoAI SDK do agente?
AbraAI O Agent SDK fornece aos desenvolvedores uma estrutura para construir AI agentes que podem processar e responder a várias entradas, incluindo voz. O SDK suporta o modelo GPT-4o-realtime-preview, que permite capacidades de conversação em tempo real através de seu avançado Processamento de Linguagem Natural (PNL) apresenta.
O SDK inclui especificamente o VoicePipeline, um componente projetado para lidar com interações baseadas em voz perfeitamente. Este pipeline gerencia o complexo processo de conversão de fala em texto, processamento de informações e geração de respostas com som natural.
Arquitetura central dos agentes de voz modernos

1. O pipeline de processamento de fala
OpenAI's O VoicePipeline opera em três estágios sincronizados: captura de áudio, processamento de linguagem e geração de resposta. O sistema começa convertendo sinais de áudio brutos em texto usando fala para texto modelos como GPT-4o Transcribe. Essa entrada textual então alimenta modelos de linguagem que analisam contexto, intenção e tom emocional. Finalmente, componentes de texto para fala geram respostas vocais de som natural, mantendo o fluxo da conversa.
2. Arquiteturas multimodais vs encadeadas
Duas abordagens distintas dominam o desenvolvimento do agente de voz:
Processamento de Áudio Direto (Multimodal)
GPT-4o-realtime-preview processa áudio sem conversão de texto, fornecendo respostas de 200-300 ms. Esta arquitetura captura nuances vocais, incluindo tom e pausas, permitindo consciente da emoção responde durante as interações com o cliente, mantendo o processamento de áudio nativo durante todo o processo.
Processamento centrado em texto (encadeado)
Os gasodutos tradicionais separam transcrição, estágios de análise e síntese. Essa abordagem modular permite registro detalhado para aplicativos sensíveis à conformidade, como triagem de assistência médica. Os desenvolvedores ganham controle preciso sobre cada estágio enquanto usam modelos otimizados específicos para tarefas.
Guia do agente de voz multilíngue: do código à conversação
Criando agentes de voz com OpenAI O SDK do Agente requer configurações de ambiente específicas. Siga estas etapas para estabelecer um ambiente de desenvolvimento funcional com recursos de voz.
Etapa 1. Configuração do Python e do ambiente virtual
Certifique-se de que o Python 3.8+ esteja instalado. Verifique com:
python --version
Para novas instalações, baixe o Python em python.org.
a. Crie um ambiente virtual
Isole dependências para evitar conflitos:
p-ython -m venv voice_agent_env
b. Ativação:
- Linux/macOS:
source voice_agent_env/bin/activate
- Windows:
voice_agent_env\Scripts\activate
c. Instalar dependências específicas de voz
Instalar o OpenAI SDK de agentes com extensões de voz e bibliotecas de áudio:
pip install 'openai-agents[voice]' numpy sounddevice scipy python-dotenv
d. Configurar AbrirAI Chave API: Armazene sua chave de API com segurança usando variáveis de ambiente:
- Crie uma
.envarquivo:
echo "OPENAI_API_KEY=your-api-key-here" > .env
- Clonar o repositório de exemplo (opcional):
Para acelerar as coisas, você pode clonar o exemplo oficial do AbraAI Repositório GitHub do SDK de agentes.
git clone https://github.com/openai/openai-agents-python.git
cd openai-agents-python/examples/voice/static
Etapa 2. Construindo o agente multilíngue
Os principais componentes incluem:
- Agentes específicos de idioma para diferentes idiomas (espanhol, hindi)
- Um agente primário que lida com interações iniciais
- Ferramentas de função para recursos adicionais (como informações meteorológicas)
Aqui você encontra's uma versão simplificada da estrutura do código:
a. Defina seus agentes
Crie diferentes instâncias de agente para cada idioma que você deseja oferecer suporte. Por exemplo, um agente espanhol e um agente hindi podem ser criados com instruções em seus respectivos idiomas:
from agents import Agent
from agents.extensions.handoff_prompt import prompt_with_handoff_instructions
spanish_agent = Agent(
name="Spanish",
handoff_description="A Spanish speaking agent.",
instructions=prompt_with_handoff_instructions(
"You're speaking to a human, so be polite and concise. Speak in Spanish."
),
model="gpt-4o-mini",
)
hindi_agent = Agent(
name="Hindi",
handoff_description="A Hindi speaking agent.",
instructions=prompt_with_handoff_instructions(
"You're speaking to a human, so be polite and concise. Speak in Hindi."
),
model="gpt-4o-mini",
)
Crie seu assistente principal que detectará o idioma da fala do usuário e delegará ao agente apropriado, se necessário:
agent = Agent(
name="Assistant",
instructions=prompt_with_handoff_instructions(
"You're speaking to a human, so be polite and concise. If the user speaks in Spanish, hand off to the Spanish agent. If the user speaks in Hindi, hand off to the Hindi agent."
),
model="gpt-4o-mini",
handoffs=[spanish_agent, hindi_agent],
)
b. Adicionar ferramentas (opcional)
Por exemplo, você pode adicionar uma ferramenta meteorológica simples que o agente pode chamar:
import random
from agents import function_tool
@function_tool
def get_weather(city: str) -> str:
choices = ["sunny", "cloudy", "rainy", "snowy"]
return f"The weather in {city} is {random.choice(choices)}."
agent.tools.append(get_weather)
Etapa 3. Configurando o pipeline de voz

O pipeline de voz do SDK combina três componentes:
- Conversão de fala em texto (STT): Converte sua entrada de áudio em texto.
- Fluxo de trabalho do Agentic: Processa o texto (incluindo detecção de idioma e invocação de ferramenta).
- Conversão de texto para fala (TTS): Converte o agente's resposta de texto em áudio.
Aqui você encontra's um exemplo simplificado:
import asyncio
import numpy as np
import sounddevice as sd
from agents.voice import AudioInput, SingleAgentVoiceWorkflow, VoicePipeline
async def main():
# Create the voice pipeline with your primary agent
pipeline = VoicePipeline(workflow=SingleAgentVoiceWorkflow(agent))
# For demonstration, we'll simulate 3 seconds of audio input with silence.
buffer = np.zeros(24000 * 3, dtype=np.int16)
audio_input = AudioInput(buffer=buffer)
# Run the pipeline
result = await pipeline.run(audio_input)
# Set up the audio player (using sounddevice)
player = sd.OutputStream(samplerate=24000, channels=1, dtype=np.int16)
player.start()
# Stream and play audio events from the agent's output
async for event in result.stream():
if event.type == "voice_stream_event_audio":
player.write(event.data)
if __name__ == "__main__":
asyncio.run(main())
Em uma aplicação do mundo real, em vez de silêncio, você capturaria a entrada do microfone ao vivo, e o agente detectaria o idioma em tempo real.
Etapa 4: execute seu agente de voz
python -m examples.voice.static.main
Melhores práticas para desenvolvimento de agentes de voz
Ao construir agentes de voz com o OpenAI SDK do agente, considere estas práticas recomendadas:
Assuma a liderança com seu agente de voz multilíngue hoje
Construindo agentes de voz com o OpenAI O SDK do Agente tornou-se significativamente mais acessível. Os desenvolvedores agora podem escolher entre arquiteturas multimodais ou encadeadas com base em suas necessidades específicas, configurar um VoicePipeline e deixar o SDK cuidar de tudo. processamento complexo.
Para qualidade de fluxo de conversação, a abordagem multimodal funciona melhor. Para estrutura e controle, o método encadeado é mais adequado. Essa tecnologia continua a avançar, abrindo novas possibilidades para aplicativos orientados por voz.

