
Las aplicaciones controladas por voz han pasado de ser conceptos de ciencia ficción a soluciones implementables con OpenAI's herramientas más recientes. Esta guía explica la implementación práctica de Agentes de voz multilingües que utilizan OpenAI SDK del agente, demostrando cómo crear sistemas que procesan el habla en distintos idiomas manteniendo ritmos de interacción similares a los humanos.
¿Qué está abierto?AI ¿Agente SDK?
AbiertoAI El SDK del agente proporciona a los desarrolladores un marco para crear AI Agentes que pueden procesar y responder a diversas entradas, incluida la voz. El SDK es compatible con el modelo GPT-4o-realtime-preview, que permite... capacidades de conversación en tiempo real A través de su avanzada Procesamiento natural del lenguaje Características de (PNL).
El SDK incluye específicamente VoicePipeline, un componente diseñado para gestionar interacciones de voz sin problemas. Este canal gestiona el complejo proceso de convertir voz a texto, procesar la información y generar respuestas con un sonido natural.
Arquitectura básica de los agentes de voz modernos

1. El canal de procesamiento del habla
OpenAI's VoicePipeline opera en tres etapas sincronizadas: captura de audio, procesamiento del lenguaje y generación de respuestas. El sistema comienza convirtiendo señales de audio sin procesar en texto mediante de voz a texto Modelos como GPT-4o Transcribe. Esta entrada textual se incorpora a modelos lingüísticos que analizan el contexto, la intención y el tono emocional. Finalmente, los componentes de texto a voz generan respuestas vocales naturales, manteniendo la fluidez de la conversación.
2. Arquitecturas multimodales vs. encadenadas
Dos enfoques distintos dominan el desarrollo de agentes de voz:
Procesamiento directo de audio (multimodal)
GPT-4o-realtime-preview procesa audio sin conversión de texto, ofreciendo respuestas de 200 a 300 ms. Esta arquitectura captura matices vocales, como el tono y las pausas, lo que permite... consciente de las emociones responde durante las interacciones con los clientes manteniendo el procesamiento de audio nativo en todo momento.
Procesamiento centrado en texto (encadenado)
Las tuberías tradicionales se separan transcripciónEtapas de análisis y síntesis. Este enfoque modular permite el registro detallado para aplicaciones que exigen cumplimiento normativo, como el triaje sanitario. Los desarrolladores obtienen un control preciso de cada etapa al utilizar modelos optimizados para cada tarea.
Guía del agente de voz multilingüe: del código a la conversación
Creación de agentes de voz con OpenAI El SDK del agente requiere configuraciones de entorno específicas. Siga estos pasos para establecer un entorno de desarrollo funcional con funciones de voz.
Paso 1. Configuración de Python y el entorno virtual
Asegúrese de tener instalado Python 3.8 o superior. Verifique con:
python --version
Para nuevas instalaciones, descargue Python desde python.org.
a. Crear un entorno virtual
Aislar dependencias para evitar conflictos:
p-ython -m venv voice_agent_env
b. Activación:
- Linux/macOS:
source voice_agent_env/bin/activate
- Windows:
voice_agent_env\Scripts\activate
c. Instalar dependencias específicas de voz
Instalar el OpenAI SDK de agentes con extensiones de voz y bibliotecas de audio:
pip install 'openai-agents[voice]' numpy sounddevice scipy python-dotenv
d. Configurar AbrirAI API Key:Almacene su clave API de forma segura utilizando variables de entorno:
- Créar un
.envarchivo:
echo "OPENAI_API_KEY=your-api-key-here" > .env
- Clonar el repositorio de ejemplo (opcional):
Para acelerar las cosas, puedes clonar el ejemplo oficial de AbiertoAI Repositorio de GitHub del SDK de agentes.
git clone https://github.com/openai/openai-agents-python.git
cd openai-agents-python/examples/voice/static
Paso 2. Creación del agente multilingüe
Los componentes principales incluyen:
- Agentes específicos del lenguaje para diferentes idiomas (español, hindi)
- Un agente principal que maneja las interacciones iniciales
- Herramientas de función para capacidades adicionales (como información meteorológica)
Aquí's una versión simplificada de la estructura del código:
a. Define tus agentes
Cree diferentes instancias de agente para cada idioma que desee admitir. Por ejemplo, se pueden crear un agente en español y otro en hindi con instrucciones en sus 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",
)
Crea tu asistente principal que detectará el idioma del habla del usuario y delegará al agente apropiado si es necesario:
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. Agregar herramientas (opcional)
Por ejemplo, puede agregar una herramienta meteorológica simple que el agente podría llamar:
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)
Paso 3. Configuración del canal de voz

El canal de voz del SDK combina tres componentes:
- Conversión de voz a texto (STT): Convierte su entrada de audio en texto.
- Flujo de trabajo de Agentic: Procesa el texto (incluida la detección del idioma y la invocación de herramientas).
- Texto a voz (TTS): Convierte al agente's Responder el texto nuevamente en audio.
Aquí's Un ejemplo 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())
En una aplicación del mundo real, en lugar de silencio, capturaría la entrada del micrófono en vivo y el agente detectaría el idioma en tiempo real.
Paso 4: Ejecute su agente de voz
python -m examples.voice.static.main
Mejores prácticas para el desarrollo de agentes de voz
Al crear agentes de voz con OpenAI SDK del agente, tenga en cuenta estas prácticas recomendadas:
Tome la iniciativa con su agente de voz multilingüe hoy
Construyendo agentes de voz con OpenAI El SDK del agente se ha vuelto mucho más accesible. Los desarrolladores ahora pueden elegir entre arquitecturas multimodales o encadenadas según sus necesidades específicas, configurar un VoicePipeline y dejar que el SDK se encargue de... procesamiento complejo.
Para la calidad del flujo conversacional, el enfoque multimodal es el más adecuado. Para la estructura y el control, el método encadenado es más adecuado. Esta tecnología continúa avanzando, abriendo nuevas posibilidades para las aplicaciones de voz.

