Udostępnij za pośrednictwem


Używanie usługi Mowa za pośrednictwem prywatnego punktu końcowego

Usługa Azure Private Link umożliwia łączenie się z usługami na platformie Azure przy użyciu prywatnego punktu końcowego. Prywatny punkt końcowy to prywatny adres IP dostępny tylko w ramach określonej sieci wirtualnej i podsieci.

W tym artykule wyjaśniono, jak skonfigurować i używać usługi Private Link oraz prywatnych punktów końcowych z usługą Mowa. Niniejszy artykuł opisuje, jak później usunąć prywatne punkty końcowe, a mimo to nadal korzystać z zasobu Mowa.

Uwaga

Przed kontynuowaniem zapoznaj się ze sposobem korzystania z sieci wirtualnych z usługami Azure AI.

Skonfigurowanie zasobu AI Foundry dotyczącego Mowy dla scenariuszy prywatnego punktu końcowego wymaga wykonania następujących zadań:

  1. Tworzenie niestandardowej nazwy domeny
  2. Włącz prywatne punkty końcowe
  3. Dostosowywanie istniejących aplikacji i rozwiązań

Prywatne punkty końcowe i punkty końcowe usługi sieci wirtualnej

Platforma Azure udostępnia prywatne punkty końcowe i punkty końcowe usługi sieci wirtualnej dla ruchu, który tuneluje za pośrednictwem prywatnej sieci szkieletowej platformy Azure. Przeznaczenie i podstawowe technologie tych typów punktów końcowych są podobne. Istnieją jednak różnice między dwiema technologiami. Zalecamy zapoznanie się z zaletami i wadami obu tych rozwiązań przed zaprojektowaniem sieci.

Podczas podejmowania decyzji o użyciu technologii należy wziąć pod uwagę kilka kwestii:

  • Obie technologie zapewniają, że ruch między siecią wirtualną a zasobem usługi Mowa nie jest przesyłany przez publiczny Internet.
  • Prywatny punkt końcowy udostępnia dedykowany prywatny adres IP dla zasobu usługi Mowa. Ten adres IP jest dostępny tylko w ramach określonej sieci wirtualnej i podsieci. Masz pełną kontrolę nad dostępem do tego adresu IP w ramach infrastruktury sieciowej.
  • Punkty końcowe usługi sieci wirtualnej nie zapewniają dedykowanego prywatnego adresu IP dla zasobu usługi Mowa. Zamiast tego hermetyzują wszystkie pakiety wysyłane do zasobu usługi Mowa i dostarczają je bezpośrednio za pośrednictwem sieci szkieletowej platformy Azure.
  • Obie technologie obsługują scenariusze lokalne. Domyślnie w przypadku korzystania z punktów końcowych usługi sieci wirtualnej zasoby usługi platformy Azure zabezpieczone dla sieci wirtualnych nie mogą być osiągane z sieci lokalnych. Można jednak zmienić to zachowanie.
  • Punkty końcowe sieci wirtualnej są często używane do ograniczania dostępu do zasobu AI Foundry przeznaczonego dla funkcji rozpoznawania mowy, w oparciu o sieci wirtualne, z których pochodzi ruch.
  • W przypadku usług Azure AI włączenie punktu końcowego usługi Sieci Wirtualnej wymusza, aby ruch dla wszystkich zasobów Azure AI Foundry przechodził przez prywatną sieć szkieletową. Wymaga to jawnej konfiguracji dostępu do sieci. (Aby uzyskać więcej informacji, zobacz Konfigurowanie sieci wirtualnych i ustawień sieci zasobów usługi Mowa). Prywatne punkty końcowe nie mają tego ograniczenia i zapewniają większą elastyczność konfiguracji sieci. Dostęp do jednego zasobu można uzyskać za pośrednictwem prywatnej sieci szkieletowej i drugiej za pośrednictwem publicznego Internetu przy użyciu tej samej podsieci tej samej sieci wirtualnej.
  • Prywatne punkty końcowe generują dodatkowe koszty. Punkty końcowe usługi dla sieci wirtualnej są bezpłatne.
  • Prywatne punkty końcowe wymagają dodatkowej konfiguracji DNS.
  • Jeden zasób usługi Speech może działać jednocześnie z prywatnymi punktami końcowymi i punktami końcowymi usługi sieci wirtualnej.

Zalecamy wypróbowanie obu typów punktów końcowych przed podjęciem decyzji o projekcie produkcyjnym.

Aby uzyskać więcej informacji zobacz te zasoby:

W tym artykule opisano użycie prywatnych punktów końcowych w usłudze Mowa. Użycie punktów końcowych usługi sieci wirtualnej zostało opisane tutaj.

Tworzenie niestandardowej nazwy domeny

Uwaga

zasób AI Foundry dla usługi rozpoznawania mowy z niestandardową nazwą domeny włączoną korzysta z odmiennego sposobu interakcji z usługą rozpoznawania mowy. Może być konieczne dostosowanie kodu aplikacji dla obu tych scenariuszy: z prywatnym punktem końcowym i bez prywatnego punktu końcowego.

Wykonaj następujące kroki, aby utworzyć niestandardową nazwę poddomeny dla usług Azure AI dla zasobu usługi Azure Speech.

Uwaga

Po włączeniu niestandardowej nazwy domeny operacja nie jest odwracalna. Jedynym sposobem powrotu do nazwy regionalnej jest stworzenie nowego zasobu usługi Speech.

Jeśli zasób usługi Mowa zawiera wiele skojarzonych modeli niestandardowych i projektów utworzonych za pośrednictwem usługi Speech Studio, zdecydowanie zalecamy wypróbowanie konfiguracji z zasobem testowym przed zmodyfikowaniem zasobu używanego w środowisku produkcyjnym.

Aby utworzyć niestandardową nazwę domeny przy użyciu witryny Azure Portal, wykonaj następujące kroki:

  1. Przejdź do witryny Azure Portal i zaloguj się na swoje konto platformy Azure.

  2. Wybierz wymagany zasób Mowy.

  3. W grupie Zarządzanie zasobami w okienku po lewej stronie wybierz pozycję Sieć.

  4. Na karcie Zapory i sieci wirtualne wybierz pozycję Generuj niestandardową nazwę domeny. Zostanie wyświetlony nowy panel po prawej stronie z instrukcjami tworzenia unikatowej niestandardowej poddomeny dla zasobu.

  5. W panelu Generuj niestandardową nazwę domeny wprowadź niestandardową nazwę domeny. Pełna domena niestandardowa będzie wyglądać następująco: https://{your custom name}.cognitiveservices.azure.com.

    Pamiętaj, że po utworzeniu niestandardowej nazwy domeny nie można jej zmienić.

    Po wprowadzeniu niestandardowej nazwy domeny wybierz pozycję Zapisz.

  6. Po zakończeniu operacji w grupie Zarządzanie zasobami wybierz pozycję Klucze i punkt końcowy. Upewnij się, że nowa nazwa punktu końcowego zasobu rozpoczyna się w następujący sposób: https://{your custom name}.cognitiveservices.azure.com.

Włącz prywatne punkty końcowe

Zalecamy używanie prywatnej strefy DNS dołączonej do sieci wirtualnej z niezbędnymi aktualizacjami dla prywatnych punktów końcowych. Podczas procesu aprowizacji można utworzyć prywatną strefę DNS. Jeśli używasz własnego serwera DNS, może być również konieczne zmianę konfiguracji DNS.

Zdecyduj o strategii DNS przed utworzeniem prywatnych punktów końcowych dla produkcyjnego zasobu usługi Speech. Przetestuj zmiany DNS, zwłaszcza jeśli używasz własnego serwera DNS.

Użyj jednego z poniższych artykułów, aby utworzyć prywatne punkty końcowe. Te artykuły używają aplikacji internetowej jako przykładowego zasobu do udostępniania za pośrednictwem prywatnych punktów końcowych.

Użyj tych parametrów zamiast parametrów w artykule, który został wybrany:

Ustawienie Wartość
Typ zasobu Microsoft.CognitiveServices/accounts
Zasób <twoja nazwa zasobu mowy>
Docelowy zasób podrzędny rachunek

Dns dla prywatnych punktów końcowych: Zapoznaj się z ogólnymi zasadami dns dla prywatnych punktów końcowych w zasobach usługi Azure AI Foundry. Następnie upewnij się, że konfiguracja DNS działa poprawnie, wykonując kontrole opisane w poniższych sekcjach.

Rozwiązywanie DNS z sieci wirtualnej

To sprawdzenie jest wymagane.

Wykonaj następujące kroki, aby przetestować niestandardowy wpis DNS z sieci wirtualnej:

  1. Zaloguj się do maszyny wirtualnej znajdującej się w sieci wirtualnej, do której dołączono prywatny punkt końcowy.

  2. Otwórz wiersz polecenia systemu Windows lub powłokę Bash, uruchom nslookup, i upewnij się, że pomyślnie rozpoznaje nazwę domeny niestandardowej zasobu.

    C:\>nslookup my-private-link-speech.cognitiveservices.azure.com
    Server:  UnKnown
    Address:  168.63.129.16
    
    Non-authoritative answer:
    Name:    my-private-link-speech.privatelink.cognitiveservices.azure.com
    Address:  172.28.0.10
    Aliases:  my-private-link-speech.cognitiveservices.azure.com
    
  3. Upewnij się, że adres IP jest zgodny z adresem IP prywatnego punktu końcowego.

Rozwiązywanie DNS z innych sieci

Wykonaj to sprawdzenie tylko wtedy, gdy włączono opcję Wszystkie sieci lub opcję Dostęp do wybranych sieci i prywatnych punktów końcowych w sekcji Sieć zasobu.

Jeśli planujesz uzyskać dostęp do zasobu przy użyciu tylko prywatnego punktu końcowego, możesz pominąć tę sekcję.

  1. Zaloguj się do komputera dołączonego do sieci, aby uzyskać dostęp do zasobu.

  2. Otwórz wiersz polecenia systemu Windows lub powłokę Bash, uruchom nslookup, i upewnij się, że pomyślnie rozpozna nazwę domeny niestandardowej twojego zasobu.

    C:\>nslookup my-private-link-speech.cognitiveservices.azure.com
    Server:  UnKnown
    Address:  fe80::1
    
    Non-authoritative answer:
    Name:    vnetproxyv1-weu-prod.westeurope.cloudapp.azure.com
    Address:  13.69.67.71
    Aliases:  my-private-link-speech.cognitiveservices.azure.com
              my-private-link-speech.privatelink.cognitiveservices.azure.com
              westeurope.prod.vnet.cog.trafficmanager.net
    

Uwaga

Rozpoznany adres IP wskazuje punkt końcowy serwera proxy sieci wirtualnej, który wysyła ruch sieciowy do prywatnego punktu końcowego zasobu usługi Mowa. Zachowanie będzie inne dla zasobu z niestandardową nazwą domeny, ale bez prywatnych punktów końcowych. Aby uzyskać szczegółowe informacje, zobacz tę sekcję .

Dostosowywanie aplikacji tak, aby korzystała z zasobu usługi AI Foundry dla usługi Mowa przy użyciu prywatnego punktu końcowego

Zasób AI Foundry dla usługi Mowy z niestandardową domeną współdziała z usługą Mowy w inny sposób. Jest to prawdą dla zasobu mowy z obsługą domeny niestandardowej zarówno z prywatnymi punktami końcowymi, jak i bez nich. Informacje w tej sekcji dotyczą obu scenariuszy.

Postępuj zgodnie z instrukcjami w tej sekcji, aby dostosować istniejące aplikacje i rozwiązania do używania zasobu AI Foundry dla mowy z niestandardową nazwą domeny i włączonym prywatnym punktem końcowym.

Zasób rozwiązania Foundry AI dla usługi rozpoznawania mowy z niestandardową nazwą domeny i aktywowanym prywatnym punktem końcowym używa innego sposobu interakcji z usługą rozpoznawania mowy. W tej sekcji wyjaśniono, jak używać takiego zasobu za pomocą REST API usługi Mowa oraz zestawu Speech SDK.

Uwaga

Zasób AI Foundry dla usługi Mowa, który nie korzysta z prywatnych punktów końcowych, ale używa niestandardowej nazwy domeny, ma również specjalny sposób interakcji z usługą Mowa. W ten sposób różni się od scenariusza zasobu AI Foundry dla funkcji Mowy, który korzysta z prywatnego punktu końcowego. Jest to ważne, ponieważ później możesz zdecydować się na usunięcie prywatnych punktów końcowych. W dalszej części tego artykułu sprawdź dostosowanie aplikacji, aby użyć zasobu AI Foundry dla mowy bez prywatnych punktów końcowych.

Zasób mowy z niestandardową nazwą domeny i prywatnym punktem końcowym: użycie za pomocą interfejsów API REST

W tej sekcji używamy my-private-link-speech.cognitiveservices.azure.com jako przykładowej nazwy DNS zasobu usługi Mowa (domena niestandardowa).

Usługa rozpoznawania mowy ma interfejsy API REST dla zamiany mowy na tekst i zamianę tekstu na mowę. Rozważ następujące informacje dotyczące scenariusza z obsługą prywatnego punktu końcowego.

Zamiana mowy na tekst ma dwa interfejsy API REST. Każdy interfejs API obsługuje inny cel, używa różnych punktów końcowych i wymaga innego podejścia w przypadku korzystania z niego w scenariuszu z obsługą prywatnego punktu końcowego.

API REST do rozpoznawania mowy na tekst to:

Użycie interfejsu API REST zamiany mowy na tekst na potrzeby krótkich nagrań audio i interfejsu API REST zamiany tekstu na mowę w przypadku prywatnego punktu końcowego jest takie samo. Jest to odpowiednik przypadku zestawu Speech SDK opisanego w dalszej części tego artykułu.

Interfejs API REST zamiany mowy na tekst używa innego zestawu punktów końcowych, dlatego wymaga innego podejścia dla scenariusza z obsługą prywatnego punktu końcowego.

W następnych podsekcjach opisano oba przypadki.

Interfejs REST API konwersji mowy na tekst

Zazwyczaj zasoby usługi Mowa używają regionalnych punktów końcowych usług AI platformy Azure do komunikowania się z interfejsem API REST zamiany mowy na tekst. Te zasoby mają następujący format nazewnictwa:

{region}.api.cognitive.microsoft.com.

Jest to przykładowy adres URL żądania:

https://westeurope.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions

Uwaga

Zobacz ten artykuł dotyczący platformy Azure Government i platformy Microsoft Azure obsługiwanych przez punkty końcowe 21Vianet.

Po włączeniu domeny niestandardowej dla zasobu rozwiązania AI Foundry dla usługi Mowa (co jest niezbędne dla prywatnych punktów końcowych), ten zasób będzie używać następującego wzorca nazwy DNS dla podstawowego punktu końcowego interfejsu API REST:

{your custom name}.cognitiveservices.azure.com

Oznacza to, że w naszym przykładzie nazwa punktu końcowego interfejsu API REST to:

my-private-link-speech.cognitiveservices.azure.com

Przykładowy adres URL żądania należy przekonwertować na:

https://my-private-link-speech.cognitiveservices.azure.com/speechtotext/v3.1/transcriptions

Ten adres URL powinien być dostępny z sieci wirtualnej z dołączonym prywatnym punktem końcowym (pod warunkiem prawidłowego rozpoznawania nazw DNS).

Po włączeniu niestandardowej nazwy domeny dla zasobu AI Foundry dla Mowy zazwyczaj zastępujesz nazwę hosta we wszystkich adresach URL żądań nową nazwą hosta dla domeny. Wszystkie pozostałe części żądania (takie jak ścieżka /speechtotext/v3.1/transcriptions we wcześniejszym przykładzie) pozostają takie same.

Napiwek

Niektórzy klienci tworzą aplikacje korzystające z części regionu nazwy DNS regionalnego punktu końcowego (na przykład w celu wysłania żądania do zasobu usługi Mowa wdrożonego w określonym regionie świadczenia usługi Azure).

Domena niestandardowa zasobu usługi AI Foundry dla usługi Mowa nie zawiera informacji o regionie, w którym wdrożono zasób. Dlatego logika aplikacji opisana wcześniej nie będzie działać i musi zostać zmieniona.

Interfejs API REST zamiany mowy na tekst dla krótkiego dźwięku i zamiany tekstu na mowę

Interfejs API REST zamiany mowy na tekst dla krótkiego dźwiękui interfejsu API REST zamiany tekstu na mowę używają dwóch typów punktów końcowych:

Uwaga

Zobacz ten artykuł dotyczący platformy Azure Government i platformy Azure obsługiwanych przez punkty końcowe 21Vianet.

Szczegółowy opis specjalnych punktów końcowych i sposobu przekształcania ich adresu URL dla zasobu mowy z obsługą prywatnego punktu końcowego znajduje się w tej podsekcji dotyczącej użycia za pomocą zestawu Speech SDK. Ta sama zasada opisana dla zestawu SDK dotyczy interfejsu API REST zamiany mowy na tekst dla krótkiego dźwięku i interfejsu API REST zamiany tekstu na mowę.

Zapoznaj się z materiałem w podsekcji wymienionej w poprzednim akapicie i zapoznaj się z poniższym przykładem. W przykładzie opisano interfejs API REST zamiany tekstu na mowę. Użycie interfejsu API REST zamiany mowy na tekst dla krótkiego nagrania dźwiękowego jest w pełni równoważne.

Uwaga

Jeśli używasz interfejsu REST zamiany mowy na tekst dla krótkiego audio oraz interfejsu REST zamiany tekstu na mowę w scenariuszach prywatnych punktów końcowych, użyj klucza zasobu przekazanego przez nagłówek Ocp-Apim-Subscription-Key. (Zobacz szczegóły dotyczące interfejsu API REST zamiany mowy na tekst dla krótkiego audio i interfejsu API REST zamiany tekstu na mowę)

Użycie tokenu autoryzacji i przekazanie go do specjalnego punktu końcowego za pośrednictwem Authorization nagłówka będzie działać tylko wtedy, gdy włączono opcję Wszystkie sieci dostępu w sekcji Sieć zasobu Mowa. W innych przypadkach podczas próby uzyskania tokenu autoryzacji wystąpi albo błąd Forbidden, albo BadRequest.

Przykład użycia interfejsu API REST zamiany tekstu na mowę

Używamy Europy Zachodniej jako przykładowego regionu platformy Azure i my-private-link-speech.cognitiveservices.azure.com jako przykładowej nazwy DNS zasobu usługi Mowa (domena niestandardowa). Niestandardowa nazwa my-private-link-speech.cognitiveservices.azure.com domeny w naszym przykładzie należy do zasobu usługi Mowa utworzonego w regionie Europa Zachodnia.

Aby uzyskać listę głosów obsługiwanych w regionie, wykonaj następujące żądanie:

https://westeurope.tts.speech.microsoft.com/cognitiveservices/voices/list

Zobacz więcej szczegółów w dokumentacji REST API zamiany tekstu na mowę.

W przypadku zasobu mowy z obsługą prywatnego punktu końcowego adres URL dla tej samej operacji należy zmodyfikować. To samo żądanie wygląda następująco:

https://my-private-link-speech.cognitiveservices.azure.com/tts/cognitiveservices/voices/list

Szczegółowe wyjaśnienie można znaleźć w podsekcji Tworzenie adresu URL punktu końcowego dla zestawu Speech SDK.

Zasób mowy z niestandardową nazwą domeny i prywatnym punktem końcowym: użycie za pomocą zestawu Speech SDK

Korzystanie z zestawu SPEECH SDK z niestandardową nazwą domeny i zasobami rozpoznawania mowy z obsługą prywatnego punktu końcowego wymaga przejrzenia i prawdopodobnej zmiany kodu aplikacji.

W tej sekcji używamy my-private-link-speech.cognitiveservices.azure.com jako przykładowej nazwy DNS zasobu usługi Mowa (domena niestandardowa).

Konstruowanie adresu URL punktu końcowego

Zazwyczaj w scenariuszach SDK (a także w interfejsie API REST zamiany mowy na tekst w przypadku krótkiego audio oraz w interfejsie API REST zamiany tekstu na mowę), zasoby usługi korzystają z dedykowanych regionalnych endpointów dla różnych ofert serwisowych. Format nazwy DNS dla tych punktów końcowych to:

{region}.{speech service offering}.speech.microsoft.com

Przykładowa nazwa DNS to:

westeurope.stt.speech.microsoft.com

Wszystkie możliwe wartości regionu (pierwszy element nazwy DNS) są wymienione w obsługiwanych regionach usługi Mowa. (Zobacz ten artykuł dotyczący platformy Azure Government i platformy Azure obsługiwanej przez punkty końcowe 21Vianet). W poniższej tabeli przedstawiono możliwe wartości oferty usługi Mowa (drugi element nazwy DNS):

Wartość nazwy DNS Oferta usługi rozpoznawania mowy
commands Polecenia niestandardowe
s2s Tłumaczenie mowy
stt Zamiana mowy na tekst
tts Zamiana tekstu na mowę
voice Niestandardowy głos

Tak więc wcześniejszy przykład (westeurope.stt.speech.microsoft.com) oznacza punkt końcowy przekształcania mowy na tekst w Europie Zachodniej.

Prywatne punkty końcowe z obsługą punktu końcowego komunikują się z usługą Mowa za pośrednictwem specjalnego serwera proxy. W związku z tym należy zmienić adresy URL połączenia punktu końcowego.

Adres URL "standardowego" punktu końcowego wygląda następująco:

{region}.{speech service offering}.speech.microsoft.com/{URL path}

Prywatny adres URL punktu końcowego wygląda następująco:

{your custom name}.cognitiveservices.azure.com/{speech service offering}/{URL path}

Przykład 1. Aplikacja komunikuje się przy użyciu następującego adresu URL (rozpoznawanie mowy przy użyciu modelu podstawowego dla języka angielskiego USA w regionie Europa Zachodnia):

wss://westeurope.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=en-US

Aby użyć go w scenariuszu z obsługą prywatnego punktu końcowego, gdy niestandardowa nazwa domeny zasobu usługi Mowa to my-private-link-speech.cognitiveservices.azure.com, należy zmodyfikować adres URL w następujący sposób:

wss://my-private-link-speech.cognitiveservices.azure.com/stt/speech/recognition/conversation/cognitiveservices/v1?language=en-US

Zwróć uwagę na szczegóły:

  • Nazwa westeurope.stt.speech.microsoft.com hosta jest zastępowana przez niestandardową nazwę my-private-link-speech.cognitiveservices.azure.comhosta domeny .
  • Drugi element oryginalnej nazwy DNS (stt) staje się pierwszym elementem ścieżki adresu URL i poprzedza oryginalną ścieżkę. W związku z tym oryginalny adres URL /speech/recognition/conversation/cognitiveservices/v1?language=en-US staje się ./stt/speech/recognition/conversation/cognitiveservices/v1?language=en-US

Przykład 2. Aplikacja używa następującego adresu URL do syntezowania mowy w regionie Europa Zachodnia:

wss://westeurope.tts.speech.microsoft.com/cognitiveservices/websocket/v1

Następujący równoważny adres URL używa prywatnego punktu końcowego, w którym niestandardowa nazwa domeny zasobu usługi Mowa to my-private-link-speech.cognitiveservices.azure.com:

wss://my-private-link-speech.cognitiveservices.azure.com/tts/cognitiveservices/websocket/v1

Ta sama zasada w przykładzie 1 jest stosowana, ale tym razem kluczowym elementem jest tts.

Modyfikowanie aplikacji

Wykonaj następujące kroki, aby zmodyfikować kod:

  1. Określ adres URL punktu końcowego aplikacji:

    • Włącz rejestrowanie aplikacji i uruchom ją w celu rejestrowania aktywności.
    • W pliku dziennika wyszukaj ciąg SPEECH-ConnectionUrl. W pasujących wierszach parametr value zawiera pełny adres URL, którego Twoja aplikacja użyła do połączenia z usługą Mowa.

    Przykład:

    (114917): 41ms SPX_DBG_TRACE_VERBOSE:  property_bag_impl.cpp:138 ISpxPropertyBagImpl::LogPropertyAndValue: this=0x0000028FE4809D78; name='SPEECH-ConnectionUrl'; value='wss://westeurope.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?traffictype=spx&language=en-US'
    

    Dlatego adres URL używany w tym przykładzie przez aplikację to:

    wss://westeurope.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=en-US
    
  2. Utwórz wystąpienie SpeechConfig przy użyciu pełnego adresu URL punktu końcowego.

    1. Zmodyfikuj adres URL punktu końcowego ustalony zgodnie z opisem we wcześniejszej sekcji Konstruowanie adresu URL.

    2. Zmodyfikuj sposób tworzenia wystąpienia SpeechConfig. Najprawdopodobniej aplikacja używa czegoś podobnego do następującego:

      var config = SpeechConfig.FromSubscription(speechKey, azureRegion);
      

      Ten przykład nie działa dla zasobu głosu, który korzysta z prywatnego punktu końcowego, ze względu na zmiany w nazwie hosta i adresie URL, które opisaliśmy w poprzednich sekcjach. Jeśli spróbujesz uruchomić istniejącą aplikację bez żadnych modyfikacji przy użyciu klucza zasobu z obsługą prywatnego punktu końcowego, zostanie wyświetlony błąd uwierzytelniania (401).

      Aby to działało, zmodyfikuj sposób tworzenia instancji klasy SpeechConfig i użyj inicjalizacji "od punktu końcowego" lub "z punktem końcowym". Załóżmy, że zdefiniowano następujące dwie zmienne:

      • speechKey zawiera klucz zasobu rozpoznawania mowy z obsługą prywatnego punktu końcowego.
      • endPoint zawiera pełny zmodyfikowany adres URL punktu końcowego (przy użyciu typu wymaganego przez odpowiedni język programowania). W naszym przykładzie ta zmienna powinna zawierać następujące elementy:
        wss://my-private-link-speech.cognitiveservices.azure.com/stt/speech/recognition/conversation/cognitiveservices/v1?language=en-US
        

      Utwórz SpeechConfig wystąpienie:

      var config = SpeechConfig.FromEndpoint(endPoint, speechKey);
      
      auto config = SpeechConfig::FromEndpoint(endPoint, speechKey);
      
      SpeechConfig config = SpeechConfig.fromEndpoint(endPoint, speechKey);
      
      import azure.cognitiveservices.speech as speechsdk
      config = speechsdk.SpeechConfig(endpoint=endPoint, subscription=speechKey)
      
      SPXSpeechConfiguration *config = [[SPXSpeechConfiguration alloc] initWithEndpoint:endPoint subscription:speechKey];
      
      import * as sdk from "microsoft.cognitiveservices.speech.sdk";
      config: sdk.SpeechConfig = sdk.SpeechConfig.fromEndpoint(new URL(endPoint), speechKey);
      

Napiwek

Parametry zapytania określone w identyfikatorze URI punktu końcowego nie są zmieniane, nawet jeśli są ustawiane przez inne interfejsy API. Jeśli na przykład język rozpoznawania jest zdefiniowany w identyfikatorze URI jako parametr zapytania language=en-US, a także jest ustawiony na wartość ru-RU za pośrednictwem odpowiedniej właściwości, jest używane ustawienie języka w identyfikatorze URI. Efektywny język to .en-US

Parametry ustawione w identyfikatorze URI punktu końcowego zawsze mają pierwszeństwo. Inne interfejsy API mogą zastąpić tylko parametry, które nie zostały określone w URI punktu końcowego.

Po tej modyfikacji aplikacja powinna współpracować z zasobami usługi Mowa z obsługą prywatnego punktu końcowego. Pracujemy nad bardziej bezproblemową obsługą scenariuszy prywatnych punktów końcowych.

Korzystanie z usługi Speech Studio

Usługa Speech Studio to portal internetowy z narzędziami do tworzenia i integrowania usługi Rozpoznawanie mowy azure AI w aplikacji. Podczas pracy w projektach Speech Studio połączenia sieciowe i wywołania API do odpowiedniego zasobu Speech są wykonywane w Twoim imieniu. Praca z prywatnymi punktami końcowymi, punktami końcowymi usługi sieci wirtualnej i innymi opcjami zabezpieczeń sieci może ograniczyć dostępność funkcji usługi Speech Studio. Zwykle używasz programu Speech Studio podczas pracy z funkcjami, takimi jak niestandardowa mowa, niestandardowy głos oraz tworzenie zawartości audio.

Dotarcie do portalu internetowego usługi Speech Studio z sieci wirtualnej

Aby używać programu Speech Studio z maszyny wirtualnej w sieci wirtualnej platformy Azure, musisz zezwolić na połączenia wychodzące z wymaganym zestawem tagów usługi dla tej sieci wirtualnej. Więcej szczegółów można znaleźć tutaj.

Dostęp do punktu końcowego zasobu usługi Mowa nie jest równy dostępowi do portalu internetowego usługi Speech Studio. Dostęp do portalu internetowego Speech Studio za pośrednictwem prywatnych punktów końcowych lub punktów końcowych sieci wirtualnej nie jest obsługiwany.

Praca z projektami usługi Speech Studio

W tej sekcji opisano pracę z różnymi rodzajami projektów usługi Speech Studio dla różnych opcji zabezpieczeń sieciowych zasobu usługi Mowa. Oczekuje się, że zostanie nawiązane połączenie przeglądarki internetowej z usługą Speech Studio. Ustawienia zabezpieczeń sieci zasobów mowy są konfigurowane w portalu Azure.

  1. Przejdź do witryny Azure Portal i zaloguj się na swoje konto platformy Azure.
  2. Wybierz zasób Mowy.
  3. W grupie Zarządzanie zasobami w okienku po lewej stronie wybierz pozycję wirtualne.
  4. Wybierz jedną opcję w obszarze Wszystkie sieci, Wybrane sieci i prywatne punkty końcowe lub Wyłączone.

Tworzenie niestandardowej mowy, głosu niestandardowego i zawartości audio

W poniższej tabeli opisano dostępność projektów niestandardowych dla mowy/głosu/zawartości audio w zależności od ustawień zabezpieczeń sieciowych Sieciowanie>Zapory sieciowe i sieci wirtualne dla zasób usługi Speech.

Uwaga

Jeśli zezwalasz tylko na prywatne punkty końcowe za pośrednictwem zakładki Sieć>Połączenia prywatnych punktów końcowych, nie możesz używać Studio mowy z zasobem Speech. Nadal możesz używać zasobu usługi Mowa poza programem Speech Studio.

Ustawienie zabezpieczeń sieci zasobów mowy Dostępność projektu Speech Studio
Wszystkie sieci Brak ograniczeń
Wybrane sieci i prywatne punkty końcowe Dostępny z dozwolonych publicznych adresów IP
Wyłączony Niedostępny

Jeśli wybierzesz pozycję Wybrane sieci i prywatne punkty końcowe, zostanie wyświetlona karta z opcjami konfiguracji sieci wirtualnych i dostępem do zapory. W sekcji Zapora musisz zezwolić na co najmniej jeden publiczny adres IP i użyć tego adresu dla połączenia przeglądarki z usługą Speech Studio.

Jeśli zezwolisz tylko na dostęp za pośrednictwem sieci wirtualnej, w efekcie nie zezwalasz na dostęp do zasobu usługi Mowa za pośrednictwem usługi Speech Studio. Nadal możesz używać zasobu usługi Mowa poza programem Speech Studio.

Aby używać mowy niestandardowej bez złagodzenia ograniczeń dostępu do sieci w zasobie usługi Mowa w środowisku produkcyjnym, rozważ jedno z tych obejść.

  • Utwórz kolejny zasób usługi Mowa do wykorzystania w celach rozwojowych, który może być używany w sieci publicznej. Przygotuj model niestandardowy w usłudze Speech Studio na zasobie deweloperskim, a następnie skopiuj model do zasobu produkcyjnego. Zobacz żądanie REST Models_CopyTo z REST API przekształcania mowy w tekst.
  • Możesz nie używać programu Speech Studio na potrzeby mowy niestandardowej. Użyj interfejsu API REST przetwarzania mowy na tekst dla wszystkich operacji niestandardowej mowy.

Aby używać niestandardowego głosu bez złagodzenia ograniczeń dostępu do sieci w środowisku produkcyjnym usługi Mowa, rozważ użycie niestandardowego interfejsu API REST głosu dla wszystkich niestandardowych operacji głosowych.

Dostosowanie aplikacji do używania zasobu AI Foundry do Mowy bez użycia prywatnych punktów końcowych

W tym artykule zanotowaliśmy kilka razy, że włączenie domeny niestandardowej dla zasobu usługi Mowa w usłudze AI Foundry jest nieodwracalne. Taki zasób używa innego sposobu komunikowania się z usługą rozpoznawania mowy w porównaniu z tymi, które korzystają z regionalnych punktów końcowych.

W tej sekcji wyjaśniono, jak używać zasobu usługi AI Foundry dla usługi Mowa z niestandardową nazwą domeny, ale bez żadnych prywatnych punktów końcowych z interfejsami API REST usługi Mowa i zestawem SPEECH SDK. Może to być zasób, który był kiedyś używany w scenariuszu prywatnego punktu końcowego, ale jego prywatne punkty końcowe zostały usunięte.

Konfiguracja DNS

Pamiętaj, jak niestandardowa nazwa DNS domeny zasobu rozpoznawania mowy z obsługą prywatnego punktu końcowego jest rozpoznawana z sieci publicznych. W takim przypadku adres IP wskazuje na punkt końcowy serwera proxy sieci wirtualnej. Ten punkt końcowy jest używany do wysyłania ruchu sieciowego do zasobu usługi Azure AI Foundry z obsługą prywatnego punktu końcowego.

Jeśli jednak wszystkie prywatne punkty końcowe zasobu zostaną usunięte (lub bezpośrednio po włączeniu niestandardowej nazwy domeny), rekord CNAME zasobu usługi Mowa zostanie ponownie aprowizacji. Teraz wskazuje adres IP odpowiedniego regionalnego punktu końcowego usług azure AI.

Dane wyjściowe nslookup polecenia wyglądają następująco:

C:\>nslookup my-private-link-speech.cognitiveservices.azure.com
Server:  UnKnown
Address:  fe80::1

Non-authoritative answer:
Name:    apimgmthskquihpkz6d90kmhvnabrx3ms3pdubscpdfk1tsx3a.cloudapp.net
Address:  13.93.122.1
Aliases:  my-private-link-speech.cognitiveservices.azure.com
          westeurope.api.cognitive.microsoft.com
          cognitiveweprod.trafficmanager.net
          cognitiveweprod.azure-api.net
          apimgmttmdjylckcx6clmh2isu2wr38uqzm63s8n4ub2y3e6xs.trafficmanager.net
          cognitiveweprod-westeurope-01.regional.azure-api.net

Porównaj je z danymi wyjściowymi z tej sekcji.

Zasób mowy z niestandardową nazwą domeny i bez prywatnych punktów końcowych: użycie za pomocą interfejsów API REST

Interfejs REST API konwersji mowy na tekst

Użycie interfejsu API REST zamiany mowy na tekst jest w pełni równoważne przypadku zasobów mowy z obsługą prywatnego punktu końcowego.

Interfejs API REST zamiany mowy na tekst dla krótkiego dźwięku i zamiany tekstu na mowę

W tym przypadku użycie interfejsu API REST zamiany mowy na tekst dla krótkiego dźwięku i interfejsu API REST zamiany tekstu na mowę nie różni się od ogólnego przypadku, z jednym wyjątkiem. (Zobacz następującą notatkę.) Oba interfejsy API należy używać zgodnie z opisem w dokumentacji REST API zamiany mowy na tekst dla krótkich nagrań audio i REST API zamiany tekstu na mowę.

Uwaga

Gdy używasz interfejsu API REST zamiany mowy na tekst dla krótkich nagrań audio oraz interfejsu API REST zamiany tekstu na mowę w scenariuszach z niestandardową domeną, użyj klucza API przekazywanego przez nagłówek Ocp-Apim-Subscription-Key. (Zobacz szczegóły dotyczące interfejsu API REST zamiany mowy na tekst dla krótkiego audio i interfejsu API REST zamiany tekstu na mowę)

Użycie tokenu autoryzacji i przekazanie go do specjalnego punktu końcowego za pośrednictwem Authorization nagłówka będzie działać tylko wtedy, gdy włączono opcję Wszystkie sieci dostępu w sekcji Sieć zasobu Mowa. W innych przypadkach podczas próby uzyskania tokenu autoryzacji wystąpi albo błąd Forbidden, albo BadRequest.

Zasób usługi Mowa z niestandardową nazwą domeny i bez prywatnych punktów końcowych: użycie przy użyciu zestawu Speech SDK

Używanie Speech SDK z zasobami rozpoznawania mowy, które obsługują domeny niestandardowe bez prywatnych punktów dostępu, jest równoważne ogólnemu przypadkowi, jak opisano w dokumentacji Speech SDK.

Jeśli zmodyfikowałeś swój kod do użycia z zasobem mowy obsługującym prywatny punkt końcowy, rozważ następujące kwestie.

W sekcji dotyczącej zasobów rozpoznawania mowy z obsługą prywatnego punktu końcowego wyjaśniliśmy, jak określić adres URL punktu końcowego, zmodyfikować go i sprawić, że działa on za pomocą inicjowania SpeechConfig wystąpienia klasy "from endpoint"/"with endpoint".

Jeśli jednak spróbujesz uruchomić tę samą aplikację po usunięciu wszystkich prywatnych punktów końcowych (co pozwoli trochę czasu na ponowne aprowizowanie odpowiedniego rekordu DNS), zostanie wyświetlony wewnętrzny błąd usługi (404). Przyczyną jest to, że rekord DNS teraz wskazuje na regionalny punkt końcowy usług Azure AI zamiast serwera proxy sieci wirtualnej, a ścieżki adresu URL, takie jak , nie można tam znaleźć.

Musisz przywrócić aplikację do standardowego wystąpienia SpeechConfig zgodnie ze stylem poniższego kodu.

var config = SpeechConfig.FromSubscription(speechKey, azureRegion);

Jednoczesne korzystanie z prywatnych punktów końcowych i punktów końcowych usługi sieci wirtualnej

Możesz użyć prywatnych punktów końcowych i punktów końcowych usługi sieci wirtualnej, aby jednocześnie uzyskać dostęp do tego samego zasobu usługi rozpoznawania mowy. Aby włączyć to jednoczesne użycie, należy użyć opcji Wybrane sieci i prywatne punkty końcowe w ustawieniach sieci zasobu usługi Mowa w witrynie Azure Portal. Inne opcje nie są obsługiwane w tym scenariuszu.

Cennik

Aby uzyskać szczegółowe informacje o cenach, zobacz Cennik usługi Azure Private Link.

Dowiedz się więcej