Sistem durumu kapsayıcıları için Metin Analizi kullanma
Kapsayıcılar, sistem durumu API'sine yönelik Metin Analizi kendi altyapınızda barındırmanıza olanak tanır. Sistem durumu için uzaktan Metin Analizi çağrılarak karşılanamaz güvenlik veya veri idaresi gereksinimleriniz varsa kapsayıcılar iyi bir seçenek olabilir.
Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
Önkoşullar
Sistem durumu kapsayıcıları için Metin Analizi kullanmadan önce aşağıdaki önkoşulları karşılamanız gerekir. Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
- Docker bir ana bilgisayara yüklendi. Docker, kapsayıcıların Azure'a bağlanmasına ve faturalama verileri göndermesine izin verecek şekilde yapılandırılmalıdır.
- Windows'da Docker,Linux kapsayıcılarını destekleyecek şekilde de yapılandırılmalıdır.
- Docker kavramları hakkında temel bilgilere sahip olmanız gerekir.
- Ücretsiz (F0) veya standart (S) fiyatlandırma katmanına sahip bir Dil kaynağı.
Gerekli parametreleri toplama
Tüm Azure AI kapsayıcıları için üç birincil parametre gereklidir. Microsoft Yazılım Lisans Koşulları kabul değeriyle birlikte mevcut olmalıdır. Uç Nokta URI'si ve API anahtarı da gereklidir.
Uç nokta URI'si
Bu {ENDPOINT_URI}
değere karşılık gelen Azure AI hizmetleri kaynağının Azure portalı genel bakış sayfasından ulaşabilirsiniz. Genel Bakış sayfasına gidin, uç noktanın üzerine gelin ve Panoya kopyala simgesi görüntülenir. Gerektiğinde uç noktayı kopyalayın ve kullanın.
Anahtarlar
Bu {API_KEY}
değer kapsayıcıyı başlatmak için kullanılır ve ilgili Azure AI hizmetleri kaynağının Azure portalının Anahtarlar sayfasında kullanılabilir. Anahtarlar sayfasına gidin ve Panoya kopyala simgesini seçin.
Önemli
Bu abonelik anahtarları, Azure AI hizmetleri API'nize erişmek için kullanılır. Anahtarlarınızı paylaşmayın. Bunları güvenli bir şekilde depolayın. Örneğin, Azure Key Vault kullanın. Ayrıca bu anahtarları düzenli olarak yeniden oluşturmanızı öneririz. API çağrısı yapmak için yalnızca bir anahtar gerekir. İlk anahtarı yeniden oluştururken hizmete sürekli erişim için ikinci anahtarı kullanabilirsiniz.
Konak bilgisayar gereksinimleri ve önerileri
Konak, Docker kapsayıcısını çalıştıran x64 tabanlı bir bilgisayardır. Şirket içi bir bilgisayar veya Azure'da Docker barındırma hizmeti olabilir, örneğin:
- Azure Kubernetes Service.
- Azure Container Instances.
- Azure Stack'e dağıtılan bir Kubernetes kümesi. Daha fazla bilgi için bkz . Kubernetes'i Azure Stack'e dağıtma.
Aşağıdaki tabloda sistem durumu kapsayıcıları için Metin Analizi için en düşük ve önerilen belirtimler açıklanmaktadır. Her CPU çekirdeği en az 2,6 gigahertz (GHz) veya daha hızlı olmalıdır. İzin verilebilen Saniye Başına İşlemler (TPS) de listelenir.
En düşük konak belirtimleri | Önerilen konak özellikleri | En Düşük TPS | En Fazla TPS | |
---|---|---|---|---|
1 belge/istek | 4 çekirdekli, 12 GB bellek | 6 çekirdek, 12 GB bellek | 15 | 30 |
10 belge/istek | 6 çekirdek, 16 GB bellek | 8 çekirdek, 20 GB bellek | 15 | 30 |
CPU çekirdeği ve bellek, komutun --cpus
bir parçası olarak kullanılan ve --memory
ayarlarına docker run
karşılık gelir.
ile kapsayıcı görüntüsünü alma docker pull
Sistem durumu kapsayıcı görüntüsü için Metin Analizi kapsayıcı kayıt defteri dağıtımında mcr.microsoft.com
bulunabilir. Depoda azure-cognitive-services/textanalytics/
bulunur ve olarak adlandırılır healthcare
. Tam kapsayıcı görüntüsü adı şudur: mcr.microsoft.com/azure-cognitive-services/textanalytics/healthcare
Kapsayıcının en son sürümünü kullanmak için etiketini kullanabilirsiniz latest
. McR'de etiketlerin tam listesini de bulabilirsiniz.
docker pull
Bu kapsayıcı görüntüsünü Microsoft genel kapsayıcı kayıt defterinden indirmek için komutunu kullanın. Öne çıkan etiketleri Microsoft Container Registry'de bulabilirsiniz
docker pull mcr.microsoft.com/azure-cognitive-services/textanalytics/healthcare:<tag-name>
İpucu
İndirdiğiniz kapsayıcı görüntülerini listelemek için docker images komutunu kullanabilirsiniz. Örneğin, aşağıdaki komut indirilen her kapsayıcı görüntüsünün kimliğini, deposunu ve etiketini tablo olarak biçimlendirilmiş olarak listeler:
docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"
IMAGE ID REPOSITORY TAG
<image-id> <repository-path/name> <tag-name>
Kapsayıcıyı ile çalıştırma docker run
Kapsayıcı konak bilgisayara yüklendikten sonra docker run komutunu kullanarak kapsayıcıları çalıştırın. Kapsayıcı, siz durdurana kadar çalışmaya devam eder.
Önemli
- Aşağıdaki bölümlerde yer alan docker komutları,
\
satır devamlılığı karakteri olarak ters eğik çizgi kullanır. Bunu konak işletim sisteminizin gereksinimlerine göre değiştirin veya kaldırın. - Kapsayıcıyı
Eula
çalıştırmak için ,Billing
veApiKey
seçenekleri belirtilmelidir; aksi takdirde kapsayıcı başlatılmaz. Daha fazla bilgi için bkz . Faturalama.- Sorumlu AI (RAI) onayı da değeriyle
accept
birlikte bulunmalıdır.
- Sorumlu AI (RAI) onayı da değeriyle
- Yaklaşım analizi ve dil algılama kapsayıcıları API'nin v3'lerini kullanır ve genel kullanıma sunulmuştur. Anahtar ifade ayıklama kapsayıcısı API'nin v2'sini kullanır ve önizleme aşamasındadır.
Sistem durumu kapsayıcısı için Metin Analizi yükleyip çalıştırmanın birden çok yolu vardır.
- Bir Dil kaynağı oluşturmak için Azure portalını ve kapsayıcınızı almak için Docker'ı kullanın.
- Kapsayıcıyı çalıştırmak için Docker ile bir Azure VM kullanın.
- Kaynak dağıtımını ve kapsayıcı yapılandırmasını otomatikleştirmek için aşağıdaki PowerShell ve Azure CLI betiklerini kullanın.
Sistem durumu kapsayıcısı için Metin Analizi kullandığınızda, API isteklerinizde ve yanıtlarınızda bulunan veriler Microsoft tarafından görünmez ve verilerinize uygulanan modeli eğitmek için kullanılmaz.
Kapsayıcıyı yerel olarak çalıştırma
Kapsayıcı görüntüsünü indirdikten sonra kapsayıcıyı kendi ortamınızda çalıştırmak için aşağıdaki docker run
komutu yürütebilirsiniz. Aşağıdaki yer tutucuları kendi değerlerinizle değiştirin:
Yer tutucu | Değer | Biçim veya örnek |
---|---|---|
{API_KEY} | Dil kaynağınızın anahtarı. Kaynağınızın Anahtar ve uç nokta sayfasında, Azure portalında bulabilirsiniz. | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
{ENDPOINT_URI} | API'ye erişmek için uç nokta. Kaynağınızın Anahtar ve uç nokta sayfasında, Azure portalında bulabilirsiniz. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
docker run --rm -it -p 5000:5000 --cpus 6 --memory 12g \
mcr.microsoft.com/azure-cognitive-services/textanalytics/healthcare:<tag-name> \
Eula=accept \
rai_terms=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}
Şu komut:
- Kapsayıcı görüntüsünden sistem durumu kapsayıcısı için Metin Analizi çalıştırır
- 6 CPU çekirdeği ve 12 gigabayt (GB) bellek ayırır
- TCP bağlantı noktası 5000'i kullanıma sunar ve kapsayıcı için sahte TTY ayırır
- Son kullanıcı lisans sözleşmesi (EULA) ve sorumlu yapay zeka (RAI) koşullarını kabul eder
- Kapsayıcı çıktıktan sonra otomatik olarak kaldırılır. Kapsayıcı görüntüsü ana bilgisayarda hala kullanılabilir.
Çıkışı görselleştirmek için tanıtım kullanıcı arabirimi
Kapsayıcı REST tabanlı sorgu tahmin uç noktası API’lerini sağlar. Kapsayıcıda kapsayıcının uç noktasına ekleyerek /demo
erişilebilen bir görselleştirme aracı da sağladık. Örneğin:
http://<serverURL>:5000/demo
Dağıtmış olduğunuz kapsayıcıya sorgu göndermek için aşağıdaki örnek cURL isteğini kullanın ve serverURL
değişkeni uygun değerle değiştirin.
curl -X POST 'http://<serverURL>:5000/text/analytics/v3.1/entities/health' --header 'Content-Type: application/json' --header 'accept: application/json' --data-binary @example.json
Kapsayıcılar için Azure Web App kullanarak kapsayıcıyı yükleme
Kapsayıcılar için Azure Web App, bulutta çalışan kapsayıcılara ayrılmış bir Azure kaynağıdır. Otomatik ölçeklendirme, docker kapsayıcıları ve docker compose desteği, HTTPS desteği ve çok daha fazlası gibi kullanıma hazır özellikler sunar.
Not
Azure Web App'i kullanarak otomatik olarak şu biçimde bir etki alanı alırsınız: <appservice_name>.azurewebsites.net
Aboneliğinizi ve HTTPS üzerinden kapsayıcı görüntüsünü kullanarak Kapsayıcılar için Web Uygulaması oluşturmak üzere Azure CLI kullanarak bu PowerShell betiğini çalıştırın. İlk isteği göndermeden önce betiğin tamamlanmasını (yaklaşık 25-30 dakika) bekleyin.
$subscription_name = "" # THe name of the subscription you want you resource to be created on.
$resource_group_name = "" # The name of the resource group you want the AppServicePlan
# and AppSerivce to be attached to.
$resources_location = "" # This is the location you wish the AppServicePlan to be deployed to.
# You can use the "az account list-locations -o table" command to
# get the list of available locations and location code names.
$appservice_plan_name = "" # This is the AppServicePlan name you wish to have.
$appservice_name = "" # This is the AppService resource name you wish to have.
$TEXT_ANALYTICS_RESOURCE_API_KEY = "" # This should be taken from the Language resource.
$TEXT_ANALYTICS_RESOURCE_API_ENDPOINT = "" # This should be taken from the Language resource.
$DOCKER_IMAGE_NAME = "mcr.microsoft.com/azure-cognitive-services/textanalytics/healthcare:latest"
az login
az account set -s $subscription_name
az appservice plan create -n $appservice_plan_name -g $resource_group_name --is-linux -l $resources_location --sku P3V2
az webapp create -g $resource_group_name -p $appservice_plan_name -n $appservice_name -i $DOCKER_IMAGE_NAME
az webapp config appsettings set -g $resource_group_name -n $appservice_name --settings Eula=accept rai_terms=accept Billing=$TEXT_ANALYTICS_RESOURCE_API_ENDPOINT ApiKey=$TEXT_ANALYTICS_RESOURCE_API_KEY
# Once deployment complete, the resource should be available at: https://<appservice_name>.azurewebsites.net
Azure Container Instance kullanarak kapsayıcıyı yükleme
Dağıtımı kolaylaştırmak için Bir Azure Container Instance (ACI) de kullanabilirsiniz. ACI, Docker kapsayıcılarını yönetilen, sunucusuz bir Azure ortamında isteğe bağlı olarak çalıştırmanızı sağlayan bir kaynaktır.
Azure portalını kullanarak ACI kaynağı dağıtma adımları için bkz . Azure Container Instances'ı kullanma. Azure CLI kullanarak aşağıdaki PowerShell betiğini de kullanabilirsiniz. Bu betik, kapsayıcı görüntüsünü kullanarak aboneliğinizde bir ACI oluşturur. İlk isteği göndermeden önce betiğin tamamlanmasını (yaklaşık 25-30 dakika) bekleyin. ACI kaynağı başına en fazla CPU sayısı sınırı nedeniyle, istek başına 5'ten fazla büyük belge (her biri yaklaşık 5000 karakter) göndermeyi bekliyorsanız bu seçeneği belirtmeyin. Kullanılabilirlik bilgileri için ACI bölgesel destek makalesine bakın.
Not
Azure Container Instances, yerleşik etki alanları için HTTPS desteği içermez. HTTPS'ye ihtiyacınız varsa sertifika oluşturma ve etki alanı kaydetme de dahil olmak üzere bunu el ile yapılandırmanız gerekir. Bunu NGINX ile yapmak için aşağıdaki yönergeleri bulabilirsiniz.
$subscription_name = "" # The name of the subscription you want you resource to be created on.
$resource_group_name = "" # The name of the resource group you want the AppServicePlan
# and AppService to be attached to.
$resources_location = "" # This is the location you wish the web app to be deployed to.
# You can use the "az account list-locations -o table" command to
# Get the list of available locations and location code names.
$azure_container_instance_name = "" # This is the AzureContainerInstance name you wish to have.
$TEXT_ANALYTICS_RESOURCE_API_KEY = "" # This should be taken from the Language resource.
$TEXT_ANALYTICS_RESOURCE_API_ENDPOINT = "" # This should be taken from the Language resource.
$DNS_LABEL = "" # This is the DNS label name you wish your ACI will have
$DOCKER_IMAGE_NAME = "mcr.microsoft.com/azure-cognitive-services/textanalytics/healthcare:latest"
az login
az account set -s $subscription_name
az container create --resource-group $resource_group_name --name $azure_container_instance_name --image $DOCKER_IMAGE_NAME --cpu 4 --memory 12 --port 5000 --dns-name-label $DNS_LABEL --environment-variables Eula=accept rai_terms=accept Billing=$TEXT_ANALYTICS_RESOURCE_API_ENDPOINT ApiKey=$TEXT_ANALYTICS_RESOURCE_API_KEY
# Once deployment complete, the resource should be available at: http://<unique_dns_label>.<resource_group_region>.azurecontainer.io:5000
Güvenli ACI bağlantısı
Varsayılan olarak, kapsayıcı API'siyle ACI kullanılırken güvenlik sağlanmadı. Bunun nedeni kapsayıcıların genellikle ağ köprüsü tarafından dışarıdan korunan bir podun parçası olarak çalışmasıdır. Öte yandan, kapsayıcı uç noktasını özel tutarak bir kapsayıcıyı öne dönük bileşenle değiştirebilirsiniz. Aşağıdaki örneklerde HTTPS/SSL ve istemci sertifikası kimlik doğrulamasını desteklemek için giriş ağ geçidi olarak NGINX kullanılır.
Not
NGINX, açık kaynaklı, yüksek performanslı bir HTTP sunucusu ve ara sunucusudur. NGINX kapsayıcısı, tek bir kapsayıcı için TLS bağlantısını sonlandırmak için kullanılabilir. Daha karmaşık NGINX giriş tabanlı TLS sonlandırma çözümleri de mümkündür.
NGINX'i giriş ağ geçidi olarak ayarlama
NGINX, çalışma zamanında özellikleri etkinleştirmek için yapılandırma dosyalarını kullanır. Başka bir hizmet için TLS sonlandırmayı etkinleştirmek için, TLS bağlantısını sonlandırmak ve proxy_pass
hizmet için bir adres belirtmek üzere bir SSL sertifikası belirtmeniz gerekir. Aşağıda bir örnek verilmiştir.
Not
ssl_certificate
NGINX kapsayıcısının yerel dosya sisteminde bir yol belirtilmesi beklenebilir. için proxy_pass
belirtilen adres NGINX kapsayıcısının ağı içinden kullanılabilir olmalıdır.
NGINX kapsayıcısı, altında HTTP yapılandırma yoluna bağlanan /etc/nginx/conf.d/
içindeki tüm dosyaları _.conf_
yükler.
server {
listen 80;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
# replace with .crt and .key paths
ssl_certificate /cert/Local.crt;
ssl_certificate_key /cert/Local.key;
location / {
proxy_pass http://cognitive-service:5000;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
}
Örnek Docker oluşturma dosyası
Aşağıdaki örnekte, NGINX ve sistem durumu kapsayıcılarını dağıtmak için bir docker compose dosyasının nasıl oluşturulabileceği gösterilmektedir:
version: "3.7"
services:
cognitive-service:
image: {IMAGE_ID}
ports:
- 5000:5000
environment:
- eula=accept
- billing={ENDPOINT_URI}
- apikey={API_KEY}
volumes:
# replace with path to logs folder
- <path-to-logs-folder>:/output
nginx:
image: nginx
ports:
- 443:443
volumes:
# replace with paths for certs and conf folders
- <path-to-certs-folder>:/cert
- <path-to-conf-folder>:/etc/nginx/conf.d/
Bu Docker oluşturma dosyasını başlatmak için, dosyanın kök düzeyinde bir konsoldan aşağıdaki komutu yürütebilirsiniz:
docker-compose up
Daha fazla bilgi için NGINX SSL Sonlandırma ile ilgili NGINX belgelerine bakın.
Aynı konakta birden çok kapsayıcı çalıştırma
Kullanıma sunulan bağlantı noktalarıyla birden çok kapsayıcı çalıştırmayı planlıyorsanız, her kapsayıcıyı farklı bir kullanıma sunulan bağlantı noktasıyla çalıştırdığınızdan emin olun. Örneğin, ilk kapsayıcıyı 5000 numaralı bağlantı noktasında, ikinci kapsayıcıyı da 5001 numaralı bağlantı noktasında çalıştırın.
Bu kapsayıcıyı ve HOST üzerinde çalışan farklı bir Azure AI hizmetleri kapsayıcısını birlikte kullanabilirsiniz. Aynı Azure AI hizmetleri kapsayıcısının birden çok kapsayıcısını da çalıştırabilirsiniz.
Kapsayıcının tahmin uç noktasını sorgulama
Kapsayıcı REST tabanlı sorgu tahmin uç noktası API’lerini sağlar.
Kapsayıcı API’leri için http://localhost:5000
konağını kullanın.
Kapsayıcının çalıştığını doğrulama
Kapsayıcının çalıştığını doğrulamanın çeşitli yolları vardır. Dış IP adresini ve söz konusu kapsayıcının kullanıma sunulan bağlantı noktasını bulun ve sık kullandığınız web tarayıcısını açın. Kapsayıcının çalıştığını doğrulamak için aşağıdaki çeşitli istek URL'lerini kullanın. Burada listelenen örnek istek URL'leri şunlardır http://localhost:5000
; ancak kapsayıcınız farklılık gösterebilir. Kapsayıcınızın Dış IP adresine ve kullanıma sunulan bağlantı noktasına bağlı olduğundan emin olun.
İstek URL’si | Purpose |
---|---|
http://localhost:5000/ |
Kapsayıcı bir giriş sayfası sağlar. |
http://localhost:5000/ready |
GET ile istenen bu URL, kapsayıcının modele karşı sorgu kabul etmeye hazır olduğunu doğrulamayı sağlar. Bu istek Kubernetes canlılığı ve hazır olma yoklamaları için kullanılabilir. |
http://localhost:5000/status |
Get ile de istenen bu URL, kapsayıcıyı başlatmak için kullanılan api anahtarının bir uç nokta sorgusuna neden olmadan geçerli olup olmadığını doğrular. Bu istek Kubernetes canlılığı ve hazır olma yoklamaları için kullanılabilir. |
http://localhost:5000/swagger |
Kapsayıcı uç noktalar için tüm belgeleri ve bir de Deneyin özelliği sağlar. Bu özellik sayesinde, ayarlarınızı web tabanlı bir HTML formuna girebilir ve herhangi bir kod yazmak zorunda kalmadan sorguyu yapabilirsiniz. Sorgu döndürüldikten sonra, gerekli HTTP üst bilgilerini ve gövde biçimini göstermek için örnek bir CURL komutu sağlanır. |
Kapsayıcı için API isteğini yapılandırma
Visual Studio Code REST İstemci uzantısını veya aşağıdaki örnek cURL isteğini kullanarak dağıtılan kapsayıcıya sorgu gönderebilir ve değişkeni uygun değerle değiştirebilirsinizserverURL
. Kapsayıcının URL'sindeki API sürümünün barındırılan API'den farklı olduğuna dikkat edin.
Not
Hızlı Sağlık Hizmetleri Birlikte Çalışabilirlik Kaynakları (FHIR) özelliği en son kapsayıcıda kullanılabilir ve yeni dil REST API'sinde kullanıma sunulur.
curl -i -X POST 'http://<serverURL>:5000/language/analyze-text/jobs?api-version=2022-04-01-preview' --header 'Content-Type: application/json' --header --data-binary @example.json
Aşağıdaki JSON, Dil isteğinin POST gövdesine eklenmiş bir JSON dosyası örneğidir:
example.json
{
"analysisInput": {
"documents": [
{
"text": "The doctor prescried 200mg Ibuprofen.",
"language": "en",
"id": "1"
}
]
},
"tasks": [
{
"taskName": "analyze 1",
"kind": "Healthcare",
"parameters": {
"fhirVersion": "4.0.1"
}
}
]
}
Kapsayıcı yanıt gövdesi
Aşağıdaki JSON, kapsayıcılı zaman uyumlu çağrıdan Dil yanıt gövdesinin bir örneğidir:
{
"jobId": "{JOB-ID}",
"lastUpdateDateTime": "2022-04-18T15:50:16Z",
"createdDateTime": "2022-04-18T15:50:14Z",
"expirationDateTime": "2022-04-19T15:50:14Z",
"status": "succeeded",
"errors": [],
"tasks": {
"completed": 1,
"failed": 0,
"inProgress": 0,
"total": 1,
"items": [
{
"kind": "HealthcareLROResults",
"taskName": "analyze 1",
"lastUpdateDateTime": "2022-04-18T15:50:16.7046515Z",
"status": "succeeded",
"results": {
"documents": [
{
"id": "1",
"entities": [
{
"offset": 4,
"length": 6,
"text": "doctor",
"category": "HealthcareProfession",
"confidenceScore": 0.76
},
{
"offset": 21,
"length": 5,
"text": "200mg",
"category": "Dosage",
"confidenceScore": 0.99
},
{
"offset": 27,
"length": 9,
"text": "Ibuprofen",
"category": "MedicationName",
"confidenceScore": 1.0,
"name": "ibuprofen",
"links": [
{ "dataSource": "UMLS", "id": "C0020740" },
{ "dataSource": "AOD", "id": "0000019879" },
{ "dataSource": "ATC", "id": "M01AE01" },
{ "dataSource": "CCPSS", "id": "0046165" },
{ "dataSource": "CHV", "id": "0000006519" },
{ "dataSource": "CSP", "id": "2270-2077" },
{ "dataSource": "DRUGBANK", "id": "DB01050" },
{ "dataSource": "GS", "id": "1611" },
{ "dataSource": "LCH_NW", "id": "sh97005926" },
{ "dataSource": "LNC", "id": "LP16165-0" },
{ "dataSource": "MEDCIN", "id": "40458" },
{ "dataSource": "MMSL", "id": "d00015" },
{ "dataSource": "MSH", "id": "D007052" },
{ "dataSource": "MTHSPL", "id": "WK2XYI10QM" },
{ "dataSource": "NCI", "id": "C561" },
{ "dataSource": "NCI_CTRP", "id": "C561" },
{ "dataSource": "NCI_DCP", "id": "00803" },
{ "dataSource": "NCI_DTP", "id": "NSC0256857" },
{ "dataSource": "NCI_FDA", "id": "WK2XYI10QM" },
{ "dataSource": "NCI_NCI-GLOSS", "id": "CDR0000613511" },
{ "dataSource": "NDDF", "id": "002377" },
{ "dataSource": "PDQ", "id": "CDR0000040475" },
{ "dataSource": "RCD", "id": "x02MO" },
{ "dataSource": "RXNORM", "id": "5640" },
{ "dataSource": "SNM", "id": "E-7772" },
{ "dataSource": "SNMI", "id": "C-603C0" },
{ "dataSource": "SNOMEDCT_US", "id": "387207008" },
{ "dataSource": "USP", "id": "m39860" },
{ "dataSource": "USPMG", "id": "MTHU000060" },
{ "dataSource": "VANDF", "id": "4017840" }
]
}
],
"relations": [
{
"relationType": "DosageOfMedication",
"entities": [
{
"ref": "#/results/documents/0/entities/1",
"role": "Dosage"
},
{
"ref": "#/results/documents/0/entities/2",
"role": "Medication"
}
]
}
],
"warnings": [],
"fhirBundle": {
"resourceType": "Bundle",
"id": "bae9d4e0-191e-48e6-9c24-c1ff6097c439",
"meta": {
"profile": [
"http://hl7.org/fhir/4.0.1/StructureDefinition/Bundle"
]
},
"identifier": {
"system": "urn:ietf:rfc:3986",
"value": "urn:uuid:bae9d4e0-191e-48e6-9c24-c1ff6097c439"
},
"type": "document",
"entry": [
{
"fullUrl": "Composition/9044c2cc-dcec-4b9d-b005-bfa8be978aa8",
"resource": {
"resourceType": "Composition",
"id": "9044c2cc-dcec-4b9d-b005-bfa8be978aa8",
"status": "final",
"type": {
"coding": [
{
"system": "http://loinc.org",
"code": "11526-1",
"display": "Pathology study"
}
],
"text": "Pathology study"
},
"subject": {
"reference": "Patient/5c554347-4290-4b05-83ac-6637ff3bfb40",
"type": "Patient"
},
"encounter": {
"reference": "Encounter/6fe12f5b-e35c-4c92-a492-96feda5a1a3b",
"type": "Encounter",
"display": "unknown"
},
"date": "2022-04-18",
"author": [
{
"reference": "Practitioner/fb5da4d8-e0f0-4434-8d29-4419b065c4d7",
"type": "Practitioner",
"display": "Unknown"
}
],
"title": "Pathology study",
"section": [
{
"title": "General",
"code": {
"coding": [
{
"system": "",
"display": "Unrecognized Section"
}
],
"text": "General"
},
"text": {
"div": "<div>\r\n\t\t\t\t\t\t\t<h1>General</h1>\r\n\t\t\t\t\t\t\t<p>The doctor prescried 200mg Ibuprofen.</p>\r\n\t\t\t\t\t</div>"
},
"entry": [
{
"reference": "List/db388912-b5fb-4073-a74c-2751fd3374dd",
"type": "List",
"display": "General"
}
]
}
]
}
},
{
"fullUrl": "Practitioner/fb5da4d8-e0f0-4434-8d29-4419b065c4d7",
"resource": {
"resourceType": "Practitioner",
"id": "fb5da4d8-e0f0-4434-8d29-4419b065c4d7",
"extension": [
{
"extension": [
{ "url": "offset", "valueInteger": -1 },
{ "url": "length", "valueInteger": 7 }
],
"url": "http://hl7.org/fhir/StructureDefinition/derivation-reference"
}
],
"name": [{ "text": "Unknown", "family": "Unknown" }]
}
},
{
"fullUrl": "Patient/5c554347-4290-4b05-83ac-6637ff3bfb40",
"resource": {
"resourceType": "Patient",
"id": "5c554347-4290-4b05-83ac-6637ff3bfb40",
"gender": "unknown"
}
},
{
"fullUrl": "Encounter/6fe12f5b-e35c-4c92-a492-96feda5a1a3b",
"resource": {
"resourceType": "Encounter",
"id": "6fe12f5b-e35c-4c92-a492-96feda5a1a3b",
"meta": {
"profile": [
"http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter"
]
},
"status": "finished",
"class": {
"system": "http://terminology.hl7.org/CodeSystem/v3-ActCode",
"display": "unknown"
},
"subject": {
"reference": "Patient/5c554347-4290-4b05-83ac-6637ff3bfb40",
"type": "Patient"
}
}
},
{
"fullUrl": "MedicationStatement/24e860ce-2fdc-4745-aa9e-7d30bb487c4e",
"resource": {
"resourceType": "MedicationStatement",
"id": "24e860ce-2fdc-4745-aa9e-7d30bb487c4e",
"extension": [
{
"extension": [
{ "url": "offset", "valueInteger": 27 },
{ "url": "length", "valueInteger": 9 }
],
"url": "http://hl7.org/fhir/StructureDefinition/derivation-reference"
}
],
"status": "active",
"medicationCodeableConcept": {
"coding": [
{
"system": "http://www.nlm.nih.gov/research/umls",
"code": "C0020740",
"display": "Ibuprofen"
},
{
"system": "http://www.nlm.nih.gov/research/umls/aod",
"code": "0000019879"
},
{
"system": "http://www.whocc.no/atc",
"code": "M01AE01"
},
{
"system": "http://www.nlm.nih.gov/research/umls/ccpss",
"code": "0046165"
},
{
"system": "http://www.nlm.nih.gov/research/umls/chv",
"code": "0000006519"
},
{
"system": "http://www.nlm.nih.gov/research/umls/csp",
"code": "2270-2077"
},
{
"system": "http://www.nlm.nih.gov/research/umls/drugbank",
"code": "DB01050"
},
{
"system": "http://www.nlm.nih.gov/research/umls/gs",
"code": "1611"
},
{
"system": "http://www.nlm.nih.gov/research/umls/lch_nw",
"code": "sh97005926"
},
{ "system": "http://loinc.org", "code": "LP16165-0" },
{
"system": "http://www.nlm.nih.gov/research/umls/medcin",
"code": "40458"
},
{
"system": "http://www.nlm.nih.gov/research/umls/mmsl",
"code": "d00015"
},
{
"system": "http://www.nlm.nih.gov/research/umls/msh",
"code": "D007052"
},
{
"system": "http://www.nlm.nih.gov/research/umls/mthspl",
"code": "WK2XYI10QM"
},
{
"system": "http://ncimeta.nci.nih.gov",
"code": "C561"
},
{
"system": "http://www.nlm.nih.gov/research/umls/nci_ctrp",
"code": "C561"
},
{
"system": "http://www.nlm.nih.gov/research/umls/nci_dcp",
"code": "00803"
},
{
"system": "http://www.nlm.nih.gov/research/umls/nci_dtp",
"code": "NSC0256857"
},
{
"system": "http://www.nlm.nih.gov/research/umls/nci_fda",
"code": "WK2XYI10QM"
},
{
"system": "http://www.nlm.nih.gov/research/umls/nci_nci-gloss",
"code": "CDR0000613511"
},
{
"system": "http://www.nlm.nih.gov/research/umls/nddf",
"code": "002377"
},
{
"system": "http://www.nlm.nih.gov/research/umls/pdq",
"code": "CDR0000040475"
},
{
"system": "http://www.nlm.nih.gov/research/umls/rcd",
"code": "x02MO"
},
{
"system": "http://www.nlm.nih.gov/research/umls/rxnorm",
"code": "5640"
},
{
"system": "http://snomed.info/sct",
"code": "E-7772"
},
{
"system": "http://snomed.info/sct/900000000000207008",
"code": "C-603C0"
},
{
"system": "http://snomed.info/sct/731000124108",
"code": "387207008"
},
{
"system": "http://www.nlm.nih.gov/research/umls/usp",
"code": "m39860"
},
{
"system": "http://www.nlm.nih.gov/research/umls/uspmg",
"code": "MTHU000060"
},
{
"system": "http://hl7.org/fhir/ndfrt",
"code": "4017840"
}
],
"text": "Ibuprofen"
},
"subject": {
"reference": "Patient/5c554347-4290-4b05-83ac-6637ff3bfb40",
"type": "Patient"
},
"context": {
"reference": "Encounter/6fe12f5b-e35c-4c92-a492-96feda5a1a3b",
"type": "Encounter",
"display": "unknown"
},
"dosage": [
{
"text": "200mg",
"doseAndRate": [{ "doseQuantity": { "value": 200 } }]
}
]
}
},
{
"fullUrl": "List/db388912-b5fb-4073-a74c-2751fd3374dd",
"resource": {
"resourceType": "List",
"id": "db388912-b5fb-4073-a74c-2751fd3374dd",
"status": "current",
"mode": "snapshot",
"title": "General",
"subject": {
"reference": "Patient/5c554347-4290-4b05-83ac-6637ff3bfb40",
"type": "Patient"
},
"encounter": {
"reference": "Encounter/6fe12f5b-e35c-4c92-a492-96feda5a1a3b",
"type": "Encounter",
"display": "unknown"
},
"entry": [
{
"item": {
"reference": "MedicationStatement/24e860ce-2fdc-4745-aa9e-7d30bb487c4e",
"type": "MedicationStatement",
"display": "Ibuprofen"
}
}
]
}
}
]
}
}
],
"errors": [],
"modelVersion": "2022-03-01"
}
}
]
}
}
Kapsayıcıyı istemci kitaplığı desteğiyle çalıştırma
Kapsayıcı sürümünden 3.0.017010001-onprem-amd64
başlayarak (veya kapsayıcıyı latest
kullanıyorsanız), istemci kitaplığını kullanarak sistem durumu kapsayıcısı için Metin Analizi çalıştırabilirsiniz. Bunu yapmak için komutuna aşağıdaki parametreyi docker run
ekleyin:
enablelro=true
Daha sonra istemci nesnesinin kimliğini doğruladığınızda kapsayıcınızın üzerinde çalıştığı uç noktayı kullanın:
http://localhost:5000
Örneğin, C# kullanıyorsanız aşağıdaki kodu kullanırsınız:
var client = new TextAnalyticsClient("http://localhost:5000", "your-text-analytics-key");
Kapsayıcıyı durdurma
Kapsayıcıyı kapatmak için, kapsayıcının çalıştığı komut satırı ortamında Ctrl+C tuşlarına basın.
Sorun giderme
Kapsayıcıyı bir çıkış bağlaması ve günlüğe kaydetme etkin olarak çalıştırırsanız kapsayıcı, kapsayıcıyı başlatırken veya çalıştırırken karşılaşılan sorunları gidermeye yardımcı olan günlük dosyaları oluşturur.
İpucu
Daha fazla sorun giderme bilgisi ve kılavuzu için bkz . Azure AI kapsayıcıları hakkında sık sorulan sorular (SSS).
Faturalandırma
Sistem durumu kapsayıcıları için Metin Analizi faturalama bilgilerini Azure'a göndermek içinAzure hesabınızdaki dil kaynağı.
Kapsayıcıya yönelik sorgular, parametre için kullanılan Azure kaynağının fiyatlandırma katmanında ApiKey
faturalandırılır.
Azure AI hizmetleri kapsayıcıları, ölçüm veya faturalama uç noktasına bağlı olmadan çalıştırılma lisansına sahip değildir. Faturalama bilgilerini faturalama uç noktasıyla her zaman iletmek için kapsayıcıları etkinleştirmeniz gerekir. Azure AI hizmetleri kapsayıcıları, analiz edilen görüntü veya metin gibi müşteri verilerini Microsoft'a göndermez.
Azure'a bağlanma
Kapsayıcının çalışması için faturalama bağımsız değişkeni değerleri gerekir. Bu değerler kapsayıcının faturalama uç noktasına bağlanmasına olanak sağlar. Kapsayıcı yaklaşık 10-15 dakikada bir kullanımı bildirir. Kapsayıcı izin verilen zaman penceresinde Azure'a bağlanmazsa, kapsayıcı çalışmaya devam eder ancak faturalama uç noktası geri yüklenene kadar sorgular sunmaz. Bağlantı, 10 ile 15 dakika aynı zaman aralığında 10 kez denenir. 10 denemede faturalama uç noktasına bağlanamazsa kapsayıcı isteklerin sunulmasını durdurur. Faturalama için Microsoft'a gönderilen bilgilerin bir örneği için bkz. Azure AI hizmetleri kapsayıcısı SSS .
Faturalama bağımsız değişkenleri
Komut, docker run
aşağıdaki seçeneklerin üçü de geçerli değerlerle sağlandığında kapsayıcıyı başlatır:
Seçenek | Açıklama |
---|---|
ApiKey |
Faturalama bilgilerini izlemek için kullanılan Azure AI hizmetleri kaynağının API anahtarı. Bu seçeneğin değeri, içinde belirtilen sağlanan kaynak için bir API anahtarına Billing ayarlanmalıdır. |
Billing |
Faturalama bilgilerini izlemek için kullanılan Azure AI hizmetleri kaynağının uç noktası. Bu seçeneğin değeri, sağlanan bir Azure kaynağının uç nokta URI'sine ayarlanmalıdır. |
Eula |
Kapsayıcının lisansını kabul ettiğinizi gösterir. Bu seçeneğin değeri kabul edilecek şekilde ayarlanmalıdır. |
Özet
Bu makalede, sistem durumu kapsayıcıları için Metin Analizi indirmeye, yüklemeye ve çalıştırmaya yönelik kavramları ve iş akışını öğrendiniz. Özet olarak:
- Sistem durumu için Metin Analizi Docker için bir Linux kapsayıcısı sağlar
- Kapsayıcı görüntüleri Microsoft Container Registry'den (MCR) indirilir.
- Kapsayıcı görüntüleri Docker'da çalışır.
- Kapsayıcının konak URI'sini belirterek sistem durumu kapsayıcıları için Metin Analizi işlemleri çağırmak için REST API veya SDK kullanabilirsiniz.
- Kapsayıcı örneği oluştururken faturalama bilgilerini belirtmeniz gerekir.
Önemli
Azure yapay zeka kapsayıcıları, ölçüm için Azure'a bağlanmadan çalıştırılma lisansına sahip değildir. Müşterilerin, kapsayıcıların faturalama bilgilerini ölçüm hizmetiyle her zaman iletmesini sağlaması gerekir. Azure AI kapsayıcıları müşteri verilerini (örneğin analiz edilen metin) Microsoft'a göndermez.
Sonraki adımlar
- Bkz . Yapılandırma ayarları için kapsayıcıları yapılandırma.