Udostępnij za pośrednictwem


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 modelVersionelementu . 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 textelementó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"
                }
            ]
        }
    ]
}

Zobacz też