Introducción al ejemplo de OpenAI de automatización de llamadas de Azure Communication Services
En el ejemplo de OpenAI de Automatización de llamadas de Azure Communication Services se muestra cómo puede usar el SDK de Automatización de llamadas y la integración de versión preliminar pública anunciada recientemente con los servicios de Azure AI para crear asistentes virtuales inteligentes.
En este ejemplo, explicaremos lo que hace este ejemplo y lo que necesita como requisitos previos antes de ejecutar este ejemplo localmente en el equipo.
Descarga de código
Busque el proyecto de este ejemplo en GitHub. Puede descargar este código y ejecutarlo localmente para probarlo usted mismo.
Información general
Este ejemplo es una aplicación del lado servidor que le ayuda a crear una asistente virtual capaz de controlar las llamadas mediante la automatización de llamadas y responder a los clientes mediante la integración recién anunciada con los servicios de Azure AI para proporcionar funcionalidades de inteligencia artificial, como texto a voz y conversión de voz en texto, junto con respuestas inteligentes proporcionadas por Azure OpenAI.
En este ejemplo de inteligencia artificial de Automatización de llamadas de Azure Communication Services se muestra cómo usar el SDK de Automatización de llamadas para responder a una llamada entrante. Reconoce la entrada de voz del usuario mediante la operación recognize de la API de Automatización de llamadas, que es compatible con la conversión de voz en texto. Una vez que se reconoce la entrada, envía esa información a OpenAI para obtener una respuesta y reproduce la respuesta proporcionada por OpenAI al autor de la llamada mediante la operación play de la API de Automatización de llamadas, que es compatible con la conversión de texto a voz.
Requisitos previos
- Cree una cuenta de Azure con una suscripción activa. Para más información, consulte Creación de una cuenta gratuita
- Cree un recurso de Azure Communication Services. Para obtener más información, consulte Creación de un recurso de Azure Communication Services. Debe registrar la cadena de conexión del recurso para este ejemplo.
- Un número de teléfono habilitado para llamadas. Obtención de un número de teléfono.
- CLI de túneles dev de Azure. Para más información, consulte Habilitación del túnel de desarrollo
- Cree un recurso de servicios de Azure AI. Para más información, consulte Creación de un recurso de servicios de Azure AI
- Un recurso y un modelo implementado de Azure OpenAI. Consulte las instrucciones.
Instrucciones de configuración
Antes de ejecutar este ejemplo, debe configurar los recursos mencionados en la sección "Requisitos previos" con las siguientes actualizaciones de configuración:
1. Configurar y hospedar Azure DevTunnel
Azure DevTunnels es un servicio de Azure que permite compartir servicios web locales hospedados en internet. Use los siguientes comandos para conectar el entorno de desarrollo local a la red pública de internet. Con esto se crea un túnel con una dirección URL de punto de conexión persistente que permite el acceso anónimo. Usaremos este punto de conexión para notificar a la aplicación los eventos de llamada desde el servicio de automatización de llamadas de Azure Communication Services.
devtunnel create --allow-anonymous
devtunnel port create -p 5165
devtunnel host
2. Agregar una identidad administrada al recurso de Azure Communication Services que se conecta al recurso de los servicios de Azure AI
Siga las instrucciones de esta documentación.
3. Agregar las claves de API y los puntos de conexión necesarios
Abra el archivo appsettings.json para configurar los valores siguientes:
DevTunnelUri
: el punto de conexión del túnel devCognitiveServiceEndpoint
: Punto de conexión de servicios de Azure AIAcsConnectionString
: cadena de conexión del recurso de Azure Communication Service.AzureOpenAIServiceKey
: clave de Azure OpenAI ServiceAzureOpenAIServiceEndpoint
: punto de conexión de Azure OpenAI ServiceAzureOpenAIDeploymentModelName
: nombre del modelo de Azure OpenAI
Ejecución de la aplicación
- Azure DevTunnel: asegúrese de que el URI de AzureDevTunnel está activo y apunta al puerto correcto de la aplicación localhost.
- Ejecute
dotnet run
para compilar y ejecutar la aplicación de ejemplo - Registre un webhook de Event Grid para el evento IncomingCall que apunte al URI de DevTunnel. Consulte las instrucciones aquí.
Una vez completado, debe tener una aplicación en ejecución. La mejor manera de probar este ejemplo es realizar una llamada al número de teléfono de Azure Communication Services y comunicarse con su agente inteligente.
Pasos siguientes
- Más información sobre la automatización de llamadas.
- Obtenga más información sobre cómo reproducir mensajes personalizados.
- Obtenga más información sobre el reconocimiento de la entrada del usuario.
Descarga de código
Busque el proyecto de este ejemplo en GitHub. Puede descargar este código y ejecutarlo localmente para probarlo usted mismo.
Información general
Este ejemplo es una aplicación del lado servidor que le ayuda a crear una asistente virtual capaz de controlar las llamadas mediante la automatización de llamadas y responder a los clientes mediante la integración recién anunciada con los servicios de Azure AI para proporcionar funcionalidades de inteligencia artificial, como texto a voz y conversión de voz en texto, junto con respuestas inteligentes proporcionadas por Azure OpenAI.
En este ejemplo de inteligencia artificial de Automatización de llamadas de Azure Communication Services se muestra cómo usar el SDK de Automatización de llamadas para responder a una llamada entrante. Reconoce la entrada de voz del usuario mediante la API de reconocimiento de Automatización de llamadas compatible con la conversión de voz en texto. Una vez que se reconoce la entrada, envía esa información a OpenAI para obtener una respuesta y reproduce la respuesta proporcionada por OpenAI al autor de la llamada mediante la operación play de la API de Automatización de llamadas, que es compatible con la conversión de texto a voz.
Requisitos previos
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
- Un recurso de Communication Services implementado. Cree un recurso de Communication Services.
- Un número de teléfono en el recurso de Azure Communication Services que puede realizar llamadas salientes. NB: los números de teléfono no están disponibles en suscripciones gratuitas.
- Kit de desarrollo de Java (JDK) Microsoft.OpenJDK.17
- Apache Maven
- Crear y hospedar Azure Dev Tunnel. Consulte las instrucciones aquí
- Cree un recurso de servicios de Azure AI. Para más información, consulte Creación de un recurso de servicios de Azure AI.
- Un recurso y un modelo implementado de Azure OpenAI. Consulte las instrucciones.
Antes de ejecutar el ejemplo por primera vez
Abra el archivo application.yml en la carpeta resources para configurar los valores siguientes.
connectionstring
: cadena de conexión del recurso de Azure Communication Service.basecallbackuri
: dirección URL base de la aplicación. Para el desarrollo local, use la dirección URL del túnel dev.cognitiveServicesUrl
: Punto de conexión de servicios de Azure AIazureOpenAiServiceKey
: clave de Azure OpenAI ServiceazureOpenAiServiceEndpoint
: punto de conexión de Azure OpenAI ServiceopenAiModelName
: nombre del modelo de Azure OpenAI
Configurar y hospedar Azure DevTunnel
Azure DevTunnels es un servicio de Azure que permite compartir servicios web locales hospedados en internet. Use los comandos proporcionados para conectar el entorno de desarrollo local a la red pública de internet. Con esto se crea un túnel con una dirección URL de punto de conexión persistente que permite el acceso anónimo. Usaremos este punto de conexión para notificar a la aplicación los eventos de llamada desde el servicio de automatización de llamadas de Azure Communication Services.
devtunnel create --allow-anonymous
devtunnel port create -p 8080
devtunnel host
Ejecución de la aplicación
- Navegue hasta el directorio que contiene el archivo pom.xml y use los siguientes comandos de mvn:
- Realice la compilación de la aplicación: compilar mvn
- Realice la compilación del paquete: paquete mvn
- Ejecute la aplicación: mvn exec:java
- Acceso a la interfaz de usuario de Swagger en http://localhost:8080/swagger-ui.html
- Pruebe GET /outboundCall para ejecutar la aplicación de ejemplo
Una vez completado, debe tener una aplicación en ejecución. La mejor manera de probar este ejemplo es realizar una llamada al número de teléfono de Azure Communication Services y comunicarse con su agente inteligente.
Pasos siguientes
- Más información sobre la automatización de llamadas.
- Obtenga más información sobre cómo reproducir mensajes personalizados.
- Obtenga más información sobre el reconocimiento de la entrada del usuario.
Descarga de código
Busque el proyecto de este ejemplo en GitHub. Puede descargar este código y ejecutarlo localmente para probarlo usted mismo.
Información general
Este ejemplo es una aplicación del lado servidor que le ayuda a crear una asistente virtual capaz de controlar las llamadas mediante la automatización de llamadas y responder a los clientes mediante la integración recién anunciada con los servicios de Azure AI para proporcionar funcionalidades de inteligencia artificial, como texto a voz y conversión de voz en texto, junto con respuestas inteligentes proporcionadas por Azure OpenAI.
En este ejemplo de inteligencia artificial de Automatización de llamadas de Azure Communication Services se muestra cómo usar el SDK de Automatización de llamadas para responder a una llamada entrante. Reconoce la entrada de voz del usuario mediante la operación recognize de la API de Automatización de llamadas, que es compatible con la conversión de voz en texto. Una vez que se reconoce la entrada, se envía esa información a OpenAI para obtener una respuesta y se reproduce la respuesta proporcionada por OpenAI al autor de la llamada mediante la API de reproducción de automatización de llamadas compatible con la conversión de texto a voz.
Requisitos previos
- Cree una cuenta de Azure con una suscripción activa. Para más información, consulte Creación de una cuenta gratuita
- Cree un recurso de Azure Communication Services. Para obtener más información, consulte Creación de un recurso de Azure Communication Services. Debe registrar la cadena de conexión del recurso para este ejemplo.
- Un número de teléfono habilitado para llamadas. Obtención de un número de teléfono. -- Node.js instalado
- CLI de túneles dev de Azure. Para más información, consulte Habilitación del túnel de desarrollo
- Cree un recurso de varios servicios de Azure AI. Para más información, consulte Creación de un recurso de servicios de Azure AI
- Un recurso y un modelo implementado de Azure OpenAI. Consulte las instrucciones.
Instrucciones de configuración
Antes de ejecutar este ejemplo, debe configurar los recursos mencionados en la sección "Requisitos previos" con las siguientes actualizaciones de configuración:
1. Configurar y hospedar Azure DevTunnel
Azure DevTunnels es un servicio de Azure que permite compartir servicios web locales hospedados en internet. Use los comandos proporcionados en este documento para conectar el entorno de desarrollo local a la red pública de Internet. Con esto se crea un túnel con una dirección URL de punto de conexión persistente que permite el acceso anónimo. Usaremos este punto de conexión para notificar a la aplicación los eventos de llamada desde el servicio de automatización de llamadas de ACS.
devtunnel create --allow-anonymous
devtunnel port create -p 8080
devtunnel host
2. Agregar una identidad administrada al recurso de Azure Communication Services que se conecta al recurso de los servicios de Azure AI
Siga las instrucciones de esta documentación.
3. Agregar las claves de API y los puntos de conexión necesarios
Abra el archivo .env
para configurar los valores siguientes.
CONNECTION_STRING
: cadena de conexión del recurso de Azure Communication Service.CALLBACK_URI
: dirección URL base de la aplicación. (Para el desarrollo local, reemplace la dirección URL del túnel de desarrollo)COGNITIVE_SERVICE_ENDPOINT
: punto de conexión del servicio Azure AI.AZURE_OPENAI_SERVICE_KEY
: clave del servicio Azure OpenAI.AZURE_OPENAI_SERVICE_ENDPOINT
: punto de conexión de Azure OpenAI.AZURE_OPENAI_DEPLOYMENT_MODEL_NAME
: nombre de la implementación de Azure OpenAI.AGENT_PHONE_NUMBER
: número de teléfono del agente para transferir la llamada para resolver consultas.
Ejecución de la aplicación
- Abra una nueva ventana de PowerShell, cambie de directorio a la carpeta
callautomation-openai-sample
y ejecutenpm run dev
. - El explorador debe aparecer con la página siguiente. Si no es así, vaya a
http://localhost:8080/
. - Registre un webhook de Event Grid para el evento IncomingCall que apunte al URI de DevTunnel. Consulte las instrucciones aquí.
Una vez completado, debe tener una aplicación en ejecución. La mejor manera de probar este ejemplo es realizar una llamada al número de teléfono de Azure Communication Services y comunicarse con su agente inteligente.
Pasos siguientes
- Más información sobre la automatización de llamadas.
- Obtenga más información sobre cómo reproducir mensajes personalizados.
- Obtenga más información sobre el reconocimiento de la entrada del usuario.
Descarga de código
Busque el proyecto de este ejemplo en GitHub. Puede descargar este código y ejecutarlo localmente para probarlo usted mismo.
Información general
Este ejemplo es una aplicación del lado servidor que le ayuda a crear un asistente virtual capaz de controlar las llamadas mediante la automatización de llamadas. También permite que el asistente responda a los clientes usando servicios de Azure AI, que proporcionan funcionalidades de inteligencia artificial como conversión de texto a voz y de voz en texto, así como respuestas inteligentes proporcionadas por Azure OpenAI.
En este ejemplo de inteligencia artificial de Automatización de llamadas de Azure Communication Services se muestra cómo usar el SDK de Automatización de llamadas para responder a una llamada entrante. Reconoce la entrada de voz del usuario mediante la operación recognize de la API de Automatización de llamadas, que es compatible con la conversión de voz en texto. Cuando el sistema reconoce la entrada, se envía la información a OpenAI para obtener una respuesta, y se usa la API de reproducción de automatización de llamadas con compatibilidad con la conversión de texto a voz para reproducir la respuesta proporcionada por OpenAI al autor de la llamada.
Requisitos previos
- Cree de una cuenta de Azure con una suscripción activa. Para más información, consulte Creación de una cuenta gratuita.
- Cree un recurso de Azure Communication Services. Para obtener más información, consulte Creación de un recurso de Azure Communication Services. Debe registrar la cadena de conexión del recurso para este ejemplo.
- Un número de teléfono habilitado para llamadas. Obtención de un número de teléfono.
- CLI de túneles dev de Azure. Para más información, consulte Habilitación del túnel de desarrollo.
- Cree un recurso de varios servicios de Azure AI. Para más información, consulte Creación de un recurso de servicios de Azure AI.
- Un recurso y un modelo implementado de Azure OpenAI. Consulte las instrucciones.
- Crear y hospedar Azure Dev Tunnel. Consulte las instrucciones aquí.
- Python 3.7 o posterior (tenga en cuenta que actualmente la versión 3.12 no es compatible con bibliotecas de OpenAI).
Instrucciones de configuración
Antes de ejecutar este ejemplo, debe configurar los recursos mencionados en la sección "Requisitos previos" con las siguientes actualizaciones de configuración:
1. Configuración de un entorno de Python
Cree y active el entorno de Python e instale los paquetes necesarios mediante el comando siguiente.
pip install -r requirements.txt
2. Configurar y hospedar Azure DevTunnel
Azure DevTunnels es un servicio de Azure que permite compartir servicios web locales hospedados en internet. Use los comandos proporcionados para conectar el entorno de desarrollo local a la red pública de internet. Este proceso crea un túnel con una dirección URL de punto de conexión persistente que permite el acceso anónimo. Usaremos este punto de conexión para notificar a la aplicación los eventos de llamada desde el servicio de automatización de llamadas de ACS.
devtunnel create --allow-anonymous
devtunnel port create -p 8080
devtunnel host
3. Agregar una identidad administrada al recurso de Azure Communication Services que se conecta al recurso de los servicios de Azure AI
Siga las instrucciones de esta documentación.
4. Agregar las claves de API y los puntos de conexión necesarios
Abra el archivo main.py
para configurar los valores siguientes.
-
CALLBACK_URI_HOST
: el punto de conexión del túnel dev
-
COGNITIVE_SERVICE_ENDPOINT
: el punto de conexión de Servicios de Azure AI.
-
ACS_CONNECTION_STRING
: cadena de conexión del recurso de Azure Communication Service.
-
AZURE_OPENAI_SERVICE_KEY
: clave de Azure OpenAI Service
-
AZURE_OPENAI_SERVICE_ENDPOINT
: punto de conexión de Azure OpenAI Service
-
AZURE_OPENAI_DEPLOYMENT_MODEL_NAME
: nombre del modelo de Azure OpenAI
-
AGENT_PHONE_NUMBER
: número de teléfono del agente para transferir la llamada.
Ejecución de la aplicación
- Vaya a la carpeta
callautomation-openai-sample
y ejecutemain.py
en modo de depuración o use el comandopython ./main.py
para ejecutarlo desde PowerShell, el símbolo del sistema o el terminal de Unix. - El explorador debe aparecer con la página siguiente. Si no es así, vaya a
http://localhost:8080/
o a la dirección URL del túnel de desarrollo. - Registre un webhook de Event Grid para el evento IncomingCall que apunte al URI de DevTunnel. Consulte las instrucciones aquí.
Cuando haya finalizado esta tarea, la aplicación estará funcionando. La mejor manera de probar este ejemplo es realizar una llamada al número de teléfono de Azure Communication Services y comunicarse con su agente inteligente.
Pasos siguientes
- Más información sobre la automatización de llamadas.
- Obtenga más información sobre cómo reproducir mensajes personalizados.
- Obtenga más información sobre el reconocimiento de la entrada del usuario.