Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A szövegbeágyazási-3 modelleken kevesebb dimenziót használhat. Az Azure OpenAI-ban a text-embedding-3 modelleket áttanítja a Matryoshka Representation Learning (MRL) technika, amely több vektorképezést hoz létre különböző tömörítési szinteken. Ez a megközelítés gyorsabb kereséseket és alacsonyabb tárolási költségeket eredményez a szemantikai információk minimális elvesztésével.
Az Azure AI Searchben az MRL támogatja a skaláris és bináris kvantálás kiegészítését. Kvantálási módszer használata esetén megadhat egy tulajdonságot truncationDimension a vektormezőkön a szövegbeágyazások méretének csökkentése érdekében.
Az MRL többszintű tömörítés a vektoros tárolásra ment, és javítja a vektoros lekérdezések lekérdezési válaszidejének javítását a szövegbeágyazások alapján. Az Azure AI Searchben az MRL-támogatás csak egy másik kvantálási módszerrel együtt érhető el. A bináris kvantálás MRL-vel való használata biztosítja a vektorindex méretének maximális csökkentését. A maximális tárterület-csökkentés eléréséhez használja a bináris kvantálást az MRL-vel, és állítsa a stored-t false-re.
Figyelmeztetés
Ha stored be van állítva false, a vektoradatok elvesznek a részleges dokumentumfrissítések során, hacsak minden frissítéskor nem adja meg a teljes vektort. Állítsa be a storedtrue-re a probléma elkerülésére. További információ: Az opcionális vektorpéldányok eltávolítása a tárolóból.
Előfeltételek
Egy text-embedding-3 modell, például text-embedding-3-small vagy text-embedding-3-large.
Új vektormezők
Edm.HalfvagyEdm.Singletípusú. Nem adhat hozzá MRL-tömörítést egy meglévő mezőhöz.Skaláris vagy bináris kvantálás. Csonkolt dimenziók csak skaláris vagy bináris kvantálás konfigurálásakor állíthatók be. Az MRL-tömörítés bináris kvantálását javasoljuk.
Támogatott ügyfelek
AZ MRL-tömörítés implementálásához használhatja a REST API-kat vagy az Azure SDK-csomagokat. Jelenleg nem támogatott az Azure Portal vagy a Microsoft Foundry.
- Tekintse meg az egyes Azure SDK-csomagok változásnaplóit a következő funkciók támogatásához: Python, .NET, Java, JavaScript.
MRL-kibővített szövegbeágyazások használata
Az MRL a már használt szövegbeágyazási modellbe van beépítve. MRL-képességek használata az Azure AI Searchben:
Az indexséma megadásához használja az Index létrehozása vagy frissítése vagy ezzel egyenértékű API-t.
Vektormezők hozzáadása az indexdefinícióhoz.
Adjon meg egy objektumot
vectorSearch.compressionsaz indexdefinícióban.Adjon meg kvantálási módszert skaláris vagy bináris (ajánlott).
Adja meg a paramétert
truncationDimension, és állítsa 512-re. Ha a text-beágyazási-3-nagy modellt használja, akár 256-ra is csökkentheti.Adjon meg egy vektorprofilt, amely meghatározza a HNSW algoritmust és a vektortömörítési objektumot.
Rendelje hozzá a vektorprofilt egy típusú
Edm.Halfvektormezőhöz vagyEdm.Singlea mezőgyűjteményhez.
Az MRL-kompatibilis szövegbeágyazási modell használatához nincsenek lekérdezésoldali módosítások. Az MRL-támogatás nem befolyásolja az integrált vektorizálást, a szöveg-lekérdezések konvertálását a lekérdezések idején, a szemantikai rangsorolást és egyéb relevancianövelő funkciókat, például az eredeti vektorokkal való újrarankálást és a túlméretezést.
Bár az indexelés a további lépések miatt lassabb, a lekérdezések gyorsabbak.
Példa: Az MRL-t támogató vektorkeresési konfiguráció
Az alábbi példa egy olyan vektorkeresési konfigurációt mutat be, amely megfelel az MRL követelményeinek és ajánlásainak.
truncationDimension egy tömörítési tulajdonság. Meghatározza, hogy mennyivel zsugorodjon a vektorgráf a memóriában egy tömörítési módszerrel, például skaláris vagy bináris tömörítéssel. Bináris kvantálás esetén truncationDimension 1024 vagy újabb értéket javasoljuk. Az 1000-nél kisebb dimenziójúság rontja a keresési eredmények minőségét AZ MRL és a bináris tömörítés használatakor.
{
"vectorSearch": {
"profiles": [
{
"name": "use-bq-with-mrl",
"compression": "use-bq-with-truncation",
"algorithm": "use-hnsw"
}
],
"algorithms": [
{
"name": "use-hnsw",
"kind": "hnsw",
"hnswParameters": {
"m": 4,
"efConstruction": 400,
"efSearch": 500,
"metric": "cosine"
}
}
],
"compressions": [
{
"name": "use-bq-with-truncation",
"kind": "binaryQuantization",
"rescoringOptions": {
"enableRescoring": true,
"defaultOversampling": 10,
"rescoreStorageMethod": "preserveOriginals"
},
"truncationDimension": 1024
}
]
}
}
Az alábbi JSON a profilt használó vektormező-definíciót mutatja be:
Az adattípus vagy
Collection(Edm.Half)vagyCollection(Edm.Single).A mezőnek van egy
vectorSearchProfiletulajdonsága, amely meghatározza az algoritmust és a tömörítési beállításokat.A mező rendelkezik egy
dimensionstulajdonságmal, amely meghatározza a pontozási és rangsorolási eredmények dimenzióinak számát. Az értéknek a használt modell méretkorlátjának kell lennie (1536 a szövegbeágyazáshoz-3-kicsi).
{
"name": "text_vector",
"type": "Collection(Edm.Single)",
"searchable": true,
"filterable": false,
"retrievable": false,
"stored": false,
"sortable": false,
"facetable": false,
"key": false,
"indexAnalyzer": null,
"searchAnalyzer": null,
"analyzer": null,
"normalizer": null,
"dimensions": 1536,
"vectorSearchProfile": "use-bq-with-mrl",
"vectorEncoding": null,
"synonymMaps": []
}