Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Rozhraní API pro multimodální vkládání umožňují vektorizaci obrázků a textových dotazů. Převedou obrázky na souřadnice v multidimenzionálním vektorovém prostoru. Příchozí textové dotazy lze také převést na vektory a obrázky se dají shodovat s textem na základě sémantické blízkosti. To uživateli umožňuje prohledávat sadu obrázků pomocí textu, aniž by museli používat značky obrázků nebo jiná metadata. Sémantická blízkost často vede k lepším výsledkům hledání.
Rozhraní 2024-02-01
API obsahuje vícejazyčný model (verze 2023-04-15
modelu), který podporuje vyhledávání textu v 102 jazycích. Původní anglický model (verze 2022-04-11
) je stále k dispozici, ale nelze jej kombinovat s novým modelem ve stejném indexu vyhledávání. Pokud jste vektorizovali text a obrázky pomocí anglického modelu, nebudou tyto vektory kompatibilní s vícejazyčným textem a vektory obrázků.
Důležité
Tato rozhraní API jsou dostupná pouze v určitých geografických oblastech. Viz Dostupnost oblastí.
Požadavky
- Předplatné Azure: Můžete si ho vytvořit zdarma.
- Jakmile budete mít předplatné Azure, vytvořte prostředek pro analýzu obrazu v portálu Azure pro získání klíče a koncového bodu. Nezapomeňte ho vytvořit v jedné z podporovaných geografických oblastí: viz Dostupnost oblastí.
- Jakmile bude nasazeno, vyberte Přejít k prostředku. Zkopírujte klíč a koncový bod do dočasného umístění, abyste ho mohli později použít.
Vyzkoušejte multimodální embeddingy
Funkci Multimodal embeddings si můžete vyzkoušet rychle a snadno v prohlížeči pomocí nástroje Vision Studio.
Důležité
Zážitek Vision Studio je omezen na 500 obrázků. Pokud chcete použít větší sadu obrázků, vytvořte vlastní vyhledávací aplikaci pomocí rozhraní API v této příručce.
Volání rozhraní API pro vektorizaci obrázků
Rozhraní retrieval:vectorizeImage
API umožňuje převést data obrázku na vektor. Pokud ho chcete volat, proveďte následující změny příkazu cURL níže:
- Nahraďte
<endpoint>
koncovým bodem služby Azure AI Vision. - Nahraďte
<subscription-key>
klíčem Azure AI Vision. - V textu požadavku nastavte
"url"
adresu URL vzdáleného obrázku, který chcete použít. - Volitelně můžete parametr změnit
model-version
na starší verzi.2022-04-11
je starší verze modelu, který podporuje pouze anglický text. Obrázky a text, které jsou vektorizovány s určitým modelem, nejsou kompatibilní s jinými modely, proto nezapomeňte pro oba použít stejný model.
curl.exe -v -X POST "<endpoint>/computervision/retrieval:vectorizeImage?api-version=2024-02-01&model-version=2023-04-15" -H "Content-Type: application/json" -H "Ocp-Apim-Subscription-Key: <subscription-key>" --data-ascii "
{
'url':'https://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.png'
}"
Pokud chcete vektorizovat místní obrázek, vložte binární data do textu požadavku HTTP.
Volání rozhraní API vrátí vektorový objekt JSON, který definuje souřadnice obrázku ve vysocerozměrném vektorovém prostoru.
{
"modelVersion": "2022-04-11",
"vector": [ -0.09442752, -0.00067171326, -0.010985051, ... ]
}
Zavolejte rozhraní API pro vektorizaci textu
Rozhraní retrieval:vectorizeText
API umožňuje převést textový řetězec na vektor. Pokud ho chcete volat, proveďte následující změny příkazu cURL níže:
- Nahraďte
<endpoint>
koncovým bodem služby Azure AI Vision. - Nahraďte
<subscription-key>
klíčem Azure AI Vision. - V textu požadavku nastavte
"text"
na hledaný termín, který chcete použít jako příklad. - Volitelně můžete parametr změnit
model-version
na starší verzi.2022-04-11
je starší verze modelu, který podporuje pouze anglický text. Obrázky a text, které jsou vektorizovány s určitým modelem, nejsou kompatibilní s jinými modely, proto nezapomeňte pro oba použít stejný model.
curl.exe -v -X POST "<endpoint>/computervision/retrieval:vectorizeText?api-version=2024-02-01&model-version=2023-04-15" -H "Content-Type: application/json" -H "Ocp-Apim-Subscription-Key: <subscription-key>" --data-ascii "
{
'text':'cat jumping'
}"
Volání rozhraní API vrátí vektorový objekt JSON, který definuje souřadnice textového řetězce ve vysokorozměrném vektorovém prostoru.
{
"modelVersion": "2023-04-15",
"vector": [ -0.09442752, -0.00067171326, -0.010985051, ... ]
}
Výpočet podobnosti vektorů
Kosinus podobnost je metoda měření podobnosti dvou vektorů. Ve scénáři načítání obrázků porovnáte vektor vyhledávacího dotazu s vektorem každého obrázku. Obrázky, které jsou nad určitou prahovou hodnotou podobnosti, se pak dají vrátit jako výsledky hledání.
Následující příklad kódu vypočítá kosinus podobnost mezi dvěma vektory. Je na vás, abyste se rozhodli, jakou prahovou hodnotu podobnosti použít pro vrácení obrázků jako výsledků hledání.
public static float GetCosineSimilarity(float[] vector1, float[] vector2)
{
float dotProduct = 0;
int length = Math.Min(vector1.Length, vector2.Length);
for (int i = 0; i < length; i++)
{
dotProduct += vector1[i] * vector2[i];
}
float magnitude1 = Math.Sqrt(vector1.Select(x => x * x).Sum());
float magnitude2 = Math.Sqrt(vector2.Select(x => x * x).Sum());
return dotProduct / (magnitude1 * magnitude2);
}