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.

Screenshot that shows gathering the endpoint URI for later use.

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.

Screenshot that shows getting one of the two keys for later use.

Ö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:

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 , Billingve ApiKey seçenekleri belirtilmelidir; aksi takdirde kapsayıcı başlatılmaz. Daha fazla bilgi için bkz . Faturalama.
    • Sorumlu AI (RAI) onayı da değeriyle acceptbirlikte bulunmalıdır.
  • 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.

Container's home page

Kapsayıcı için API isteğini yapılandırma

Dağıtılan kapsayıcıya sorgu göndermek için Postman veya aşağıdaki örnek cURL isteğini kullanabilir ve değişkeni uygun değerle değiştirebilirsiniz serverURL . 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 Billingayarlanmalı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