
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?
Abra AI 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
El sistema VoicePipeline de OpenAI funciona mediante tres etapas sincronizadas: captura de audio, procesamiento del lenguaje y generación de respuestas. El sistema comienza convirtiendo las señales de audio sin procesar en texto mediante modelos de conversión de voz a texto como GPT-4o Transcribe. Esta entrada textual se introduce en modelos de lenguaje que analizan el contexto, la intención y el tono emocional. Finalmente, los componentes de conversión de texto a voz generan respuestas vocales con un sonido natural, 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 el audio sin conversión a texto, ofreciendo respuestas de 200 a 300 ms. Esta arquitectura captura los matices vocales, incluyendo el tono y las pausas, lo que permite respuestas que tienen en cuenta las emociones durante las interacciones con los clientes, manteniendo el procesamiento de audio nativo en todo momento.
Procesamiento centrado en texto (encadenado)
Los flujos de trabajo tradicionales separan las etapas de transcripción , análisis y síntesis. Este enfoque modular permite un registro detallado para aplicaciones que requieren cumplimiento normativo, como la clasificación de pacientes en el sector sanitario. Los desarrolladores obtienen un control preciso sobre 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 Abra AI 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.


