Udostępnij za pośrednictwem


Wprowadzenie do przykładu OpenAI wywołania usług Azure Communication Services

Przykład Azure Communication Services Call Automation OpenAI pokazuje, jak można używać zestawu Call Automation SDK i niedawno ogłoszonej publicznej integracji w wersji zapoznawczej z usługami Azure AI w celu tworzenia inteligentnych asystentów wirtualnych.

W tym przykładzie omówimy działania tego przykładu i wymagania wstępne, zanim uruchomimy ten przykład lokalnie na maszynie.

Pobieranie kodu

Znajdź projekt dla tego przykładu w witrynie GitHub. Możesz pobrać ten kod i uruchomić go lokalnie, aby spróbować samodzielnie.

Omówienie

Ten przykład jest aplikacją po stronie serwera, która pomaga utworzyć wirtualnego asystenta, który może obsługiwać wywołania przy użyciu usługi Call Automation i odpowiadać na klientów przy użyciu nowo ogłoszonej integracji z usługami Azure AI w celu zapewnienia funkcji sztucznej inteligencji, takich jak zamiana tekstu na mowę i zamiana mowy na tekst wraz z inteligentnymi odpowiedziami dostarczonymi przez usługę Azure OpenAI.

W tym przykładzie usługi Azure Communication Services Call Automation AI pokazano, jak używać zestawu SDK usługi Call Automation do odpowiadania na wywołanie przychodzące, rozpoznaje dane wejściowe głosowe użytkownika przy użyciu interfejsu API rozpoznawania wywołań za pomocą interfejsu API rozpoznawania mowy na tekst. Po rozpoznaniu danych wejściowych wysyła te informacje do interfejsu OpenAI w celu uzyskania odpowiedzi i odtwarza odpowiedź dostarczoną z powrotem przez usługę OpenAI do obiektu wywołującego przy użyciu interfejsu API odtwarzania usługi Call Automation z obsługą zamiany tekstu na mowę.

Wymagania wstępne

Instrukcje konfiguracji

Przed uruchomieniem tego przykładu należy skonfigurować zasoby wymienione w sekcji "Wymagania wstępne" przy użyciu następujących aktualizacji konfiguracji:

1. Konfigurowanie i hostowanie usługi Azure DevTunnel

Azure DevTunnels to usługa platformy Azure, która umożliwia udostępnianie lokalnych usług internetowych hostowanych w Internecie. Użyj poniższych poleceń, aby połączyć lokalne środowisko programistyczne z publicznym Internetem. Spowoduje to utworzenie tunelu z trwałym adresem URL punktu końcowego, który umożliwia dostęp anonimowy. Następnie użyjemy tego punktu końcowego, aby powiadomić aplikację o wywołaniu zdarzeń z usługi Azure Communication Services Call Automation.

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

2. Dodawanie tożsamości zarządzanej do zasobu usług Azure Communication Services łączącego się z zasobem usług Azure AI

Postępuj zgodnie z instrukcjami w tej dokumentacji.

3. Dodawanie wymaganych kluczy interfejsu API i punktów końcowych

Otwórz plik appsettings.json, aby skonfigurować następujące ustawienia:

  • DevTunnelUri: punkt końcowy tunelu deweloperskiego
  • CognitiveServiceEndpoint: punkt końcowy usług AI platformy Azure
  • AcsConnectionString: parametry połączenia zasobu usługi Azure Communication Service.
  • AzureOpenAIServiceKey: Klucz usługi Azure OpenAI
  • AzureOpenAIServiceEndpoint: Punkt końcowy usługi Azure OpenAI
  • AzureOpenAIDeploymentModelName: Nazwa modelu usługi Azure OpenAI

Uruchamianie aplikacji

  1. Azure DevTunnel: Upewnij się, że identyfikator URI usługi AzureDevTunnel jest aktywny i wskazuje prawidłowy port aplikacji localhost
  2. Uruchom polecenie dotnet run , aby skompilować i uruchomić przykładową aplikację
  3. Zarejestruj element webhook usługi Event Grid dla zdarzenia IncomingCall, które wskazuje identyfikator URI usługi DevTunnel. Instrukcje znajdują się tutaj.

Po zakończeniu należy mieć uruchomioną aplikację. Najlepszym sposobem na przetestowanie tego przykładu jest umieszczenie połączenia z numerem telefonu usług Azure Communication Services i rozmowę z inteligentnym agentem.

Następne kroki

Pobieranie kodu

Znajdź projekt dla tego przykładu w witrynie GitHub. Możesz pobrać ten kod i uruchomić go lokalnie, aby spróbować samodzielnie.

Omówienie

Ten przykład jest aplikacją po stronie serwera, która pomaga utworzyć wirtualnego asystenta, który może obsługiwać wywołania przy użyciu usługi Call Automation i odpowiadać na klientów przy użyciu nowo ogłoszonej integracji z usługami Azure AI w celu zapewnienia funkcji sztucznej inteligencji, takich jak zamiana tekstu na mowę i zamiana mowy na tekst wraz z inteligentnymi odpowiedziami dostarczonymi przez usługę Azure OpenAI.

W tym przykładzie usługi Azure Communication Services Call Automation AI pokazano, jak używać zestawu SDK usługi Call Automation do odpowiadania na wywołanie przychodzące. Rozpoznaje dane wejściowe głosu użytkownika przy użyciu interfejsu API rozpoznawania wywołań z obsługą zamiany mowy na tekst. Po rozpoznaniu danych wejściowych wysyła te informacje do interfejsu OpenAI w celu uzyskania odpowiedzi i odtwarza odpowiedź dostarczoną z powrotem przez usługę OpenAI do obiektu wywołującego przy użyciu interfejsu API odtwarzania usługi Call Automation z obsługą zamiany tekstu na mowę.

Wymagania wstępne

  • Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.
  • Wdrożony zasób usług komunikacyjnych. Utwórz zasób usług komunikacyjnych.
  • Numer telefonu w zasobie usług Azure Communication Services, który może wykonywać połączenia wychodzące. NB: numery telefonów nie są dostępne w bezpłatnych subskrypcjach.
  • Java Development Kit (JDK) Microsoft.OpenJDK.17
  • Apache Maven
  • Tworzenie i hostowanie aplikacji Azure Dev Tunnel. Instrukcje tutaj
  • Utwórz zasób usług Azure AI. Aby uzyskać szczegółowe informacje, zobacz Create an Azure AI services Resource (Tworzenie zasobu usług AI platformy Azure).
  • Zasób usługi Azure OpenAI i wdrożony model. Zobacz instrukcje.

Przed uruchomieniem przykładu po raz pierwszy

  • Otwórz plik application.yml w folderze resources, aby skonfigurować następujące ustawienia

    • connectionstring: parametry połączenia zasobu usługi Azure Communication Service.
    • basecallbackuri: podstawowy adres URL aplikacji. W przypadku lokalnego programowania użyj adresu URL tunelu deweloperskiego.
    • cognitiveServicesUrl: punkt końcowy usług AI platformy Azure
    • azureOpenAiServiceKey: Klucz usługi Azure OpenAI
    • azureOpenAiServiceEndpoint: Punkt końcowy usługi Azure OpenAI
    • openAiModelName: Nazwa modelu usługi Azure OpenAI

Konfigurowanie i hostowanie usługi Azure DevTunnel

Azure DevTunnels to usługa platformy Azure, która umożliwia udostępnianie lokalnych usług internetowych hostowanych w Internecie. Użyj podanych poleceń, aby połączyć lokalne środowisko programistyczne z publicznym Internetem. Spowoduje to utworzenie tunelu z trwałym adresem URL punktu końcowego, który umożliwia dostęp anonimowy. Następnie użyjemy tego punktu końcowego, aby powiadomić aplikację o wywołaniu zdarzeń z usługi Azure Communication Services Call Automation.

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

Uruchamianie aplikacji

  • Przejdź do katalogu zawierającego plik pom.xml i użyj następujących poleceń mvn:
    • Kompilowanie aplikacji: mvn compile
    • Kompilowanie pakietu: pakiet mvn
    • Wykonaj aplikację: mvn exec:java
  • Uzyskiwanie dostępu do interfejsu użytkownika struktury Swagger pod adresem http://localhost:8080/swagger-ui.html
    • Wypróbuj polecenie GET /outboundCall, aby uruchomić przykładową aplikację

Po zakończeniu należy mieć uruchomioną aplikację. Najlepszym sposobem na przetestowanie tego przykładu jest umieszczenie połączenia z numerem telefonu usług Azure Communication Services i rozmowę z inteligentnym agentem.

Następne kroki

Pobieranie kodu

Znajdź projekt dla tego przykładu w witrynie GitHub. Możesz pobrać ten kod i uruchomić go lokalnie, aby spróbować samodzielnie.

Omówienie

Ten przykład jest aplikacją po stronie serwera, która pomaga utworzyć wirtualnego asystenta, który może obsługiwać wywołania przy użyciu usługi Call Automation i odpowiadać na klientów przy użyciu nowo ogłoszonej integracji z usługami Azure AI w celu zapewnienia funkcji sztucznej inteligencji, takich jak zamiana tekstu na mowę i zamiana mowy na tekst wraz z inteligentnymi odpowiedziami dostarczonymi przez usługę Azure OpenAI.

W tym przykładzie usługi Azure Communication Services Call Automation AI pokazano, jak używać zestawu SDK usługi Call Automation do odpowiadania na wywołanie przychodzące, rozpoznaje dane wejściowe głosowe użytkownika przy użyciu interfejsu API rozpoznawania wywołań za pomocą interfejsu API rozpoznawania mowy na tekst. Po rozpoznaniu danych wejściowych wysyła te informacje do interfejsu OpenAI w celu uzyskania odpowiedzi i odtwarza odpowiedź dostarczaną przez interfejs OpenAI do obiektu wywołującego przy użyciu interfejsu API odtwarzania usługi Call Automation z obsługą zamiany tekstu na mowę.

Wymagania wstępne

Instrukcje konfiguracji

Przed uruchomieniem tego przykładu należy skonfigurować zasoby wymienione w sekcji "Wymagania wstępne" przy użyciu następujących aktualizacji konfiguracji:

1. Konfigurowanie i hostowanie usługi Azure DevTunnel

Azure DevTunnels to usługa platformy Azure, która umożliwia udostępnianie lokalnych usług internetowych hostowanych w Internecie. Użyj poleceń podanych w tym dokumencie, aby połączyć lokalne środowisko programistyczne z publicznym Internetem. Spowoduje to utworzenie tunelu z trwałym adresem URL punktu końcowego, który umożliwia dostęp anonimowy. Użyjemy tego punktu końcowego, aby powiadomić aplikację o wywołaniu zdarzeń z usługi automatyzacji wywołań ACS.

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

2. Dodawanie tożsamości zarządzanej do zasobu usług Azure Communication Services łączącego się z zasobem usług Azure AI

Postępuj zgodnie z instrukcjami w tej dokumentacji.

3. Dodawanie wymaganych kluczy interfejsu API i punktów końcowych

Otwórz plik, .env aby skonfigurować następujące ustawienia

  1. CONNECTION_STRING: parametry połączenia zasobu usługi Azure Communication Service.
  2. CALLBACK_URI: podstawowy adres URL aplikacji. (W przypadku lokalnego programowania zastąp adres URL tunelu deweloperskiego)
  3. COGNITIVE_SERVICE_ENDPOINT: Punkt końcowy usługi Azure AI Service
  4. AZURE_OPENAI_SERVICE_KEY: Klucz usługi Azure OpenAI
  5. AZURE_OPENAI_SERVICE_ENDPOINT: Punkt końcowy usługi Azure OpenAI
  6. AZURE_OPENAI_DEPLOYMENT_MODEL_NAME: Nazwa wdrożenia usługi Azure OpenAI
  7. AGENT_PHONE_NUMBER: Numer telefonu agenta w celu przeniesienia połączenia w celu rozwiązania problemów z zapytaniami

Uruchamianie aplikacji

  1. Otwórz nowe okno programu PowerShell, przejdź do callautomation-openai-sample folderu i uruchom polecenie npm run dev
  2. Przeglądarka powinna pojawić się z poniższą stroną. Jeśli tak nie jest, przejdź do http://localhost:8080/
  3. Zarejestruj element webhook usługi Event Grid dla zdarzenia IncomingCall, które wskazuje identyfikator URI usługi DevTunnel. Instrukcje znajdują się tutaj.

Po zakończeniu należy mieć uruchomioną aplikację. Najlepszym sposobem na przetestowanie tego przykładu jest umieszczenie połączenia z numerem telefonu usług Azure Communication Services i rozmowę z inteligentnym agentem.

Następne kroki

Pobieranie kodu

Znajdź projekt dla tego przykładu w witrynie GitHub. Możesz pobrać ten kod i uruchomić go lokalnie, aby spróbować samodzielnie.

Omówienie

Ten przykład to aplikacja po stronie serwera, która ułatwia tworzenie wirtualnego asystenta obsługującego obsługę wywołań przy użyciu usługi Call Automation. Umożliwia również asystentowi reagowanie na klientów przy użyciu usług azure AI, które zapewniają funkcje sztucznej inteligencji, takie jak zamiana tekstu na mowę i zamianę mowy na tekst, a także inteligentne odpowiedzi udostępniane przez usługę Azure OpenAI.

W tym przykładzie usługi Azure Communication Services Call Automation AI pokazano, jak używać zestawu SDK usługi Call Automation do odpowiadania na wywołanie przychodzące, rozpoznaje dane wejściowe głosowe użytkownika przy użyciu interfejsu API rozpoznawania wywołań za pomocą interfejsu API rozpoznawania mowy na tekst. Gdy system rozpoznaje dane wejściowe, wysyła informacje do interfejsu OpenAI w celu uzyskania odpowiedzi i używa interfejsu API odtwarzania usługi Call Automation z obsługą zamiany tekstu na mowę, aby odtworzyć odpowiedź dostarczoną przez interfejs OpenAI do obiektu wywołującego.

Wymagania wstępne

  • Utwórz konto platformy Azure z aktywną subskrypcją. Aby uzyskać szczegółowe informacje, zobacz Tworzenie bezpłatnego konta.
  • Utwórz zasób usług Azure Communication Services. Aby uzyskać szczegółowe informacje, zobacz Tworzenie zasobu komunikacji platformy Azure. Musisz zarejestrować parametry połączenia zasobu dla tego przykładu.
  • Numer telefonu z obsługą połączeń. Uzyskaj numer telefonu.
  • Interfejs wiersza polecenia usługi Azure Dev Tunnels. Aby uzyskać szczegółowe informacje, zobacz Włączanie tunelu deweloperskiego.
  • Utwórz zasób usługi Azure AI Multi. Aby uzyskać szczegółowe informacje, zobacz Create an Azure AI services Resource (Tworzenie zasobu usług AI platformy Azure).
  • Zasób usługi Azure OpenAI i wdrożony model. Zobacz instrukcje.
  • Tworzenie i hostowanie aplikacji Azure Dev Tunnel. Instrukcje znajdują się tutaj.
  • Środowisko Python w wersji 3.7 lub nowszej (należy pamiętać, że obecnie wersja 3.12 nie obsługuje bibliotek OpenAI).

Instrukcje konfiguracji

Przed uruchomieniem tego przykładu należy skonfigurować zasoby wymienione w sekcji "Wymagania wstępne" przy użyciu następujących aktualizacji konfiguracji:

1. Konfigurowanie środowiska języka Python

Tworzenie i aktywowanie środowiska wirtualnego języka Python i instalowanie wymaganych pakietów przy użyciu następującego polecenia

pip install -r requirements.txt
2. Konfigurowanie i hostowanie usługi Azure DevTunnel

Azure DevTunnels to usługa platformy Azure, która umożliwia udostępnianie lokalnych usług internetowych hostowanych w Internecie. Użyj podanych poleceń, aby połączyć lokalne środowisko programistyczne z publicznym Internetem. Ten proces tworzy tunel z trwałym adresem URL punktu końcowego i umożliwia dostęp anonimowy. Użyjemy tego punktu końcowego, aby powiadomić aplikację o wywołaniu zdarzeń z usługi automatyzacji wywołań ACS.

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

3. Dodawanie tożsamości zarządzanej do zasobu usług Azure Communication Services łączącego się z zasobem usług Azure AI

Postępuj zgodnie z instrukcjami w tej dokumentacji.

4. Dodawanie wymaganych kluczy interfejsu API i punktów końcowych

Otwórz main.py plik, aby skonfigurować następujące ustawienia

    • CALLBACK_URI_HOST: punkt końcowy tunelu deweloperskiego
    • COGNITIVE_SERVICE_ENDPOINT: punkt końcowy usług Azure AI Services
    • ACS_CONNECTION_STRING: parametry połączenia zasobu usługi Azure Communication Service.
    • AZURE_OPENAI_SERVICE_KEY: Klucz usługi Azure OpenAI
    • AZURE_OPENAI_SERVICE_ENDPOINT: Punkt końcowy usługi Azure OpenAI
    • AZURE_OPENAI_DEPLOYMENT_MODEL_NAME: Nazwa modelu usługi Azure OpenAI
    • AGENT_PHONE_NUMBER: Numer telefonu agenta do przeniesienia połączenia

Uruchamianie aplikacji

  1. Przejdź do callautomation-openai-sample folderu i uruchom main.py polecenie w trybie debugowania lub użyj polecenia python ./main.py , aby uruchomić go z poziomu programu PowerShell, wiersza polecenia lub terminalu systemu Unix
  2. Przeglądarka powinna pojawić się z poniższą stroną. Jeśli nie, przejdź do http://localhost:8080/ adresu URL tunelu deweloperskiego lub do niego.
  3. Zarejestruj element webhook usługi Event Grid dla zdarzenia IncomingCall, które wskazuje identyfikator URI usługi DevTunnel. Instrukcje znajdują się tutaj.

Po zakończeniu tego procesu aplikacja powinna być uruchomiona. Najlepszym sposobem na przetestowanie tego przykładu jest umieszczenie połączenia z numerem telefonu usług Azure Communication Services i rozmowę z inteligentnym agentem.

Następne kroki