Umiejętność AML

Note

Wyszukiwanie AI platformy Azure jest dostępna za pośrednictwem portalu Azure, interfejsów API REST i Azure SDKs. Stanowi również podstawę Foundry IQ — zarządzanej warstwy wiedzy, która przekształca treści przedsiębiorstwa w bazy wiedzy do wielokrotnego wykorzystania, z uwzględnieniem uprawnień, dla agentów w portalu Microsoft Foundry.

Ważne

Funkcje, możliwości lub właściwości oznaczone (wersja zapoznawcza) nie są objęte umową dotyczącą poziomu usług, nie są zalecane w przypadku obciążeń produkcyjnych i mogą ulec zmianie lub ograniczeniu, zanim staną się one ogólnie dostępne. Warunki Wyszukiwanie AI platformy Azure wersji zapoznawczej mają zastosowanie do wszystkich funkcji w wersji zapoznawczej, niezależnie od tego, czy jest ona autonomiczna, czy częścią ogólnie dostępnej funkcji.

Skorzystaj z umiejętności AML, aby rozszerzyć wzbogacanie sztucznej inteligencji przy użyciu wdrożonego podstawowego modelu osadzania z katalogu modeli Microsoft Foundry (wersja zapoznawcza) lub niestandardowego modelu Azure Machine Learning (AML). Dane są przetwarzane w obszarze geograficznym , w którym wdrożono model.

Określasz funkcję AML w zestawie umiejętności, który następnie integruje skonfigurowany model z potokiem wzbogacania sztucznej inteligencji. Umiejętność AML jest przydatna do wykonywania przetwarzania lub wnioskowania, które nie są obsługiwane przez wbudowane umiejętności. Przykłady obejmują generowanie osadzania przy użyciu własnego modelu i stosowanie niestandardowej logiki uczenia maszynowego do wzbogaconej zawartości.

W przypadku punktów końcowych online AML użyj stabilnej wersji interfejsu API lub równoważnego zestawu SDK od Azure, aby wywołać funkcję AML. W przypadku połączeń z wykazem modeli użyj wersji zapoznawczej interfejsu API.

Użycie umiejętności AML

Podobnie jak inne umiejętności, umiejętność AML ma dane wejściowe i wyjściowe. Dane wejściowe są wysyłane jako obiekt JSON do bezserwerowego wdrożenia z katalogu modeli Foundry lub punktu końcowego AML online. Dane wyjściowe powinny zawierać kod stanu powodzenia, ładunek JSON i parametry określone przez definicję umiejętności AML. Każda inna odpowiedź jest uznawana za błąd i nie są wykonywane żadne wzbogacenia.

Indeksator ponawia próbę dwa razy dla następujących kodów stanu HTTP:

  • 503 Service Unavailable
  • 429 Too Many Requests

Umiejętność AML dla modeli w usłudze Microsoft Foundry (wersja zapoznawcza)

Wyszukiwanie AI platformy Azure udostępnia wektoryzator katalogu modeli Microsoft Foundry (wersja zapoznawcza), który jest również dostępny w kreatorze Importowanie danych, do połączeń z katalogiem modeli w czasie wykonywania zapytania. Jeśli chcesz użyć tego wektoryzatora dla zapytań, umiejętności AML to odpowiednik indeksowania do generowania osadzania przy użyciu modelu z katalogu modeli.

Podczas indeksowania umiejętność AML może łączyć się z wykazem modeli, aby wygenerować wektory dla indeksu. W czasie wykonywania zapytań mogą używać wektoryzatora do połączenia z tym samym modelem w celu wektoryzacji ciągów tekstowych. Należy używać zdolności AML i wektoryzatora katalogu modeli Microsoft Foundry razem, aby ten sam model embedingu był używany do indeksowania i zapytań. Aby uzyskać więcej informacji, zobacz Używanie modeli osadzania z katalogu modeli Foundry.

Zalecamy użycie kreatora importu danych w celu wygenerowania zestawu umiejętności obejmującego umiejętności AML dla wdrożonych modeli osadzania w rozwiązaniu Foundry. Kreator generuje definicję umiejętności w zakresie AML dla danych wejściowych, wyjściowych i mapowań, dzięki czemu możliwe jest łatwe przetestowanie modelu przed napisaniem jakiegokolwiek kodu.

Wymagania wstępne

  • Projekt oparty na centrum Microsoft Foundry lub obszar roboczy AML dla utworzonego modelu niestandardowego.

  • Dla projektów opartych na hubach tylko wdrożenie bezserwerowe obsługiwanego modelu z katalogu modeli Microsoft Foundry. Za pomocą Azure CLI można aprowizować wdrożenie bezserwerowe.

@odata.type

Microsoft.Skills.Custom.AmlSkill

Parametry umiejętności

Parametry są wrażliwe na wielkość liter. Używane parametry zależą od tego, jakiego uwierzytelniania wymaga dostawca modelu, jeśli istnieje.

Nazwa parametru Opis
uri (Wymagane do uwierzytelniania klucza) Docelowy identyfikator URI wdrożenia bezserwerowego z katalogu modeli Microsoft Foundry lub identyfikator URI punktu końcowego użycia online usługi AML. Dozwolony jest tylko schemat identyfikatora URI HTTPS. Obsługiwane modele z wykazu modeli (tylko wdrożenia bezserwerowe) to:
  • Cohere-embed-v3-english
  • Cohere-embed-v3-wielojęzyczny
  • Cohere-embed-v4
key (Wymagane do uwierzytelniania za pomocą klucza) Klucz interfejsu API dostawcy modelu.
resourceId (Wymagane do uwierzytelniania tokenu) Identyfikator zasobu Azure Resource Manager dostawcy modelu. W przypadku punktu końcowego online usługi AML użyj formatu subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.MachineLearningServices/workspaces/{workspace-name}/onlineendpoints/{endpoint_name}.
region (Opcjonalnie na potrzeby uwierzytelniania tokenu) Region, w którym wdrożono dostawcę modelu. Wymagane, jeśli region różni się od regionu usługi wyszukiwania.
timeout (Opcjonalnie) Limit czasu klienta HTTP wywołującego interfejs API. Musi być sformatowana jako wartość XSD "dayTimeDuration", która jest ograniczonym podzbiorem 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 co najmniej 1 sekundę i maksymalnie 230 sekund.
degreeOfParallelism (Opcjonalnie) Liczba wywołań indeksatora, które są wykonywane równolegle do podanego punktu końcowego. Tę wartość można zmniejszyć, jeśli punkt końcowy zawodzi pod zbyt dużym obciążeniem żądań. 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. Można ustawić degreeOfParallelism wartość co najmniej 1 i maksymalnie 10.

Uwierzytelniania

Umiejętności AML zapewniają dwie opcje uwierzytelniania:

  • Uwierzytelnianie oparte na kluczach: Należy podać klucz statyczny do uwierzytelniania żądań oceniania z poziomu umiejętności AML. Ustaw parametry uri i key dla tego połączenia.

  • Uwierzytelnianie oparte na tokenach: Projekt oparty na centrum rozwiązania Foundry lub punkt końcowy online AML jest wdrażany przy użyciu uwierzytelniania opartego na tokenach. Usługa Wyszukiwanie AI platformy Azure musi mieć tożsamość zarządzaną i przypisanie roli na dostawcy modelu. Następnie funkcja AML używa tożsamości usługi wyszukiwania do uwierzytelnienia się u dostawcy modelu, nie wymagając kluczy statycznych. Tożsamość usługi wyszukiwania musi mieć rolę Właściciel lub Współautor . Ustaw parametr resourceId, a jeśli usługa wyszukiwania znajduje się w innym regionie niż dostawca modelu, ustaw parametr region.

Dane wejściowe dla umiejętności

Dane wejściowe dla umiejętności to węzeł wzbogaconego dokumentu utworzonego podczas rozbijania dokumentu. Na przykład może to być dokument pierwotny, 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 funkcjonalnoś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 projektu opartego na centrum Foundry lub punktu końcowego online AML. Pola najwyższego poziomu struktury odpowiadają "nazwam" określonym w inputs sekcji definicji umiejętności. Wartości tych pól pochodzą z "źródeł" tych pól, które mogą pochodzić z pola w dokumencie lub innej umiejętności.

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

Przykładowa struktura danych wyjściowych JSON

Dane wyjściowe odpowiadają na odpowiedź z projektu opartego na hubie Foundry lub z punktu końcowego online AML. Dostawca modelu powinien zwrócić tylko ładunek JSON (zweryfikowany przez sprawdzenie nagłówka odpowiedzi Content-Type) i powinien być obiektem, którego pola są wzbogaceniami pasującymi do "nazw" w obiekcie output, a których wartość jest traktowana jako wzbogacenie.

{
    "detected_language_code": "es"
}

Definicja przykładu formowania liniowego

  {
    "@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"
      }
    ]
  }

Struktura JSON do śródliniowego 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 sytuacji, kiedy projekt oparty na centrum Foundry lub punkt końcowy online usługi AML jest niedostępny lub wysyła kody statusu wskazujące niepowodzenie, następujące przypadki są uznawane za błędy:

  • Dostawca modelu zwraca kod stanu powodzenia, ale odpowiedź wskazuje, że application/json nie jest to. Odpowiedź jest zatem nieprawidłowa i nie są wykonywane żadne ulepszenia.

  • Dostawca modelu zwraca nieprawidłowy kod JSON.

Jeśli dostawca modelu jest niedostępny lub zwraca błąd HTTP, przyjazny błąd z wszelkimi dostępnymi szczegółami dotyczącymi błędu HTTP zostanie dodany do historii wykonywania indeksatora.