Udostępnij za pośrednictwem


Umiejętność osadzania w usłudze Azure OpenAI

Umiejętność osadzania w usłudze Azure OpenAI łączy się z wdrożonym modelem osadzania w zasobie usługi Azure OpenAI w celu wygenerowania osadzania podczas indeksowania. Dane są przetwarzane w obszarze geograficznym, w którym wdrożono model.

Wymagania wstępne

Usługa Azure OpenAI musi mieć skojarzona niestandardowa poddomena. Jeśli usługa została utworzona za pośrednictwem witryny Azure Portal, ta poddomena zostanie automatycznie wygenerowana w ramach konfiguracji usługi. Przed rozpoczęciem korzystania z integracji usługi Azure AI Search upewnij się, że usługa zawiera niestandardową poddomenę podrzędną.

Zasoby usługi Azure OpenAI Service (z dostępem do modeli osadzania), które zostały utworzone w portalu usługi Azure AI Foundry, nie są obsługiwane. Tylko zasoby usługi Azure OpenAI utworzone w witrynie Azure Portal są zgodne z integracją umiejętności osadzania usługi Azure OpenAI.

Kreator importowania i wektoryzacji danych w witrynie Azure Portal używa umiejętności osadzania usługi Azure OpenAI w celu wektoryzacji zawartości. Możesz uruchomić kreatora i przejrzeć wygenerowany zestaw umiejętności, aby zobaczyć, jak kreator tworzy umiejętności osadzania modeli.

Uwaga

Ta umiejętność jest powiązana z usługą Azure OpenAI i jest naliczana za istniejącą cenę płatności zgodnie z rzeczywistym użyciem w usłudze Azure OpenAI.

@odata.type

Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill

Limity danych

Maksymalny rozmiar danych wejściowych tekstu powinien wynosić 8000 tokenów. Jeśli dane wejściowe przekraczają dozwoloną wartość maksymalną, model zgłasza nieprawidłowy błąd żądania. Aby uzyskać więcej informacji, zobacz kluczową koncepcję tokenów w dokumentacji usługi Azure OpenAI. Rozważ użycie umiejętności Dzielenie tekstu, jeśli potrzebujesz fragmentowania danych.

Parametry umiejętności

W parametrach jest rozróżniana wielkość liter.

Dane wejściowe opis
resourceUri Identyfikator URI dostawcy modelu, w tym przypadku zasób azure OpenAI. Ten parametr obsługuje tylko adresy URL z domeną openai.azure.com, na przykład https://<resourcename>.openai.azure.com. Jeśli punkt końcowy usługi Azure OpenAI ma adres URL z domeną cognitiveservices.azure.com, na przykład https://<resourcename>.cognitiveservices.azure.com, należy najpierw utworzyć niestandardową poddomenę openai.azure.com dla zasobu usługi Azure OpenAI i użyć go zamiast tego.https://<resourcename>.openai.azure.com
apiKey Klucz tajny używany do uzyskiwania dostępu do modelu. Jeśli podasz klucz, pozostaw authIdentity wartość pustą. W przypadku ustawienia parametru apiKey i authIdentityapiKey parametr jest używany w połączeniu.
deploymentId Nazwa wdrożonego modelu osadzania usługi Azure OpenAI. Model powinien być modelem osadzania, takim jak osadzanie tekstu-ada-002. Zobacz listę modeli usługi Azure OpenAI dla obsługiwanych modeli.
authIdentity Tożsamość zarządzana przez użytkownika używana przez usługę wyszukiwania do nawiązywania połączenia z usługą Azure OpenAI. Możesz użyć tożsamości zarządzanej przez system lub użytkownika. Aby użyć tożsamości manged systemu, pozostaw apiKey i authIdentity puste. Tożsamość zarządzana przez system jest używana automatycznie. Tożsamość zarządzana musi mieć uprawnienia użytkownika openAI usług Cognitive Services do wysyłania tekstu do usługi Azure OpenAI.
modelName Ta właściwość jest wymagana, jeśli zestaw umiejętności został utworzony przy użyciu interfejsu API REST 2024-05-01-preview lub 2024-07-01. Ustaw tę właściwość na nazwę wdrożenia modelu osadzania usługi Azure OpenAI wdrożonego u dostawcy określonego za pomocą polecenia i zidentyfikowane za pomocą resourceUri polecenia deploymentId. Obecnie obsługiwane wartości to text-embedding-ada-002, text-embedding-3-largei text-embedding-3-small.
dimensions (Opcjonalnie, wprowadzone w interfejsie API REST 2024-05-01-preview). Wymiary osadzania, które chcesz wygenerować, jeśli model obsługuje zmniejszanie wymiarów osadzania. Poniżej wymieniono obsługiwane zakresy. Wartość domyślna to maksymalne wymiary dla każdego modelu, jeśli nie zostanie określony. W przypadku zestawów umiejętności utworzonych przy użyciu wersji zapoznawczej 2023-10-01 wymiary są stałe na poziomie 1536.

Obsługiwane wymiary według modelName

Obsługiwane wymiary umiejętności osadzania w usłudze Azure OpenAI zależą od skonfigurowanej modelName umiejętności.

modelName Minimalne wymiary Maksymalne wymiary
text-embedding-ada-002 1536 1536
osadzanie tekstu —3 — duże 1 3072
osadzanie tekstu — 3 małe 1 1536

Dane wejściowe umiejętności

Dane wejściowe opis
text Tekst wejściowy do wektoryzowania. Jeśli używasz fragmentowania danych, źródłem może być /document/pages/*.

Dane wyjściowe umiejętności

Wyjście opis
embedding Wektoryzowane osadzanie dla tekstu wejściowego.

Przykładowa definicja

Rozważ rekord, który ma następujące pola:

{
    "content": "Microsoft released Windows 10."
}

Następnie definicja umiejętności może wyglądać następująco:

{
  "@odata.type": "#Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill",
  "description": "Connects a deployed embedding model.",
  "resourceUri": "https://my-demo-openai-eastus.openai.azure.com/",
  "deploymentId": "my-text-embedding-ada-002-model",
  "modelName": "text-embedding-ada-002",
  "dimensions": 1536,
  "inputs": [
    {
      "name": "text",
      "source": "/document/content"
    }
  ],
  "outputs": [
    {
      "name": "embedding"
    }
  ]
}

Przykładowe dane wyjściowe

W przypadku danego tekstu wejściowego generowany jest wektoryzowany wynik osadzania.

{
  "embedding": [
        0.018990106880664825,
        -0.0073809814639389515,
        .... 
        0.021276434883475304,
      ]
}

Dane wyjściowe znajdują się w pamięci. Aby wysłać te dane wyjściowe do pola w indeksie wyszukiwania, należy zdefiniować element outputFieldMapping, który mapuje wektoryzowane dane wyjściowe osadzania (czyli tablicę) na pole wektorowe. Zakładając, że dane wyjściowe umiejętności znajdują się w węźle osadzania dokumentu, a content_vector jest polem w indeksie wyszukiwania, dane wyjścioweFieldMapping w indeksatorze powinny wyglądać następująco:

  "outputFieldMappings": [
    {
      "sourceFieldName": "/document/embedding/*",
      "targetFieldName": "content_vector"
    }
  ]

Najlepsze rozwiązania

Poniżej przedstawiono kilka najlepszych rozwiązań, które należy wziąć pod uwagę podczas korzystania z tej umiejętności:

  • Jeśli osiągasz limit modułu TPM usługi Azure OpenAI (tokeny na minutę), weź pod uwagę porady dotyczące limitów przydziałów, aby odpowiednio rozwiązać problem. Aby uzyskać więcej informacji na temat wydajności wystąpienia usługi Azure OpenAI, zapoznaj się z dokumentacją monitorowania usługi Azure OpenAI.

  • Wdrożenie modelu osadzania usługi Azure OpenAI używane na potrzeby tej umiejętności powinno być idealnie oddzielone od wdrożenia używanego w innych przypadkach użycia, w tym wektoryzatora zapytań. Ułatwia to dostosowanie każdego wdrożenia do konkretnego przypadku użycia, co prowadzi do zoptymalizowanej wydajności i identyfikowania ruchu z indeksatora i łatwego osadzania wywołań indeksu.

  • Wystąpienie usługi Azure OpenAI powinno znajdować się w tym samym regionie lub co najmniej w pobliżu regionu, w którym jest hostowana usługa wyszukiwania sztucznej inteligencji. Zmniejsza to opóźnienie i zwiększa szybkość transferu danych między usługami.

  • Jeśli masz większy niż domyślny limit modułu TPM usługi Azure OpenAI (tokeny na minutę) opublikowany w dokumentacji limitów przydziałów i limitów , otwórz zgłoszenie do pomocy technicznej z zespołem usługi Azure AI Search, aby można było to odpowiednio dostosować. Dzięki temu proces indeksowania nie jest niepotrzebnie spowalniany przez udokumentowany domyślny limit modułu TPM, jeśli masz wyższe limity.

  • Przykłady i działające przykłady kodu korzystające z tej umiejętności można znaleźć w następujących linkach:

Błędy i ostrzeżenia

Stan Result
Identyfikator URI o wartości null lub nieprawidłowy Błąd
Identyfikator wdrożenia o wartości null lub nieprawidłowy identyfikator wdrożenia Błąd
Tekst jest pusty Ostrzeżenie
Tekst jest większy niż 8000 tokenów Błąd

Zobacz też