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.
Poznámka
Azure AI Vyhledávač je k dispozici prostřednictvím portálu Azure, rozhraní REST API a Sady Azure SDK. Podporuje také Foundry IQ, spravovanou znalostní vrstvu, která transformuje podnikový obsah na opakovaně použitelné znalostní báze s podporou oprávnění pro agenty na portálu Microsoft Foundry.
Poznámka
Tato funkce je aktuálně ve verzi Preview. Tato verze Preview je poskytována bez smlouvy o úrovni služeb a nedoporučuje se pro produkční úlohy. Některé funkce nemusí být podporované nebo můžou mít omezené možnosti. Další informace najdete v tématu Supplementální podmínky použití pro Microsoft Azure Verze Preview.
Funkce podpory více vektorových polí v Azure AI Vyhledávač umožňuje indexovat více podřízených vektorů v jednom poli dokumentu. Tato funkce je cenná pro případy použití, jako jsou multimodální data nebo dlouhé dokumenty, kdy reprezentace obsahu s jedním vektorem by vedla ke ztrátě důležitých podrobností.
Omezení
- Sémantický ranker není podporován pro vnořené bloky dat v rámci komplexního pole. Sémantický ranker proto nepodporuje vnořené vektory v polích s více vektory.
Principy podpory více vektorových polí
Tradičně se typy Collection(Edm.Single) vektorů dají použít jenom v polích nejvyšší úrovně. Díky zavedení podpory více vektorových polí teď můžete použít vektorové typy v vnořených polích složitých kolekcí, což umožňuje efektivně přidružit více vektorů k jednomu dokumentu.
Jeden dokument může obsahovat celkem až 100 vektorů ve všech složitých polích kolekce. Vektorová pole mohou být vnořena pouze do hloubky jedné úrovně.
Definice indexu s více vektorovým polem
Pro tuto funkci nejsou potřeba žádné nové vlastnosti indexu. Tady je ukázková definice indexu:
{
"name": "multivector-index",
"fields": [
{
"name": "id",
"type": "Edm.String",
"key": true,
"searchable": true
},
{
"name": "title",
"type": "Edm.String",
"searchable": true
},
{
"name": "description",
"type": "Edm.String",
"searchable": true
},
{
"name": "descriptionEmbedding",
"type": "Collection(Edm.Single)",
"dimensions": 3,
"searchable": true,
"retrievable": true,
"vectorSearchProfile": "hnsw"
},
{
"name": "scenes",
"type": "Collection(Edm.ComplexType)",
"fields": [
{
"name": "embedding",
"type": "Collection(Edm.Single)",
"dimensions": 3,
"searchable": true,
"retrievable": true,
"vectorSearchProfile": "hnsw"
},
{
"name": "timestamp",
"type": "Edm.Int32",
"retrievable": true
},
{
"name": "description",
"type": "Edm.String",
"searchable": true,
"retrievable": true
},
{
"name": "framePath",
"type": "Edm.String",
"retrievable": true
}
]
}
]
}
Ukázkový dokument pro import dat
Tady je ukázkový dokument, který ukazuje, jak můžete v praxi používat pole s více vektory:
{
"id": "123",
"title": "Non-Existent Movie",
"description": "A fictional movie for demonstration purposes.",
"descriptionEmbedding": [1, 2, 3],
"releaseDate": "2025-08-01",
"scenes": [
{
"embedding": [4, 5, 6],
"timestamp": 120,
"description": "A character is introduced.",
"framePath": "nonexistentmovie\\scenes\\scene120.png"
},
{
"embedding": [7, 8, 9],
"timestamp": 2400,
"description": "The climax of the movie.",
"framePath": "nonexistentmovie\\scenes\\scene2400.png"
}
]
}
V tomto příkladu je pole scény komplexní kolekcí obsahující více vektorů (pole vkládání) spolu s dalšími přidruženými daty. Každý vektor představuje scénu z filmu a lze ji použít k vyhledání podobných scén v jiných filmech, mimo jiné potenciální případy použití.
Dotaz s podporou více vektorových polí
Funkce podpory více vektorových polí zavádí některé změny mechanismu dotazu v Azure AI Vyhledávač. Hlavní proces dotazování ale zůstává z velké části stejný.
vectorQueries Dříve mohla pouze cílit na vektorová pole definovaná jako prvotní indexová pole. Díky této funkci uvolníme toto omezení a povolíme vektorQueries cílit pole, která jsou vnořená do kolekce komplexních typů (až do hloubky jedné úrovně).
Kromě toho je k dispozici nový parametr času dotazu: perDocumentVectorLimit.
- Nastavením
perDocumentVectorLimitna1se zajišťuje, že se shoduje nejvýše jeden vektor na dokument, což zaručuje, že výsledky pocházejí z různých dokumentů. - Nastavení
perDocumentVectorLimitna0(neomezené) umožňuje spárovat více relevantních vektorů ze stejného dokumentu.
{
"vectorQueries": [
{
"kind": "text",
"text": "whales swimming",
"K": 50,
"fields": "scenes/embedding",
"perDocumentVectorLimit": 0
}
],
"select": "title, scenes/timestamp, scenes/framePath"
}
Seřadit napříč více vektory v jednom poli
Pokud je k jednomu dokumentu přidruženo více vektorů, Azure AI Vyhledávač použije k hodnocení maximální skóre. Systém používá k určení skóre každého dokumentu nejrelevantní vektor, který zabraňuje ředění méně relevantními vektory.
Načtení relevantních prvků v kolekci
Pokud je v parametru $select zahrnuta kolekce komplexních typů, vrátí se pouze prvky odpovídající vektorovým dotazům. To je užitečné při načítání přidružených metadat, jako jsou časová razítka, popisy textu nebo cesty k obrázkům.
Poznámka
Pokud chcete zmenšit velikost datové části, vyhněte se zahrnutí hodnot vektoru do parametru $select . Pokud nepotřebujete, zvažte vynechání úložiště vektorů úplně.
Ladění více vektorových dotazů (Preview)
Pokud dokument obsahuje více vložených vektorů, jako je text a vkládání obrázků do různých podfieldů, systém k řazení dokumentu použije nejvyšší skóre vektoru ve všech prvcích.
Pokud chcete ladit způsob, jakým jednotlivé vektory přispěly, použijte innerHits režim ladění (dostupný v nejnovější verzi rozhraní REST API verze Preview).
POST /indexes/my-index/docs/search?api-version=2026-05-01-preview
{
"vectorQueries": [
{
"kind": "vector",
"field": "keyframes.imageEmbedding",
"kNearestNeighborsCount": 5,
"vector": [ /* query vector */ ]
}
],
"debug": "innerHits"
}
Příklad obrazce odpovědi
"@search.documentDebugInfo": {
"innerHits": {
"keyframes": [
{
"ordinal": 0,
"vectors": [
{
"imageEmbedding": {
"searchScore": 0.958,
"vectorSimilarity": 0.956
},
"textEmbedding": {
"searchScore": 0.958,
"vectorSimilarity": 0.956
}
}
]
},
{
"ordinal": 1,
"vectors": [
{
"imageEmbedding": null,
"textEmbedding": {
"searchScore": 0.872,
"vectorSimilarity": 0.869
}
}
]
}
]
}
}
Popisy polí
| Pole | Popis |
|---|---|
ordinal |
Index prvku uvnitř kolekce založený na nule. |
vectors |
Jedna položka pro prohledávatelné vektorové pole obsažené v prvku. |
searchScore |
Konečné skóre pro toto pole po bodovém přehodnocení a zvýhodnění. |
vectorSimilarity |
Nezpracovaná podobnost vrácená funkcí vzdálenosti. |
Poznámka
innerHits v současné době hlásí pouze vektorová pole.
Vztah s debug=vector
Tady je několik faktů o této vlastnosti:
Stávající
debug=vectorpřepínač zůstane beze změny.Při použití s více vektorovými poli
@search.documentDebugInfo.vector.subscorezobrazuje maximální skóre použité k řazení nadřazeného dokumentu, ale ne podrobností o jednotlivých elementech.Umožňuje
innerHitszískat přehled o tom, jak jednotlivé prvky přispěly k skóre.