Konuşma hizmetini özel uç nokta üzerinden kullanma
Azure Özel Bağlantı, özel uç nokta kullanarak Azure'daki hizmetlere bağlanmanızı sağlar. Özel uç nokta, yalnızca belirli bir sanal ağ ve alt ağ içinde erişilebilen özel bir IP adresidir.
Bu makalede Konuşma hizmetiyle Özel Bağlantı ve özel uç noktaları ayarlama ve kullanma işlemleri açıklanmaktadır. Bu makalede daha sonra özel uç noktaların nasıl kaldırılacağı açıklanır, ancak konuşma kaynağını kullanmaya devam eder.
Not
Devam etmeden önce Azure AI hizmetleriyle sanal ağların nasıl kullanılacağını gözden geçirin.
Özel uç nokta senaryoları için konuşma kaynağı ayarlamak için aşağıdaki görevlerin gerçekleştirilmesi gerekir:
Özel uç noktalar ve Sanal Ağ hizmet uç noktaları
Azure, özel Azure omurga ağı üzerinden tünel oluşturan trafik için özel uç noktalar ve Sanal Ağ hizmet uç noktaları sağlar. Bu uç nokta türlerinin amacı ve temel teknolojileri benzerdir. Ancak iki teknoloji arasında farklılıklar vardır. Ağınızı tasarlamadan önce her ikisinin artıları ve dezavantajları hakkında bilgi edinmenizi öneririz.
Hangi teknolojiyi kullanacağınıza karar vermeniz durumunda göz önünde bulundurmanız gereken birkaç şey vardır:
- Her iki teknoloji de sanal ağ ile Konuşma kaynağı arasındaki trafiğin genel İnternet üzerinden seyahat etmemesini sağlar.
- Özel uç nokta, Konuşma kaynağınız için ayrılmış bir özel IP adresi sağlar. Bu IP adresine yalnızca belirli bir sanal ağ ve alt ağ içinden erişilebilir. Ağ altyapınızda bu IP adresine erişim konusunda tam denetime sahipsiniz.
- Sanal Ağ hizmet uç noktaları Konuşma kaynağı için ayrılmış bir özel IP adresi sağlamaz. Bunun yerine Konuşma kaynağına gönderilen tüm paketleri kapsüller ve doğrudan Azure omurga ağı üzerinden teslim ederler.
- Her iki teknoloji de şirket içi senaryoları destekler. Varsayılan olarak, Sanal Ağ hizmet uç noktalarını kullandıklarında, sanal ağlara güvenli hale getirilen Azure hizmet kaynaklarına şirket içi ağlardan ulaşılamaz. Ama bu davranışı değiştirebilirsiniz.
- Sanal Ağ hizmet uç noktaları genellikle konuşma kaynağının erişimini trafiğin kaynaklandığı sanal ağlara göre kısıtlamak için kullanılır.
- Azure AI hizmetlerinde, Sanal Ağ hizmet uç noktasının etkinleştirilmesi, tüm Azure AI hizmetleri kaynaklarının trafiğini özel omurga ağından geçmesine zorlar. Bunun için açık ağ erişim yapılandırması gerekir. (Daha fazla bilgi için bkz. Sanal ağları ve Konuşma kaynağı ağ ayarlarını yapılandırın.) Özel uç noktaların bu sınırlaması yoktur ve ağ yapılandırmanız için daha fazla esneklik sağlar. Aynı sanal ağın aynı alt ağını kullanarak özel omurga üzerinden bir kaynağa ve genel İnternet üzerinden başka bir kaynağa erişebilirsiniz.
- Özel uç noktalar ek maliyetler doğurabilir. Sanal Ağ hizmet uç noktaları ücretsizdir.
- Özel uç noktalar için ek DNS yapılandırması gerekir.
- Tek Konuşma kaynağı hem özel uç noktalarla hem de Sanal Ağ hizmet uç noktalarıyla aynı anda çalışabilir.
Üretim tasarımınız hakkında karar vermeden önce her iki uç nokta türünü de denemenizi öneririz.
Daha fazla bilgi edinmek için şu kaynaklara bakın:
Bu makalede Konuşma hizmeti ile özel uç noktaların kullanımı açıklanmaktadır. Sanal ağ hizmet uç noktalarının kullanımı burada açıklanmıştır.
Özel etki alanı adı oluşturma
Dikkat
Özel etki alanı adı etkinleştirilmiş konuşma kaynağı, Konuşma hizmetiyle etkileşim kurmanın farklı bir yolunu kullanır. Bu senaryoların her ikisi için de uygulama kodunuzu ayarlamanız gerekebilir: özel uç noktayla ve özel uç nokta olmadan.
Konuşma kaynağınız için Azure AI hizmetleri için özel bir alt etki alanı adı oluşturmak için bu adımları izleyin.
Dikkat
Özel bir etki alanı adını açtığınızda, işlem geri alınamaz. Bölgesel ada geri dönmenin tek yolu yeni bir Konuşma kaynağı oluşturmaktır.
Konuşma kaynağınızda Speech Studio aracılığıyla oluşturulmuş çok sayıda ilişkili özel model ve proje varsa, üretimde kullanılan kaynağı değiştirmeden önce yapılandırmayı bir test kaynağıyla denemenizi kesinlikle öneririz.
Azure portalını kullanarak özel etki alanı adı oluşturmak için şu adımları izleyin:
Azure portalına gidin ve Azure hesabınızla oturum açın.
Gerekli Konuşma kaynağını seçin.
Sol bölmedeki Kaynak Yönetimi grubunda Ağ'ı seçin.
Güvenlik duvarları ve sanal ağlar sekmesinde Özel Etki Alanı Adı Oluştur'a tıklayın. Kaynağınız için benzersiz bir özel alt etki alanı oluşturma yönergelerini içeren yeni bir sağ panel görüntülenir.
Özel Etki Alanı Adı Oluştur paneline özel bir etki alanı adı girin. Tam özel etki alanınız şöyle görünür:
https://{your custom name}.cognitiveservices.azure.com
.Özel bir etki alanı adı oluşturduktan sonra değiştirilemeyeceğini unutmayın.
Özel etki alanı adınızı girdikten sonra Kaydet'i seçin.
İşlem tamamlandıktan sonra Kaynak yönetimi grubunda Anahtarlar ve Uç Nokta'yı seçin. Kaynağınızın yeni uç nokta adının şu şekilde başladığını onaylayın:
https://{your custom name}.cognitiveservices.azure.com
.
Özel uç noktaları açma
Özel uç noktalar için gerekli güncelleştirmelerle sanal ağa bağlı özel DNS bölgesini kullanmanızı öneririz. Sağlama işlemi sırasında özel bir DNS bölgesi oluşturabilirsiniz. Kendi DNS sunucunuzu kullanıyorsanız DNS yapılandırmanızı da değiştirmeniz gerekebilir.
Üretim Konuşma kaynağı için özel uç noktalar sağlamadan önce dns stratejisine karar verin. Ayrıca, özellikle kendi DNS sunucunuzu kullanıyorsanız DNS değişikliklerinizi test edin.
Özel uç noktalar oluşturmak için aşağıdaki makalelerden birini kullanın. Bu makalelerde, özel uç noktalar aracılığıyla kullanılabilir hale getirmek için örnek kaynak olarak bir web uygulaması kullanılır.
- Azure portalını kullanarak özel uç nokta oluşturma
- Azure PowerShell kullanarak özel uç nokta oluşturma
- Azure CLI kullanarak özel uç nokta oluşturma
Seçtiğiniz makaledeki parametreler yerine şu parametreleri kullanın:
Ayar | Value |
---|---|
Kaynak türü | Microsoft.CognitiveServices/accounts |
Kaynak | <your-speech-resource-name> |
Target sub-resource | hesap |
Özel uç noktalar için DNS: Azure AI hizmetleri kaynaklarındaki özel uç noktalar için DNS'nin genel ilkelerini gözden geçirin. Ardından, aşağıdaki bölümlerde açıklanan denetimleri gerçekleştirerek DNS yapılandırmanızın düzgün çalıştığını onaylayın.
Sanal ağdan DNS'yi çözümleme
Bu denetim gereklidir.
Sanal ağınızdan özel DNS girişini test etmek için şu adımları izleyin:
Özel uç noktanızı eklediğiniz sanal ağda bulunan bir sanal makinede oturum açın.
Bir Windows komut istemi veya Bash kabuğu açın, komutunu çalıştırın
nslookup
ve kaynağınızın özel etki alanı adını başarıyla çözümlediğini onaylayın.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
IP adresinin özel uç noktanızın IP adresiyle eşleştiğinden emin olun.
Diğer ağlardan DNS'i çözümleme
Bu denetimi yalnızca kaynağınızın Ağ bölümünde Tüm ağlar seçeneğini veya Seçili Ağlar ve Özel Uç Noktalar erişim seçeneğini açtıysanız gerçekleştirin.
Kaynağa yalnızca özel bir uç nokta kullanarak erişmeyi planlıyorsanız, bu bölümü atlayabilirsiniz.
Kaynağa erişmesine izin verilen ağa bağlı bir bilgisayarda oturum açın.
Bir Windows komut istemi veya Bash kabuğu açın, komutunu çalıştırın
nslookup
ve kaynağınızın özel etki alanı adını başarıyla çözümlediğini onaylayın.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
Not
Çözümlenen IP adresi, ağ trafiğini Konuşma kaynağının özel uç noktasına dağıtan bir sanal ağ proxy uç noktasına işaret eder. Davranış, özel etki alanı adına sahip ancak özel uç noktaları olmayan bir kaynak için farklı olacaktır. Ayrıntılar için bu bölüme bakın.
Uygulamayı özel uç nokta ile Konuşma kaynağı kullanacak şekilde ayarlama
Özel etki alanına sahip bir Konuşma kaynağı Konuşma hizmetiyle farklı bir şekilde etkileşim kurar. Özel uç noktaları olan ve olmayan özel etki alanı etkin konuşma kaynağı için bu durum geçerlidir. Bu bölümdeki bilgiler her iki senaryo için de geçerlidir.
Var olan uygulamaları ve çözümleri özel etki alanı adı ve özel uç nokta açık konuşma kaynağı kullanacak şekilde ayarlamak için bu bölümdeki yönergeleri izleyin.
Özel etki alanı adı ve özel uç nokta açık olan konuşma kaynağı, Konuşma hizmetiyle etkileşim kurmanın farklı bir yolunu kullanır. Bu bölümde, konuşma hizmeti REST API'leri ve Konuşma SDK'sı ile bu tür bir kaynağın nasıl kullanılacağı açıklanmaktadır.
Not
Özel etki alanı adı kullanan özel uç noktaları olmayan konuşma kaynağı, Konuşma hizmetiyle etkileşim kurmanın özel bir yoluna da sahiptir. Bu yöntem, özel uç nokta kullanan konuşma kaynağının senaryosundan farklıdır. Bu, daha sonra özel uç noktaları kaldırmaya karar verebileceği için göz önünde bulundurmanız önemlidir. Bu makalenin devamında Özel uç noktaları olmayan konuşma kaynağını kullanmak için bir uygulamayı ayarlama bölümüne bakın.
Özel etki alanı adı ve özel uç nokta içeren konuşma kaynağı: REST API'leri ile kullanım
Bu bölüm için örnek konuşma kaynağı DNS adı (özel etki alanı) olarak kullanıyoruz my-private-link-speech.cognitiveservices.azure.com
.
Konuşma hizmetinde Konuşmayı metne dönüştürme ve Metin okuma için REST API'leri vardır. Özel uç nokta özellikli senaryo için aşağıdaki bilgileri göz önünde bulundurun.
Metne konuşma iki REST API'sine sahiptir. Her API farklı bir amaca hizmet eder, farklı uç noktalar kullanır ve özel uç nokta özellikli senaryoda kullanırken farklı bir yaklaşım gerektirir.
Konuşmayı metne dönüştürme REST API'leri şunlardır:
- Batch transkripsiyonu ve özel konuşma için kullanılan metne konuşma REST API'si.
- Metne gerçek zamanlı konuşma için kullanılan kısa ses için metne konuşma REST API'si.
Kısa ses için Konuşmayı metne dönüştürme REST API'sinin kullanımı ve özel uç nokta senaryosunda Metin okuma REST API'sinin kullanımı aynıdır. Bu makalenin devamında açıklanan Konuşma SDK'sı olayıyla eşdeğerdir.
Metne konuşma REST API'sinde farklı bir uç nokta kümesi kullanıldığından, özel uç nokta özellikli senaryo için farklı bir yaklaşım gerektirir.
Sonraki alt bölümlerde her iki durum da açıklanmaktadır.
Konuşmayı metne dönüştürme REST API'si
Konuşma kaynakları genellikle Konuşmayı metne dönüştürme REST API'siyle iletişim kurmak için Azure AI hizmetleri bölgesel uç noktalarını kullanır. Bu kaynaklar şu adlandırma biçimine sahiptir:
{region}.api.cognitive.microsoft.com
.
Bu örnek bir istek URL'sidir:
https://westeurope.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions
Not
21Vianet uç noktaları tarafından sağlanan Azure Kamu ve Microsoft Azure için bu makaleye bakın.
Konuşma kaynağı için özel bir etki alanını etkinleştirdikten sonra (özel uç noktalar için gereklidir), bu kaynak temel REST API uç noktası için aşağıdaki DNS adı desenini kullanır:
{your custom name}.cognitiveservices.azure.com
Bu, örneğimizde REST API uç noktası adının şu olduğu anlamına gelir:
my-private-link-speech.cognitiveservices.azure.com
Örnek istek URL'sinin şu şekilde dönüştürülmesi gerekir:
https://my-private-link-speech.cognitiveservices.azure.com/speechtotext/v3.1/transcriptions
Bu URL'ye özel uç nokta ekli sanal ağdan erişilebilir olmalıdır (doğru DNS çözümlemesi sağlanmıştır).
Konuşma kaynağı için özel etki alanı adını etkinleştirdikten sonra, genellikle tüm istek URL'lerindeki ana bilgisayar adını yeni özel etki alanı ana bilgisayar adıyla değiştirirsiniz. İsteğin diğer tüm bölümleri (önceki örnekteki yol /speechtotext/v3.1/transcriptions
gibi) aynı kalır.
İpucu
Bazı müşteriler, bölgesel uç noktanın DNS adının bölge bölümünü kullanan uygulamalar geliştirir (örneğin, isteği belirli Bir Azure bölgesine dağıtılan Konuşma kaynağına göndermek için).
Konuşma kaynağı için özel etki alanı, kaynağın dağıtıldığı bölge hakkında bilgi içermez. Bu nedenle daha önce açıklanan uygulama mantığı çalışmaz ve değiştirilmesi gerekir.
Kısa ses için konuşmayı metne dönüştürme REST API'si ve Metin okuma REST API'si
Kısa ses için Konuşmayı metne dönüştürme REST API'si ve Metin okuma REST API'sinde iki tür uç nokta kullanılır:
- Yetkilendirme belirteci almak için Azure AI hizmetleri REST API'siyle iletişim kurmak için Azure AI hizmetleri bölgesel uç noktaları
- Diğer tüm işlemler için özel uç noktalar
Not
21Vianet uç noktaları tarafından sağlanan Azure Kamu ve Azure için bu makaleye bakın.
Özel uç noktaların ayrıntılı açıklaması ve özel uç nokta özellikli konuşma kaynağı için URL'lerinin nasıl dönüştürülmesi gerektiği, Konuşma SDK'sı ile kullanımla ilgili bu alt bölümde verilmiştir. SDK için açıklanan ilke kısa ses için Konuşmayı metne dönüştürme REST API'sinde ve Metin okuma REST API'sinde de geçerlidir.
Önceki paragrafta belirtilen alt bölümdeki malzemeyi tanıyın ve aşağıdaki örne bakın. Örnek, Metin okuma REST API'sini açıklar. Kısa ses için Konuşmayı metne dönüştürme REST API'sinin kullanımı tamamen eşdeğerdir.
Not
Kısa ses için Konuşmayı metne dönüştürme REST API'sini ve özel uç nokta senaryolarında Metin okuma REST API'sini Ocp-Apim-Subscription-Key
kullanırken üst bilgiden geçirilen bir kaynak anahtarı kullanın. (Ayrıntılara bakınKısa ses için konuşmayı metne dönüştürme REST API'si ve Metin okuma REST API'si)
Yetkilendirme belirteci kullanmak ve üst bilgi aracılığıyla Authorization
özel uç noktaya geçirmek, yalnızca Konuşma kaynağınızın Ağ bölümündeki Tüm ağlar erişimi seçeneğini açtıysanız çalışır. Diğer durumlarda yetkilendirme belirtecini almaya çalışırken ya da Forbidden
BadRequest
hata alırsınız.
Metin okuma REST API kullanımı örneği
Batı Avrupa'dan örnek bir Azure bölgesi ve my-private-link-speech.cognitiveservices.azure.com
örnek konuşma kaynağı DNS adı (özel etki alanı) olarak yararlanıyoruz. Örneğimizdeki özel etki alanı adı my-private-link-speech.cognitiveservices.azure.com
, Batı Avrupa bölgesinde oluşturulan Konuşma kaynağına aittir.
Bölgede desteklenen seslerin listesini almak için aşağıdaki isteği gerçekleştirin:
https://westeurope.tts.speech.microsoft.com/cognitiveservices/voices/list
Metin okuma REST API'sinin belgelerindeki diğer ayrıntılara bakın.
Özel uç nokta özellikli Konuşma kaynağı için aynı işlemin uç nokta URL'sinin değiştirilmesi gerekir. Aynı istek şuna benzer:
https://my-private-link-speech.cognitiveservices.azure.com/tts/cognitiveservices/voices/list
Konuşma SDK'sı için Uç nokta URL'si oluşturma alt bölümünde ayrıntılı bir açıklamaya bakın.
Özel etki alanı adı ve özel uç nokta içeren konuşma kaynağı: Konuşma SDK'sı ile kullanım
Konuşma SDK'sını özel etki alanı adı ve özel uç nokta özellikli Konuşma kaynaklarıyla kullanmak için uygulama kodunuzu gözden geçirmeniz ve büyük olasılıkla değiştirmeniz gerekir.
Bu bölüm için örnek konuşma kaynağı DNS adı (özel etki alanı) olarak kullanıyoruz my-private-link-speech.cognitiveservices.azure.com
.
Uç nokta URL'si oluşturma
Genellikle SDK senaryolarında (ve kısa ses ve metin okuma REST API senaryoları için konuşmayı metne dönüştürme REST API'sinde), Konuşma kaynakları farklı hizmet teklifleri için ayrılmış bölgesel uç noktaları kullanır. Bu uç noktaların DNS adı biçimi:
{region}.{speech service offering}.speech.microsoft.com
Örnek dns adı:
westeurope.stt.speech.microsoft.com
Bölge için tüm olası değerler (DNS adının ilk öğesi) Konuşma hizmeti tarafından desteklenen bölgelerde listelenir. (21Vianet uç noktaları tarafından sağlanan Azure Kamu ve Azure için bu makaleye bakın.) Aşağıdaki tabloda Konuşma hizmeti teklifi (DNS adının ikinci öğesi) için olası değerler gösterilir:
DNS adı değeri | Konuşma hizmeti teklifi |
---|---|
commands |
Özel Komutlar |
convai |
Toplantı Transkripsiyonu |
s2s |
Konuşma Çevirisi |
stt |
Konuşmayı metne dönüştürme |
tts |
Metin okuma |
voice |
Özel ses |
Bu nedenle, önceki örnek (westeurope.stt.speech.microsoft.com
) Batı Avrupa'da bir Konuşmayı metne dönüştürme uç noktasını ifade etmiştir.
Özel uç nokta özellikli uç noktalar konuşma hizmetiyle özel bir ara sunucu aracılığıyla iletişim kurar. Bu nedenle uç nokta bağlantı URL'lerini değiştirmeniz gerekir.
"Standart" uç nokta URL'si şöyle görünür:
{region}.{speech service offering}.speech.microsoft.com/{URL path}
Özel uç nokta URL'si şöyle görünür:
{your custom name}.cognitiveservices.azure.com/{speech service offering}/{URL path}
Örnek 1. Bir uygulama aşağıdaki URL'yi kullanarak iletişim kuruyor (Batı Avrupa'da ABD İngilizcesi için temel modeli kullanarak konuşma tanıma):
wss://westeurope.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=en-US
Konuşma kaynağının my-private-link-speech.cognitiveservices.azure.com
özel etki alanı adı olduğunda bunu özel uç nokta özellikli senaryoda kullanmak için URL'yi şu şekilde değiştirmeniz gerekir:
wss://my-private-link-speech.cognitiveservices.azure.com/stt/speech/recognition/conversation/cognitiveservices/v1?language=en-US
Ayrıntılara dikkat edin:
- Konak adı
westeurope.stt.speech.microsoft.com
, özel etki alanı ana bilgisayar adımy-private-link-speech.cognitiveservices.azure.com
ile değiştirilir. - Özgün DNS adının (
stt
) ikinci öğesi, URL yolunun ilk öğesi olur ve özgün yoldan önce gelir. Böylece özgün URL/speech/recognition/conversation/cognitiveservices/v1?language=en-US
olur/stt/speech/recognition/conversation/cognitiveservices/v1?language=en-US
.
Örnek 2. Bir uygulama Batı Avrupa'da konuşma sentezlemek için aşağıdaki URL'yi kullanır:
wss://westeurope.tts.speech.microsoft.com/cognitiveservices/websocket/v1
Aşağıdaki eşdeğer URL, Konuşma kaynağının my-private-link-speech.cognitiveservices.azure.com
özel etki alanı adının olduğu özel bir uç nokta kullanır:
wss://my-private-link-speech.cognitiveservices.azure.com/tts/cognitiveservices/websocket/v1
Örnek 1'de aynı ilke uygulanır, ancak bu kez anahtar öğesi olur tts
.
Uygulamaları değiştirme
Kodunuzu değiştirmek için şu adımları izleyin:
Uygulama uç noktası URL'sini belirleyin:
- Uygulamanız için günlüğe kaydetmeyi açın ve günlük etkinliğinde çalıştırın.
- Günlük dosyasında için
SPEECH-ConnectionUrl
arama yapın. Eşleşen satırlarda parametresi,value
uygulamanızın Konuşma hizmetine ulaşmak için kullandığı tam URL'yi içerir.
Örnek:
(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'
Bu nedenle, uygulamanın bu örnekte kullandığı URL şöyledir:
wss://westeurope.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=en-US
SpeechConfig
Tam uç nokta URL'sini kullanarak örnek oluşturun:Önceki Uç nokta URL'sini oluşturma bölümünde açıklandığı gibi, saptadığınız uç noktayı değiştirin.
örneğini
SpeechConfig
oluşturma şeklinizi değiştirin. Büyük olasılıkla uygulamanız aşağıdakine benzer bir şey kullanıyordur:var config = SpeechConfig.FromSubscription(speechKey, azureRegion);
Bu örnek, önceki bölümlerde açıkladığımız konak adı ve URL değişiklikleri nedeniyle özel uç nokta özellikli konuşma kaynağı için çalışmaz. Özel uç nokta özellikli bir kaynağın anahtarını kullanarak mevcut uygulamanızı herhangi bir değişiklik yapmadan çalıştırmayı denerseniz, kimlik doğrulama hatası (401) alırsınız.
Bunun çalışmasını sağlamak için sınıfın örneğini
SpeechConfig
oluşturma şeklinizi değiştirin ve "uç noktadan"/"uç nokta ile" başlatmasını kullanın. Aşağıdaki iki değişkenin tanımlandığını varsayalım:speechKey
özel uç nokta özellikli Konuşma kaynağının anahtarını içerir.endPoint
tam değiştirilmiş uç nokta URL'sini içerir (ilgili programlama dilinin gerektirdiği türü kullanarak). Örneğimizde bu değişken şunları içermelidir:wss://my-private-link-speech.cognitiveservices.azure.com/stt/speech/recognition/conversation/cognitiveservices/v1?language=en-US
SpeechConfig
Örnek oluşturma: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);
İpucu
Uç nokta URI'sinde belirtilen sorgu parametreleri, diğer API'ler tarafından ayarlansa bile değiştirilmez. Örneğin, tanıma dili URI'de sorgu parametresi language=en-US
olarak tanımlanırsa ve ilgili özellik aracılığıyla da olarak ayarlanırsa ru-RU
, URI'deki dil ayarı kullanılır. Etkili dil o zaman en-US
olur.
Uç nokta URI'sinde ayarlanan parametreler her zaman önceliklidir. Diğer API'ler yalnızca uç nokta URI'sinde belirtilmeyen parametreleri geçersiz kılabilir.
Bu değişiklik sonrasında uygulamanız özel uç nokta özellikli Konuşma kaynaklarıyla çalışmalıdır. Özel uç nokta senaryoları için daha sorunsuz destek üzerinde çalışıyoruz.
Speech Studio kullanımı
Speech Studio , azure yapay zeka konuşma hizmetini uygulamanızda derlemeye ve tümleştirmeye yönelik araçlar içeren bir web portalıdır. Speech Studio projelerinde çalışırken, ağ bağlantıları ve ilgili Konuşma kaynağına API çağrıları sizin yerinize yapılır. Özel uç noktalar, sanal ağ hizmet uç noktaları ve diğer ağ güvenlik seçenekleriyle çalışmak Speech Studio özelliklerinin kullanılabilirliğini sınırlayabilir. Özel konuşma, Özel sinir sesi ve Ses İçeriği Oluşturma gibi özelliklerle çalışırken normalde Speech Studio kullanırsınız.
Sanal ağdan Speech Studio web portalına ulaşma
Azure Sanal ağındaki bir sanal makineden Speech Studio kullanmak için, bu sanal ağ için gerekli hizmet etiketleri kümesine giden bağlantılara izin vermelisiniz. Ayrıntılar için buraya bakın.
Konuşma kaynak uç noktasına erişim, Speech Studio web portalına erişime eşit değildir . Özel veya Sanal Ağ hizmet uç noktaları aracılığıyla Speech Studio web portalına erişim desteklenmez.
Speech Studio projeleriyle çalışma
Bu bölümde, Konuşma kaynağının farklı ağ güvenlik seçenekleri için farklı türdeki Speech Studio projeleriyle çalışma açıklanmaktadır. Speech Studio'ya web tarayıcısı bağlantısının kurulması beklenir. Konuşma kaynağı ağ güvenlik ayarları Azure portalında ayarlanır.
- Azure portalına gidin ve Azure hesabınızla oturum açın.
- Konuşma kaynağını seçin.
- Sol bölmedeki Kaynak Yönetimi grubunda Ağ>Güvenlik Duvarları ve sanal ağlar'ı seçin.
- Tüm ağlar, Seçili Ağlar ve Özel Uç Noktalar veya Devre Dışı seçeneklerinden birini belirleyin.
Özel konuşma, Özel ses ve Ses İçeriği Oluşturma
Aşağıdaki tabloda Konuşma kaynağı ağ>güvenlik duvarları ve sanal ağlar güvenlik ayarına göre özel konuşma/özel ses/ses içeriği oluşturma projesi erişilebilirliği açıklanmaktadır.
Not
Ağ>Özel uç nokta bağlantıları sekmesi aracılığıyla yalnızca özel uç noktalara izin verirseniz Konuşma kaynağıyla Speech Studio'yu kullanamazsınız. Konuşma kaynağını Speech Studio'nun dışında da kullanabilirsiniz.
Konuşma kaynağı ağ güvenliği ayarı | Speech Studio projesi erişilebilirliği |
---|---|
Tüm ağlar | Kısıtlama yok |
Seçili Ağlar ve Özel Uç Noktalar | İzin verilen genel IP adreslerinden erişilebilir |
Devre dışı | Erişilebilir değil |
Seçili Ağlar ve özel uç noktalar'ı seçerseniz Sanal ağlar ve Güvenlik duvarı erişim yapılandırma seçeneklerini içeren bir sekme görürsünüz. Güvenlik Duvarı bölümünde en az bir genel IP adresine izin vermeli ve Speech Studio ile tarayıcı bağlantısı için bu adresi kullanmalısınız.
Yalnızca Sanal ağ üzerinden erişime izin verirseniz, konuşma kaynağına Speech Studio üzerinden erişim izni vermezsiniz. Konuşma kaynağını Speech Studio'nun dışında da kullanabilirsiniz.
Üretim Konuşma kaynağınızda ağ erişim kısıtlamalarını gevşetmeden özel konuşma kullanmak için bu geçici çözümlerden birini göz önünde bulundurun.
- Geliştirme için genel ağda kullanılabilecek başka bir Konuşma kaynağı oluşturun. Geliştirme kaynağında Speech Studio'da özel modelinizi hazırlayın ve ardından modeli üretim kaynağınıza kopyalayın. Konuşmayı metne dönüştürme REST API'siyle Models_CopyTo REST isteğine bakın.
- Özel konuşma için Speech Studio'yu kullanmama seçeneğiniz vardır. Tüm özel konuşma işlemleri için Konuşmayı metne dönüştürme REST API'sini kullanın.
Üretim Konuşma kaynağınızda ağ erişim kısıtlamalarını gevşetmeden özel ses kullanmak için Tüm özel ses işlemleri için Özel ses REST API'sini kullanma konusunu göz önünde bulundurun.
Uygulamayı özel uç noktaları olmayan konuşma kaynağı kullanacak şekilde ayarlama
Bu makalede, konuşma kaynağı için özel etki alanını etkinleştirmenin geri alınamayacağını birkaç kez not ettik. Böyle bir kaynak, bölgesel uç nokta adlarını kullananlarla karşılaştırıldığında Konuşma hizmetiyle iletişim kurmanın farklı bir yolunu kullanır.
Bu bölümde Konuşma hizmeti REST API'leri ve Konuşma SDK'sı ile özel etki alanı adıyla ancak özel uç nokta olmadan Konuşma kaynağının nasıl kullanılacağı açıklanmaktadır. Bu, bir zamanlar özel uç nokta senaryosunda kullanılan ancak ardından özel uç noktalarının silindiği bir kaynak olabilir.
DNS yapılandırması
Özel uç nokta özellikli Konuşma kaynağının özel etki alanı DNS adının genel ağlardan nasıl çözümlendiğinden emin olun. Bu durumda, çözümlenen IP adresi bir sanal ağ için ara sunucu uç noktasını gösterir. Bu uç nokta, ağ trafiğini özel uç nokta özellikli Azure AI hizmetleri kaynağına göndermek için kullanılır.
Ancak, tüm kaynak özel uç noktaları kaldırıldığında (veya özel etki alanı adı etkinleştirildikten hemen sonra), Konuşma kaynağının CNAME kaydı yeniden oluşturulur. Artık ilgili Azure AI hizmetleri bölgesel uç noktasının IP adresine işaret eder.
Bu nedenle komutun nslookup
çıkışı şöyle görünür:
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
Bu bölümdeki çıktıyla karşılaştırın.
Özel etki alanı adına sahip ve özel uç noktaları olmayan konuşma kaynağı: REST API'leri ile kullanım
Konuşmayı metne dönüştürme REST API'si
Konuşmayı metne dönüştürme REST API kullanımı, özel uç nokta özellikli Konuşma kaynaklarına tamamen eşdeğerdir.
Kısa ses için konuşmayı metne dönüştürme REST API'si ve Metin okuma REST API'si
Bu durumda, kısa ses için Konuşmayı metne dönüştürme REST API'sinin kullanımı ve Metin okuma REST API'sinin kullanımı, genel durumdan farklı değildir ve tek bir özel durum vardır. (Aşağıdaki nota bakın.) Kısa ses için Konuşmayı metne dönüştürme REST API'sinde açıklandığı gibi api'leri ve REST API belgelerinde Metin okuma REST API'sini kullanmanız gerekir.
Not
Kısa ses için Konuşmayı metne dönüştürme REST API'sini ve özel etki alanı senaryolarında Metin okuma REST API'sini kullanırken, üst bilgiden Ocp-Apim-Subscription-Key
geçirilen konuşma kaynak anahtarını kullanın. (Ayrıntılara bakınKısa ses için konuşmayı metne dönüştürme REST API'si ve Metin okuma REST API'si)
Yetkilendirme belirteci kullanmak ve üst bilgi aracılığıyla Authorization
özel uç noktaya geçirmek, yalnızca Konuşma kaynağınızın Ağ bölümündeki Tüm ağlar erişimi seçeneğini açtıysanız çalışır. Diğer durumlarda yetkilendirme belirtecini almaya çalışırken ya da Forbidden
BadRequest
hata alırsınız.
Özel etki alanı adına sahip ve özel uç noktaları olmayan konuşma kaynağı: Konuşma SDK'sı ile kullanım
Konuşma SDK'sını özel etki alanı etkin Konuşma kaynaklarıyla özel uç noktalar olmadan kullanmak, Konuşma SDK'sı belgelerinde açıklandığı gibi genel durumla eşdeğerdir.
Özel uç nokta özellikli konuşma kaynağıyla kullanmak üzere kodunuzu değiştirdiyseniz aşağıdakileri göz önünde bulundurun.
Özel uç nokta özellikli Konuşma kaynakları bölümünde, uç nokta URL'sinin nasıl belirleneceğini, değiştirileceğini ve sınıf örneğinin "uç noktadan"/"uç nokta ile" başlatma işlemiyle SpeechConfig
nasıl çalışmasını sağlayacağımızı açıkladık.
Ancak, tüm özel uç noktaları kaldırdıktan sonra aynı uygulamayı çalıştırmayı denerseniz (ilgili DNS kaydının yeniden sağlanması için biraz zaman tanıyarak), bir iç hizmet hatası (404) alırsınız. Bunun nedeni, DNS kaydının artık sanal ağ proxy'si yerine bölgesel Azure AI hizmetleri uç noktasını işaret ediyor olması ve gibi /stt/speech/recognition/conversation/cognitiveservices/v1?language=en-US
URL yollarının orada bulunmamış olmasıdır.
Uygulamanızı aşağıdaki kod stilinde standart örneğine SpeechConfig
geri almanız gerekir:
var config = SpeechConfig.FromSubscription(speechKey, azureRegion);
Özel uç noktaların ve Sanal Ağ hizmet uç noktalarının eşzamanlı kullanımı
Aynı Konuşma kaynağına aynı anda erişmek için özel uç noktaları ve Sanal Ağ hizmet uç noktalarını kullanabilirsiniz. Bu eşzamanlı kullanımı etkinleştirmek için Azure portalındaki Konuşma kaynağının ağ ayarlarında Seçili Ağlar ve Özel Uç Noktalar seçeneğini kullanmanız gerekir. Bu senaryo için diğer seçenekler desteklenmez.
Fiyatlandırma
Fiyatlandırma ayrıntıları için bkz. Azure Özel Bağlantı fiyatlandırma.