Condividi tramite


Introduzione all'esempio OpenAI di Servizi di comunicazione di Azure Call Automation

L'esempio OpenAI di Call Automation Servizi di comunicazione di Azure illustra come usare Call Automation SDK e l'integrazione dell'anteprima pubblica annunciata di recente con i servizi di intelligenza artificiale di Azure per creare assistenti virtuali intelligenti.

In questo esempio verranno illustrate le operazioni eseguite da questo esempio e le operazioni necessarie come prerequisiti prima di eseguire questo esempio localmente nel computer.

Scaricare il codice

Trovare il progetto per questo esempio in GitHub. È possibile scaricare questo codice ed eseguirlo in locale per provarlo manualmente.

Panoramica

Questo esempio è un'applicazione lato server che consente di creare un assistente virtuale in grado di gestire le chiamate usando l'automazione delle chiamate e rispondere ai clienti usando l'integrazione appena annunciata con i servizi di intelligenza artificiale di Azure per fornire funzionalità di intelligenza artificiale, ad esempio Sintesi vocale e Riconoscimento vocale, insieme a risposte intelligenti fornite da Azure OpenAI.

Questo esempio di intelligenza artificiale di automazione delle chiamate Servizi di comunicazione di Azure illustra come usare Call Automation SDK per rispondere a una chiamata in ingresso, riconosce l'input vocale dell'utente usando l'API di riconoscimento di Automazione chiamate con supporto per riconoscimento vocale. Dopo aver riconosciuto l'input, invia tali informazioni a OpenAI per una risposta e riproduce la risposta fornita da OpenAI al chiamante usando l'API di riproduzione di Automazione chiamate con supporto per Sintesi vocale.

Prerequisiti

Istruzioni di impostazione

Prima di eseguire questo esempio, è necessario configurare le risorse indicate nella sezione "Prerequisiti" con gli aggiornamenti di configurazione seguenti:

1. Configurare e ospitare Azure DevTunnel

Azure DevTunnels è un servizio di Azure che consente di condividere servizi Web locali ospitati su Internet. Usare i comandi seguenti per connettere l'ambiente di sviluppo locale a Internet pubblico. In questo modo viene creato un tunnel con un URL dell'endpoint permanente e che consente l'accesso anonimo. Questo endpoint verrà quindi usato per notificare all'applicazione gli eventi di chiamata dal servizio di automazione delle chiamate Servizi di comunicazione di Azure.

devtunnel create --allow-anonymous
devtunnel port create -p 5165
devtunnel host

2. Aggiungere un'identità gestita alla risorsa Servizi di comunicazione di Azure che si connette alla risorsa dei servizi di intelligenza artificiale di Azure

Seguire le istruzioni riportate in questa documentazione.

3. Aggiungere le chiavi e gli endpoint API necessari

Aprire il file appsettings.json per configurare le impostazioni seguenti:

  • DevTunnelUri: l'endpoint del tunnel di sviluppo
  • CognitiveServiceEndpoint: l'endpoint dei servizi di intelligenza artificiale di Azure
  • AcsConnectionString: stringa di connessione della risorsa del servizio di comunicazione di Azure.
  • AzureOpenAIServiceKey: Chiave del servizio OpenAI di Azure
  • AzureOpenAIServiceEndpoint: endpoint del servizio OpenAI di Azure
  • AzureOpenAIDeploymentModelName: nome del modello OpenAI di Azure

Eseguire l'applicazione

  1. Azure DevTunnel: assicurarsi che l'URI di AzureDevTunnel sia attivo e punti alla porta corretta dell'applicazione localhost
  2. Eseguire dotnet run per compilare ed eseguire l'applicazione di esempio
  3. Registrare un webhook di Griglia di eventi per l'evento IncomingCall che punta all'URI devTunnel. Vedere le istruzioni qui.

Al termine, è necessario disporre di un'applicazione in esecuzione. Il modo migliore per testare questo esempio consiste nell'effettuare una chiamata al numero di telefono Servizi di comunicazione di Azure e comunicare con l'agente intelligente.

Passaggi successivi

Scaricare il codice

Trovare il progetto per questo esempio in GitHub. È possibile scaricare questo codice ed eseguirlo in locale per provarlo manualmente.

Panoramica

Questo esempio è un'applicazione lato server che consente di creare un assistente virtuale in grado di gestire le chiamate usando l'automazione delle chiamate e rispondere ai clienti usando l'integrazione appena annunciata con i servizi di intelligenza artificiale di Azure per fornire funzionalità di intelligenza artificiale, ad esempio Sintesi vocale e Riconoscimento vocale, insieme a risposte intelligenti fornite da Azure OpenAI.

Questo esempio di intelligenza artificiale di automazione delle chiamate Servizi di comunicazione di Azure illustra come usare Call Automation SDK per rispondere a una chiamata in ingresso. Riconosce l'input vocale dell'utente usando l'API di riconoscimento di Automazione chiamate con supporto per riconoscimento vocale. Dopo aver riconosciuto l'input, invia tali informazioni a OpenAI per una risposta e riproduce la risposta fornita da OpenAI al chiamante usando l'API di riproduzione di Automazione chiamate con supporto per Sintesi vocale.

Prerequisiti

Prima di eseguire l'esempio per la prima volta

  • Aprire il file application.yml nella cartella resources per configurare le impostazioni seguenti

    • connectionstring: stringa di connessione della risorsa del servizio di comunicazione di Azure.
    • basecallbackuri: URL di base dell'app. Per lo sviluppo locale usare l'URL del tunnel di sviluppo.
    • cognitiveServicesUrl: l'endpoint dei servizi di intelligenza artificiale di Azure
    • azureOpenAiServiceKey: Chiave del servizio OpenAI di Azure
    • azureOpenAiServiceEndpoint: endpoint del servizio OpenAI di Azure
    • openAiModelName: nome del modello OpenAI di Azure

Configurare e ospitare Azure DevTunnel

Azure DevTunnels è un servizio di Azure che consente di condividere servizi Web locali ospitati su Internet. Usare i comandi forniti per connettere l'ambiente di sviluppo locale alla rete Internet pubblica. In questo modo viene creato un tunnel con un URL dell'endpoint permanente e che consente l'accesso anonimo. Questo endpoint verrà quindi usato per notificare all'applicazione gli eventi di chiamata dal servizio di automazione delle chiamate Servizi di comunicazione di Azure.

devtunnel create --allow-anonymous
devtunnel port create -p 8080
devtunnel host

Eseguire l'applicazione

  • Passare alla directory contenente il file pom.xml e usare i comandi mvn seguenti:
    • Compilare l'applicazione: mvn compile
    • Compilare il pacchetto: pacchetto mvn
    • Eseguire l'app: mvn exec:java
  • Accedere all'interfaccia utente di Swagger all'indirizzo http://localhost:8080/swagger-ui.html
    • Provare GET /outboundCall per eseguire l'applicazione di esempio

Al termine, è necessario disporre di un'applicazione in esecuzione. Il modo migliore per testare questo esempio consiste nell'effettuare una chiamata al numero di telefono Servizi di comunicazione di Azure e comunicare con l'agente intelligente.

Passaggi successivi

Scaricare il codice

Trovare il progetto per questo esempio in GitHub. È possibile scaricare questo codice ed eseguirlo in locale per provarlo manualmente.

Panoramica

Questo esempio è un'applicazione lato server che consente di creare un assistente virtuale in grado di gestire le chiamate usando l'automazione delle chiamate e rispondere ai clienti usando l'integrazione appena annunciata con i servizi di intelligenza artificiale di Azure per fornire funzionalità di intelligenza artificiale, ad esempio Sintesi vocale e Riconoscimento vocale, insieme a risposte intelligenti fornite da Azure OpenAI.

Questo esempio di intelligenza artificiale di automazione delle chiamate Servizi di comunicazione di Azure illustra come usare Call Automation SDK per rispondere a una chiamata in ingresso, riconosce l'input vocale dell'utente usando l'API di riconoscimento di Automazione chiamate con supporto per riconoscimento vocale. Dopo aver riconosciuto l'input, invia tali informazioni a OpenAI per una risposta e riproduce la risposta fornita da OpenAI al chiamante usando l'API di riproduzione di Automazione chiamate con il supporto per Sintesi vocale.

Prerequisiti

Istruzioni di impostazione

Prima di eseguire questo esempio, è necessario configurare le risorse indicate nella sezione "Prerequisiti" con gli aggiornamenti di configurazione seguenti:

1. Configurare e ospitare Azure DevTunnel

Azure DevTunnels è un servizio di Azure che consente di condividere servizi Web locali ospitati su Internet. Usare i comandi forniti in questo documento per connettere l'ambiente di sviluppo locale a Internet pubblico. In questo modo viene creato un tunnel con un URL dell'endpoint permanente e che consente l'accesso anonimo. Questo endpoint verrà usato per notificare all'applicazione gli eventi di chiamata dal servizio di automazione delle chiamate ACS.

devtunnel create --allow-anonymous
devtunnel port create -p 8080
devtunnel host

2. Aggiungere un'identità gestita alla risorsa Servizi di comunicazione di Azure che si connette alla risorsa dei servizi di intelligenza artificiale di Azure

Seguire le istruzioni riportate in questa documentazione.

3. Aggiungere le chiavi e gli endpoint API necessari

Aprire il .env file per configurare le impostazioni seguenti

  1. CONNECTION_STRING: stringa di connessione della risorsa del servizio di comunicazione di Azure.
  2. CALLBACK_URI: URL di base dell'app. (Per lo sviluppo locale sostituire l'URL del tunnel di sviluppo)
  3. COGNITIVE_SERVICE_ENDPOINT: endpoint del servizio di intelligenza artificiale di Azure
  4. AZURE_OPENAI_SERVICE_KEY: chiave del servizio OpenAI di Azure
  5. AZURE_OPENAI_SERVICE_ENDPOINT: endpoint OpenAI di Azure
  6. AZURE_OPENAI_DEPLOYMENT_MODEL_NAME: nome della distribuzione OpenAI di Azure
  7. AGENT_PHONE_NUMBER: numero di telefono dell'agente per trasferire la chiamata per risolvere le query

Eseguire l'applicazione

  1. Aprire una nuova finestra di PowerShell, cd nella callautomation-openai-sample cartella ed eseguire npm run dev
  2. Il browser dovrebbe essere visualizzato con la pagina seguente. In caso contrario, passa a http://localhost:8080/
  3. Registrare un webhook di Griglia di eventi per l'evento IncomingCall che punta all'URI devTunnel. Vedere le istruzioni qui.

Al termine, è necessario disporre di un'applicazione in esecuzione. Il modo migliore per testare questo esempio consiste nell'effettuare una chiamata al numero di telefono Servizi di comunicazione di Azure e comunicare con l'agente intelligente.

Passaggi successivi

Scaricare il codice

Trovare il progetto per questo esempio in GitHub. È possibile scaricare questo codice ed eseguirlo in locale per provarlo manualmente.

Panoramica

Questo esempio è un'applicazione lato server che consente di creare un assistente virtuale in grado di gestire le chiamate tramite Automazione chiamate. Consente anche all'assistente di rispondere ai clienti usando i servizi di intelligenza artificiale di Azure, che offrono funzionalità di intelligenza artificiale, ad esempio Sintesi vocale e Sintesi vocale, nonché risposte intelligenti fornite da Azure OpenAI.

Questo esempio di intelligenza artificiale di automazione delle chiamate Servizi di comunicazione di Azure illustra come usare Call Automation SDK per rispondere a una chiamata in ingresso, riconosce l'input vocale dell'utente usando l'API di riconoscimento di Automazione chiamate con supporto per riconoscimento vocale. Quando il sistema riconosce l'input, invia le informazioni a OpenAI per una risposta e usa l'API di riproduzione di Automazione chiamate con supporto per la riproduzione della sintesi vocale per riprodurre la risposta fornita da OpenAI al chiamante.

Prerequisiti

  • Creare un account Azure con una sottoscrizione attiva. Per informazioni dettagliate vedere Creare un account gratuito.
  • Creare una risorsa di Servizi di comunicazione di Azure. Per informazioni dettagliate vedere Creare una risorsa di comunicazione di Azure. È necessario registrare il stringa di connessione della risorsa per questo esempio.
  • Numero di telefono abilitato per le chiamate.  Ottenere un numero di telefono.
  • Tunnel di Azure Dev. Per informazioni dettagliate, vedere Abilitare il tunnel di sviluppo.
  • Creare una risorsa del servizio Azure AI Multi. Per informazioni dettagliate, vedere Creare una risorsa dei servizi di intelligenza artificiale di Azure.
  • Una risorsa OpenAI di Azure e un modello distribuito. Vedere le istruzioni.
  • Creare e ospitare un tunnel di Azure Dev. Vedere le istruzioni qui.
  • Python 3.7 o versione successiva (tenere presente che attualmente la versione 3.12 non dispone del supporto per le librerie OpenAI).

Istruzioni di impostazione

Prima di eseguire questo esempio, è necessario configurare le risorse indicate nella sezione "Prerequisiti" con gli aggiornamenti di configurazione seguenti:

1. Configurare l'ambiente Python

Creare e attivare l'ambiente virtuale Python e installare i pacchetti necessari usando il comando seguente

pip install -r requirements.txt
2. Configurare e ospitare Azure DevTunnel

Azure DevTunnels è un servizio di Azure che consente di condividere servizi Web locali ospitati su Internet. Usare i comandi forniti per connettere l'ambiente di sviluppo locale alla rete Internet pubblica. Questo processo crea un tunnel con un URL dell'endpoint permanente e consente l'accesso anonimo. Questo endpoint verrà usato per notificare all'applicazione gli eventi di chiamata dal servizio di automazione delle chiamate ACS.

devtunnel create --allow-anonymous
devtunnel port create -p 8080
devtunnel host

3. Aggiungere un'identità gestita alla risorsa Servizi di comunicazione di Azure che si connette alla risorsa dei servizi di intelligenza artificiale di Azure

Seguire le istruzioni riportate in questa documentazione.

4. Aggiungere le chiavi e gli endpoint API necessari

Aprire main.py il file per configurare le impostazioni seguenti

    • CALLBACK_URI_HOST: l'endpoint del tunnel di sviluppo
    • COGNITIVE_SERVICE_ENDPOINT: l'endpoint di Servizi di intelligenza artificiale di Azure
    • ACS_CONNECTION_STRING: stringa di connessione della risorsa del servizio di comunicazione di Azure.
    • AZURE_OPENAI_SERVICE_KEY: Chiave del servizio OpenAI di Azure
    • AZURE_OPENAI_SERVICE_ENDPOINT: endpoint del servizio OpenAI di Azure
    • AZURE_OPENAI_DEPLOYMENT_MODEL_NAME: nome del modello OpenAI di Azure
    • AGENT_PHONE_NUMBER: Numero di telefono agente per trasferire la chiamata

Eseguire l'applicazione

  1. Passare alla callautomation-openai-sample cartella ed eseguire main.py in modalità di debug o usare il comando python ./main.py per eseguirlo da PowerShell, prompt dei comandi o terminale Unix
  2. Il browser dovrebbe essere visualizzato con la pagina seguente. In caso contrario, passare a o all'URL http://localhost:8080/ del tunnel di sviluppo.
  3. Registrare un webhook di Griglia di eventi per l'evento IncomingCall che punta all'URI devTunnel. Vedere le istruzioni qui.

Al termine dell'operazione, l'applicazione dovrebbe essere operativa. Il modo migliore per testare questo esempio consiste nell'effettuare una chiamata al numero di telefono Servizi di comunicazione di Azure e comunicare con l'agente intelligente.

Passaggi successivi