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
- 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ł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.
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 deweloperskiegoCognitiveServiceEndpoint
: punkt końcowy usług AI platformy AzureAcsConnectionString
: parametry połączenia zasobu usługi Azure Communication Service.AzureOpenAIServiceKey
: Klucz usługi Azure OpenAIAzureOpenAIServiceEndpoint
: Punkt końcowy usługi Azure OpenAIAzureOpenAIDeploymentModelName
: Nazwa modelu usługi Azure OpenAI
Uruchamianie aplikacji
- Azure DevTunnel: Upewnij się, że identyfikator URI usługi AzureDevTunnel jest aktywny i wskazuje prawidłowy port aplikacji localhost
- Uruchom polecenie
dotnet run
, aby skompilować i uruchomić przykładową aplikację - 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
- Dowiedz się więcej o automatyzacji wywołań.
- Dowiedz się więcej o odtwarzaniu komunikatów niestandardowych.
- Dowiedz się więcej o rozpoznawaniu danych wejściowych użytkownika.
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 AzureazureOpenAiServiceKey
: Klucz usługi Azure OpenAIazureOpenAiServiceEndpoint
: Punkt końcowy usługi Azure OpenAIopenAiModelName
: 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
- Dowiedz się więcej o automatyzacji wywołań.
- Dowiedz się więcej o odtwarzaniu komunikatów niestandardowych.
- Dowiedz się więcej o rozpoznawaniu danych wejściowych użytkownika.
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
- 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.Zainstalowane środowisko -- Node.js
- 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.
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
CONNECTION_STRING
: parametry połączenia zasobu usługi Azure Communication Service.CALLBACK_URI
: podstawowy adres URL aplikacji. (W przypadku lokalnego programowania zastąp adres URL tunelu deweloperskiego)COGNITIVE_SERVICE_ENDPOINT
: Punkt końcowy usługi Azure AI ServiceAZURE_OPENAI_SERVICE_KEY
: Klucz usługi Azure OpenAIAZURE_OPENAI_SERVICE_ENDPOINT
: Punkt końcowy usługi Azure OpenAIAZURE_OPENAI_DEPLOYMENT_MODEL_NAME
: Nazwa wdrożenia usługi Azure OpenAIAGENT_PHONE_NUMBER
: Numer telefonu agenta w celu przeniesienia połączenia w celu rozwiązania problemów z zapytaniami
Uruchamianie aplikacji
- Otwórz nowe okno programu PowerShell, przejdź do
callautomation-openai-sample
folderu i uruchom polecenienpm run dev
- Przeglądarka powinna pojawić się z poniższą stroną. Jeśli tak nie jest, przejdź do
http://localhost:8080/
- 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
- Dowiedz się więcej o automatyzacji wywołań.
- Dowiedz się więcej o odtwarzaniu komunikatów niestandardowych.
- Dowiedz się więcej o rozpoznawaniu danych wejściowych użytkownika.
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
- Przejdź do
callautomation-openai-sample
folderu i uruchommain.py
polecenie w trybie debugowania lub użyj poleceniapython ./main.py
, aby uruchomić go z poziomu programu PowerShell, wiersza polecenia lub terminalu systemu Unix - Przeglądarka powinna pojawić się z poniższą stroną. Jeśli nie, przejdź do
http://localhost:8080/
adresu URL tunelu deweloperskiego lub do niego. - 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
- Dowiedz się więcej o automatyzacji wywołań.
- Dowiedz się więcej o odtwarzaniu komunikatów niestandardowych.
- Dowiedz się więcej o rozpoznawaniu danych wejściowych użytkownika.