Desarrollo de una aplicación de chat basada en audio
Para desarrollar una aplicación cliente que participe en chats basados en audio con un modelo bidireccional, puede usar las mismas técnicas básicas que se usan para chats basados en texto. Necesita una conexión al punto de conexión donde se implementa el modelo y usa ese punto de conexión para enviar mensajes que constan de mensajes al modelo y procesar las respuestas.
La principal diferencia es que los mensajes de un chat basado en audio incluyen mensajes de usuario de varias partes que contienen un elemento de contenido de texto y un elemento de contenido de audio .
La representación JSON de un mensaje que incluye un mensaje de usuario de varias partes tiene un aspecto similar al siguiente:
{
"messages": [
{ "role": "system", "content": "You are a helpful assistant." },
{ "role": "user", "content": [
{
"type": "text",
"text": "Transcribe this audio:"
},
{
"type": "audio_url",
"audio_url": {
"url": "https://....."
}
}
] }
]
}
El elemento de contenido de audio puede ser:
- Dirección URL de un archivo de audio en un sitio web.
- Datos de audio binarios
Cuando se usan datos binarios para enviar un archivo de audio local, el contenido de audio_url adopta la forma de un valor codificado en base64 en un formato de dirección URL de datos:
{
"type": "audio_url",
"audio_url": {
"url": "data:audio/mp3;base64,<binary_audio_data>"
}
}
En función del tipo de modelo y de dónde lo implementó, puede usar la inferencia de modelos de Microsoft Azure AI o las API de OpenAI para enviar mensajes basados en audio. Estas bibliotecas también proporcionan SDK específicos del lenguaje que abstraen las API REST subyacentes.
En el ejercicio siguiente en este módulo, puede usar el SDK de Python o .NET para la API de inferencia de modelos de Azure AI y la API de OpenAI para desarrollar una aplicación de chat habilitada para audio.