Umiejętność osadzania wielomodalnego usługi Azure AI Vision
Ważne
Ta umiejętność jest dostępna w publicznej wersji zapoznawczej w obszarze Dodatkowe warunki użytkowania. Interfejs API REST 2024-05-01-Preview obsługuje tę funkcję.
Umiejętność osadzania wielomodalnego usługi Azure AI Vision korzysta z wielomodalnego interfejsu API osadzania usługi Azure AI Vision do generowania osadzeń na potrzeby wprowadzania obrazów lub tekstu.
Ta umiejętność jest obsługiwana tylko w usługach wyszukiwania znajdujących się w regionie obsługującym interfejs API osadzania wielomodalnego przetwarzania obrazów w usłudze Azure AI Vision. Przejrzyj dostępność regionów pod kątem osadzania wielomodalnego. Dane są przetwarzane w obszarze geograficznym, w którym wdrożono model.
Uwaga
Ta umiejętność jest powiązana z usługami azure AI i wymaga rozliczanego zasobu dla transakcji, które przekraczają 20 dokumentów na indeksator dziennie. Wykonanie wbudowanych umiejętności jest naliczane za istniejące usługi Azure AI z płatnością zgodnie z rzeczywistym użyciem.
Ponadto wyodrębnianie obrazów jest rozliczane za pomocą usługi Azure AI Search.
@odata.type
Microsoft.Skills.Vision.VectorizeSkill
Limity danych
Limity danych wejściowych dla umiejętności można znaleźć w dokumentacji usługi Azure AI Vision dla obrazów i tekstu. Rozważ użycie umiejętności Dzielenie tekstu, jeśli potrzebujesz fragmentowania danych dla danych wejściowych tekstowych.
Parametry umiejętności
W parametrach jest rozróżniana wielkość liter.
Dane wejściowe | opis |
---|---|
modelVersion |
(Wymagane) Wersja modelu, która ma zostać przekazana do interfejsu API osadzania wielomodalnego usługi Azure AI Vision na potrzeby generowania osadzania. Ważne jest, aby wszystkie osadzanie przechowywane w danym polu indeksu było generowane przy użyciu tego samego modelVersion elementu . Aby uzyskać informacje na temat obsługi wersji dla tego modelu, zobacz osadzanie wielomodalne. |
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/* . |
image |
Typ złożony. Obecnie działa tylko z polem "/document/normalized_images" utworzonym przez indeksator obiektów blob platformy Azure, gdy imageAction jest ustawiona wartość inną niż none . |
url |
Adres URL do pobrania obrazu do wektoryzowania. |
queryString |
Ciąg zapytania adresu URL do pobrania obrazu, który ma zostać wektoryzowany. Przydatne w przypadku przechowywania adresu URL i tokenu SAS w oddzielnych ścieżkach. |
Tylko jeden z text
elementów image
lub url
/queryString
można go skonfigurować dla pojedynczego wystąpienia umiejętności. Jeśli chcesz wektoryzować zarówno obrazy, jak i tekst w ramach tego samego zestawu umiejętności, dołącz dwa wystąpienia tej umiejętności w definicji zestawu umiejętności, po jednym dla każdego typu danych wejściowych, którego chcesz użyć.
Dane wyjściowe umiejętności
Wyjście | opis |
---|---|
vector |
Dane wyjściowe osadzania tablicy zmiennoprzecinkowych dla tekstu wejściowego lub obrazu. |
Przykładowa definicja
W przypadku wprowadzania tekstu należy wziąć pod uwagę rekord zawierający 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.Vision.VectorizeSkill",
"context": "/document",
"modelVersion": "2023-04-15",
"inputs": [
{
"name": "text",
"source": "/document/content"
}
],
"outputs": [
{
"name": "vector"
}
]
}
W przypadku danych wejściowych obrazu definicja umiejętności może wyglądać następująco:
{
"@odata.type": "#Microsoft.Skills.Vision.VectorizeSkill",
"context": "/document/normalized_images/*",
"modelVersion": "2023-04-15",
"inputs": [
{
"name": "image",
"source": "/document/normalized_images/*"
}
],
"outputs": [
{
"name": "vector"
}
]
}
Jeśli chcesz wektoryzować obrazy bezpośrednio ze źródła danych magazynu obiektów blob, definicja umiejętności może wyglądać następująco:
{
"@odata.type": "#Microsoft.Skills.Vision.VectorizeSkill",
"context": "/document",
"modelVersion": "2023-04-15",
"inputs": [
{
"name": "url",
"source": "/document/metadata_storage_path"
},
{
"name": "queryString",
"source": "/document/metadata_storage_sas_token"
}
],
"outputs": [
{
"name": "vector"
}
]
}
Przykładowe dane wyjściowe
W przypadku danego tekstu wejściowego generowany jest wektoryzowany wynik osadzania.
{
"vector": [
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. Przy założeniu, że dane wyjściowe umiejętności znajdują się w węźle wektorowym dokumentu, a content_vector jest polem w indeksie wyszukiwania, dane wyjścioweFieldMapping w indeksatorze powinny wyglądać następująco:
"outputFieldMappings": [
{
"sourceFieldName": "/document/vector/*",
"targetFieldName": "content_vector"
}
]
W przypadku osadzania obrazów mapowania w indeksie należy użyć funkcji Projekcje indeksu . Ładunek elementu indexProjections
może wyglądać mniej więcej tak:
"indexProjections": {
"selectors": [
{
"targetIndexName": "myTargetIndex",
"parentKeyFieldName": "ParentKey",
"sourceContext": "/document/normalized_images/*",
"mappings": [
{
"name": "content_vector",
"source": "/document/normalized_images/*/vector"
}
]
}
]
}