Udostępnij za pośrednictwem


Umiejętność AML w potoku wzbogacania usługi Azure AI Search

Ważne

Obsługa połączeń indeksatora z wykazem modeli usługi Azure AI Foundry jest dostępna w publicznej wersji zapoznawczej w ramach dodatkowych warunków użytkowania. Interfejsy API REST w wersji zapoznawczej obsługują tę umiejętność.

Umiejętność AML umożliwia rozszerzenie wzbogacania sztucznej inteligencji za pomocą niestandardowego modelu usługi Azure Machine Learning (AML) lub wdrożenia podstawowego modelu osadzania w narzędziu Azure AI Foundry. Gdy model AML zostanie wytrenowany i wdrożony, umiejętności AML zintegrują go z zestawem umiejętności.

Użycie umiejętności AML

Podobnie jak inne wbudowane umiejętności, niestandardowa umiejętność AML ma dane wejściowe i wyjściowe. Dane wejściowe są wysyłane do wdrożonego punktu końcowego online AML jako obiektu JSON. Dane wyjściowe punktu końcowego muszą być ładunkiem JSON w odpowiedzi wraz z kodem stanu powodzenia. Dane są przetwarzane w obszarze geograficznym, w którym wdrożono model. Oczekuje się, że odpowiedź dostarczy dane wyjściowe określone przez definicję umiejętności AML . Każda inna odpowiedź jest uważana za błąd i nie są wykonywane żadne wzbogacenia.

Uwaga

Indeksator ponawia próbę dwukrotnie dla niektórych standardowych kodów stanu HTTP zwróconych z punktu końcowego online usługi AML. Te kody stanu HTTP to:

  • 503 Service Unavailable
  • 429 Too Many Requests

Umiejętności AML można wywołać za pomocą stabilnej wersji interfejsu API 2024-07-01 lub równoważnej wersji zestawu Azure SDK lub 2024-05-01-preview interfejsu API na potrzeby połączeń z wykazem modeli w portalu azure AI Foundry.

Umiejętność AML dla modeli w usłudze Azure AI Foundry

Począwszy od interfejsu API REST 2024-05-01-preview oraz w witrynie Azure Portal (która jest również przeznaczona dla wersji 2024-05-01-preview), usługa Azure AI Search udostępnia wektory katalogów katalogu modeli usługi Azure AI Foundry na potrzeby połączeń czasu zapytań z wykazem modeli w portalu Azure AI Foundry. Jeśli chcesz użyć tego wektoryzatora dla zapytań, umiejętność AML jest odpowiednikiem indeksowania do generowania osadzania przy użyciu modelu w katalogu modeli usługi Azure AI Foundry.

Podczas indeksowania umiejętność AML może łączyć się z wykazem modeli, aby wygenerować wektory dla indeksu. W czasie wykonywania zapytań zapytania mogą używać wektoryzatora do łączenia się z tym samym modelem w celu wektoryzacji ciągów tekstowych dla zapytania wektorowego. W tym przepływie pracy umiejętności AML i wektoryzator wykazu modeli powinny być używane razem, aby używać tego samego modelu osadzania dla indeksowania i zapytań. Aby uzyskać szczegółowe informacje i listę obsługiwanych modeli osadzania, zobacz Use embedding models from Azure AI Foundry model (Używanie modeli osadzania z katalogu modeli usługi Azure AI Foundry).

Zalecamy użycie kreatora Importowanie i wektoryzowanie danych w celu wygenerowania zestawu umiejętności obejmującego umiejętności AML dla wdrożonych modeli osadzania w usłudze Azure AI Foundry. Definicja umiejętności AML dla danych wejściowych, danych wyjściowych i mapowań jest generowana przez kreatora, co zapewnia łatwy sposób testowania modelu przed napisaniem jakiegokolwiek kodu.

Wymagania wstępne

  • Obszar roboczy AML dla utworzonego modelu niestandardowego lub projektu w rozwiązaniu Azure AI Foundry, jeśli model osadzania jest wdrażany z katalogu.
  • Punkty końcowe online (w czasie rzeczywistym) w tym obszarze roboczym dla modelu niestandardowego lub punkt końcowy modelu do osadzania modeli wdrożonych z wykazu.

@odata.type

Microsoft.Skills.Custom.AmlSkill

Parametry umiejętności

W parametrach jest rozróżniana wielkość liter. Które parametry wybierane do użycia zależą od tego, jakiego uwierzytelniania wymaga punkt końcowy online usługi AML, jeśli istnieją

Nazwa parametru opis
uri (Wymagane do uwierzytelniania klucza) Identyfikator URI oceniania punktu końcowego online usługi AML, do którego jest wysyłany ładunek JSON. Dozwolony jest tylko schemat identyfikatora URI https. W przypadku osadzania modeli w katalogu modeli usługi Azure AI Foundry jest to docelowy identyfikator URI.
key (Wymagane do uwierzytelniania klucza) Klucz punktu końcowego online usługi AML lub
resourceId (Wymagane do uwierzytelniania tokenu). Identyfikator zasobu usługi Azure Resource Manager punktu końcowego online usługi AML. Powinna ona mieć format subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.MachineLearningServices/workspaces/{workspace-name}/onlineendpoints/{endpoint_name}.
region (Opcjonalnie w przypadku uwierzytelniania tokenu). Region, w którym wdrożono punkt końcowy online usługi AML.
timeout (Opcjonalnie) Po określeniu wskazuje limit czasu dla klienta http wykonującego wywołanie interfejsu API. Musi być sformatowana jako wartość XSD "dayTimeDuration" (ograniczony podzestaw wartości czasu trwania ISO 8601). Na przykład PT60S przez 60 sekund. Jeśli nie zostanie ustawiona, zostanie wybrana wartość domyślna 30 sekund. Limit czasu można ustawić na maksymalnie 230 sekund i co najmniej 1 sekundę.
degreeOfParallelism (Opcjonalnie) Po określeniu wskazuje liczbę wywołań, które indeksator wykonuje równolegle do podanego punktu końcowego. Tę wartość można zmniejszyć, jeśli punkt końcowy kończy się niepowodzeniem w zbyt dużym obciążeniu żądania. Możesz go zgłosić, jeśli punkt końcowy może zaakceptować więcej żądań i chcesz zwiększyć wydajność indeksatora. Jeśli nie zostanie ustawiona, zostanie użyta wartość domyślna 5. StopieńOfParallelism można ustawić na maksymalnie 10 i co najmniej 1.

Uwierzytelnianie

Punkty końcowe online usługi AML zapewniają dwie opcje uwierzytelniania:

  • Uwierzytelnianie oparte na kluczach. Klucz statyczny jest udostępniany do uwierzytelniania żądań oceniania z umiejętności AML. uri Ustaw parametry i key dla tego połączenia.

  • Uwierzytelnianie oparte na tokenach, w którym punkt końcowy online AML jest wdrażany przy użyciu uwierzytelniania opartego na tokenach. Tożsamość zarządzana usługi Azure AI usługa wyszukiwania musi być włączona i mieć przypisanie roli w obszarze roboczym. Następnie umiejętność AML używa tożsamości zarządzanej usługi do uwierzytelniania względem punktu końcowego online AML bez wymaganych kluczy statycznych. Tożsamość usługi wyszukiwania musi być właścicielem lub współautorem. resourceId Ustaw parametr , a jeśli usługa wyszukiwania znajduje się w innym regionie niż obszar roboczy AML, ustaw region parametr .

Dane wejściowe umiejętności

Dane wejściowe umiejętności to węzeł wzbogaconego dokumentu utworzonego podczas pękania dokumentu. Na przykład może to być dokument główny, znormalizowany obraz lub zawartość obiektu blob. Dla tej umiejętności nie ma wstępnie zdefiniowanych danych wejściowych. W przypadku danych wejściowych należy określić jeden lub więcej węzłów, które są wypełniane podczas wykonywania umiejętności AML.

Dane wyjściowe umiejętności

Dane wyjściowe umiejętności to nowe węzły wzbogaconego dokumentu utworzonego przez umiejętności. Dla tej umiejętności nie ma wstępnie zdefiniowanych danych wyjściowych. W przypadku danych wyjściowych należy podać węzły, które można wypełnić z odpowiedzi JSON umiejętności AML.

Przykładowa definicja

  {
    "@odata.type": "#Microsoft.Skills.Custom.AmlSkill",
    "description": "A custom model that detects the language in a document.",
    "uri": "https://language-model.models.contoso.com/score",
    "context": "/document",
    "inputs": [
      {
        "name": "text",
        "source": "/document/content"
      }
    ],
    "outputs": [
      {
        "name": "detected_language_code"
      }
    ]
  }

Przykładowa struktura danych wejściowych JSON

Ta struktura JSON reprezentuje ładunek wysyłany do punktu końcowego online usługi AML. Pola najwyższego poziomu struktury odpowiadają "nazwam" określonym w inputs sekcji definicji umiejętności. Wartości tych pól pochodzą z tych pól (które mogą pochodzić z source pola w dokumencie lub potencjalnie z innej umiejętności)

{
  "text": "Este es un contrato en Inglés"
}

Przykładowa struktura danych wyjściowych JSON

Dane wyjściowe odpowiadają odpowiedzi zwróconej z punktu końcowego online usługi AML. Punkt końcowy online AML powinien zwracać tylko ładunek JSON (zweryfikowany przez sprawdzenie Content-Type nagłówka odpowiedzi) i powinien być obiektem, w którym pola są wzbogacane pasujące do "nazw" w output obiekcie i którego wartość jest traktowana jako wzbogacanie.

{
    "detected_language_code": "es"
}

Definicja przykładu kształtowania wbudowanego

  {
    "@odata.type": "#Microsoft.Skills.Custom.AmlSkill",
    "description": "A sample model that detects the language of sentence",
    "uri": "https://language-model.models.contoso.com/score",
    "context": "/document",
    "inputs": [
      {
        "name": "shapedText",
        "sourceContext": "/document",
        "inputs": [
            {
              "name": "content",
              "source": "/document/content"
            }
        ]
      }
    ],
    "outputs": [
      {
        "name": "detected_language_code"
      }
    ]
  }

Śródliniowa struktura JSON kształtowania danych wejściowych

{
  "shapedText": { "content": "Este es un contrato en Inglés" }
}

Wbudowane kształtowanie przykładowej struktury danych wyjściowych JSON

{
    "detected_language_code": "es"
}

Przypadki błędów

Oprócz niedostępności kodu stanu AML lub wysyłania kodów stanu nonsuccessful są uznawane za błędne przypadki:

  • Punkt końcowy online AML zwraca kod stanu powodzenia, ale odpowiedź wskazuje, że nie application/jsonjest to , a następnie odpowiedź jest uważana za nieprawidłową i nie są wykonywane żadne wzbogacania.

  • Punkt końcowy online AML zwraca nieprawidłowy kod JSON.

W przypadku, gdy punkt końcowy online AML jest niedostępny lub zwraca błąd HTTP, przyjazny błąd z wszelkimi dostępnymi szczegółami dotyczącymi błędu HTTP jest dodawany do historii wykonywania indeksatora.

Zobacz też