umiejętność osadzania wielomodalnego Azure Vision (wersja zapoznawcza)

Note

Wyszukiwanie AI platformy Azure jest dostępna za pośrednictwem portalu Azure, interfejsów API REST i Azure SDKs. Stanowi ona również podstawę IQ rozwiązania Foundry, zarządzanej warstwy wiedzy, która przekształca zawartość przedsiębiorstwa w bazy wiedzy wielokrotnego użytku, uwzględniające uprawnienia dla agentów w portalu Microsoft Foundry.

Ważna

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.

Umiejętność osadzania wielomodalnego Azure Vision (wersja zapoznawcza) używa interfejsu API osadzania wielomodalnego z Azure Vision w narzędziach Foundry Tools do generowania osadzania dla tekstu lub danych wejściowych obrazu.

Dla transakcji przekraczających 20 dokumentów na indeksującego dziennie, ta umiejętność wymaga dołączenia do swojego zestawu umiejętności zasobu Microsoft Foundry rozliczalnego. Wykonanie wbudowanych umiejętności jest pobierane według obowiązującej standardowej ceny Foundry Tools. Ekstrakcja obrazów jest również rozliczalna przez Wyszukiwanie AI platformy Azure.

Zasób Microsoft Foundry służy wyłącznie do celów rozliczeniowych. Przetwarzanie treści odbywa się na oddzielnych zasobach zarządzanych i utrzymywanych przez Wyszukiwanie AI platformy Azure. Twoje dane są przetwarzane w Geo , gdzie wdrażany jest Twój zasób.

Obsługiwane regiony

Obsługiwane regiony różnią się w zależności od modalności i sposobu połączenia umiejętności z multimodalnym API osadzeń Azure Vision.

Metoda Wymaganie
Kreator importu danych
  1. Znajdź region, który obsługuje multimodalne osadzenia w Azure Vision.
  2. Sprawdź, czy region wspiera wzbogacanie AI w Wyszukiwanie AI platformy Azure.
  3. Stwórz usługę Wyszukiwanie AI platformy Azure oraz konto Azure AI wielousługowe w tym samym regionie.
Programowa, wykorzystując połączenie oparte na kluczach do rozliczeń
  1. Znajdź region, który obsługuje multimodalne osadzenia w Azure Vision.
  2. Sprawdź, czy region wspiera wzbogacanie AI w Wyszukiwanie AI platformy Azure.
  3. Stwórz usługę Wyszukiwanie AI platformy Azure oraz zasób Microsoft Foundry w tym samym regionie.
Programowa, wykorzystując bezkluczowe połączenie do rozliczeń Nie ma wymogu posiadania tego samego regionu. Stwórz usługę Wyszukiwanie AI platformy Azure i Microsoft zasób Foundry w dowolnym regionie, gdzie każda usługa jest dostępna.

@odata.type

Microsoft.Skills.Vision.VectorizeSkill

Limity danych

Limity wejściowe dla tej umiejętności można znaleźć w dokumentacji Azure Vision dla obrazów i tekstu. Rozważ użycie umiejętności Text Split , jeśli potrzebujesz podziału danych do wprowadzania tekstu.

Odpowiednie dane wejściowe obejmują:

  • Rozmiar pliku wejściowego obrazu musi być mniejszy niż 20 megabajtów (MB). Rozmiar obrazu musi być większy niż 10 x 10 pikseli i mniejszy niż 16 000 x 16 000 pikseli.
  • Ciąg tekstu wejściowy musi mieć od (włącznie) jednego słowa do 70 słów.

Parametry umiejętności

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

Dane wejściowe Opis
modelVersion (Wymagane) Wersja modelu (2023-04-15) ma być przekazywana do API osadzeń multimodalnych Azure Vision w celu generowania osadzeń. Osadzenia wektorowe można porównywać i dopasowywać tylko wtedy, gdy pochodzą z tego samego typu modelu. Obrazy wektoryzowane przez jeden model nie będą przeszukiwane przez inny model. Najnowsze API Analizy Obrazów oferuje dwa modele:
  • Wersja 2023-04-15 ta obsługuje wyszukiwanie tekstowe w wielu językach. Wyszukiwanie AI platformy Azure korzysta z tej wersji.
  • Model dziedziczny 2022-04-11 , który obsługuje tylko angielski.

Dane wejściowe dla umiejętności

Dane wejściowe do definicji umiejętności obejmują nazwę, źródło oraz dane wejściowe. Poniższa tabela przedstawia poprawne wartości nazwy wejścia. Możesz też określić rekurencyjne wejścia. Więcej informacji znajdziesz w sekcji REST API oraz Create a skillsset.

Dane wejściowe Opis
text Tekst wejściowy ma być wektoryzowany. Jeśli używasz sekcji danych, źródłem może być /document/pages/*.
image Typ złożony. Obecnie działa tylko z polem "/document/normalized_images", generowanym przez indeksator Azure blobów, gdy imageAction jest ustawione na wartość inną niż none.
url URL do pobrania obrazu do wektoryzacji.
queryString Ciąg zapytania URL do pobrania obrazu do wektoryzacji. Przydatne, jeśli przechowujesz URL i token SAS w osobnych ścieżkach.

Tylko jeden z text, image lub url/queryString może być skonfigurowany dla pojedynczej instancji tej umiejętności. Jeśli chcesz wektoryzować zarówno obrazy, jak i tekst w ramach tego samego zestawu umiejętności, uwzględnij w definicji zestawu umiejętności dwa przykłady tej umiejętności, po jednym dla każdego typu wejścia, którego chcesz używać.

Dane wyjściowe umiejętności

Wynik Opis
vector Tablica osadzająca float dla tekstu wejściowego lub obrazu jest osadzona.

Przykładowa definicja

Do wprowadzania tekstu rozważmy blob, który zawiera następującą zawartość:

{
    "content": "Forests, grasslands, deserts, and mountains are all part of the Patagonian landscape that spans more than a million square  kilometers of South America."
}

Jeśli chodzi o wprowadzanie tekstowe, 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",
            "targetName": "text_vector"
        } 
    ] 
} 

Dla wprowadzania obrazów druga definicja umiejętności w tym samym zestawie umiejętności może wyglądać tak:

{
    "@odata.type": "#Microsoft.Skills.Vision.VectorizeSkill",
    "context": "/document/normalized_images/*",
    "modelVersion": "2023-04-15", 
    "inputs": [
        {
            "name": "image",
            "source": "/document/normalized_images/*"
        }
    ],
    "outputs": [
        {
            "name": "vector",
            "targetName": "image_vector"
        }
    ]
}

Jeśli chcesz wektoryzować obrazy bezpośrednio ze źródła danych pamięci blob, zamiast wyodrębniać je podczas indeksowania, definicja umiejętności powinna określać adres URL, a być może token SAS w zależności od bezpieczeństwa przechowywania. W tym scenariuszu 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",
            "targetName": "image_vector"
        }
    ]
}

Przykładowe dane wyjściowe

Dla danego wejścia otrzymuje się wektoralne wyjście osadzenia. Wyjście to 1 024 wymiary, co jest liczbą wymiarów obsługiwanych przez multimodalne API Azure Vision.

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

Wyjście pozostaje w pamięci. Aby wysłać ten wynik do pola w indeksie wyszukiwania, musisz zdefiniować outputFieldMapping , który odwzorowuje wektorowe wyjście osadzenia (czyli tablicę) na pole wektorowe. Zakładając, że wyjście umiejętności znajduje się w węźle wektorowym dokumentu, a content_vector jest polem w indeksie wyszukiwania, outputFieldMapping w indeksatorze powinien wyglądać następująco:

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

Do mapowania osadzeń obrazów na indeks używasz projekcji indeksowych. Ładunek dla indexProjections może wyglądać mniej więcej jak w poniższym przykładzie. image_content_vector jest polem w indeksie i jest wypełnione treściami znalezionymi w wektorze tablicy normalized_images .

"indexProjections": {
    "selectors": [
        {
            "targetIndexName": "myTargetIndex",
            "parentKeyFieldName": "ParentKey",
            "sourceContext": "/document/normalized_images/*",
            "mappings": [
                {
                    "name": "image_content_vector",
                    "source": "/document/normalized_images/*/vector"
                }
            ]
        }
    ]
}

Zobacz także