Comparteix a través de


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

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 dev
  • CognitiveServiceEndpoint: Punto de conexión de servicios de Azure AI
  • AcsConnectionString: cadena de conexión del recurso de Azure Communication Service.
  • AzureOpenAIServiceKey: clave de Azure OpenAI Service
  • AzureOpenAIServiceEndpoint: punto de conexión de Azure OpenAI Service
  • AzureOpenAIDeploymentModelName: nombre del modelo de Azure OpenAI

Ejecución de la aplicación

  1. Azure DevTunnel: asegúrese de que el URI de AzureDevTunnel está activo y apunta al puerto correcto de la aplicación localhost.
  2. Ejecute dotnet run para compilar y ejecutar la aplicación de ejemplo
  3. 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

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

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 AI
    • azureOpenAiServiceKey: clave de Azure OpenAI Service
    • azureOpenAiServiceEndpoint: punto de conexión de Azure OpenAI Service
    • openAiModelName: 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

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

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.

  1. CONNECTION_STRING: cadena de conexión del recurso de Azure Communication Service.
  2. CALLBACK_URI: dirección URL base de la aplicación. (Para el desarrollo local, reemplace la dirección URL del túnel de desarrollo)
  3. COGNITIVE_SERVICE_ENDPOINT: punto de conexión del servicio Azure AI.
  4. AZURE_OPENAI_SERVICE_KEY: clave del servicio Azure OpenAI.
  5. AZURE_OPENAI_SERVICE_ENDPOINT: punto de conexión de Azure OpenAI.
  6. AZURE_OPENAI_DEPLOYMENT_MODEL_NAME: nombre de la implementación de Azure OpenAI.
  7. AGENT_PHONE_NUMBER: número de teléfono del agente para transferir la llamada para resolver consultas.

Ejecución de la aplicación

  1. Abra una nueva ventana de PowerShell, cambie de directorio a la carpeta callautomation-openai-sample y ejecute npm run dev.
  2. El explorador debe aparecer con la página siguiente. Si no es así, vaya a http://localhost:8080/.
  3. 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

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

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

  1. Vaya a la carpeta callautomation-openai-sample y ejecute main.py en modo de depuración o use el comando python ./main.py para ejecutarlo desde PowerShell, el símbolo del sistema o el terminal de Unix.
  2. 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.
  3. 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