Megosztás:


Integrált vektorbeágyazás az Azure AI Searchben

Az integrált vektorizálás az Indexelési és lekérdezési folyamatok kiterjesztése az Azure AI Searchben. A következő képességeket adja hozzá:

  • Vektorkódolás az indexelés során
  • Vektorkódolás lekérdezések során

Az adattömb-készítés nem nehéz követelmény, de ha a nyers dokumentumok nem kicsik, az adattömb-készítés szükséges a modellek beágyazási modelljeinek tokenbemeneti követelményeinek teljesítéséhez.

A vektorkonvertálások egyirányúak: nonvektor–vektor. A lekérdezések és eredmények esetében például nincs vektor–szöveg átalakítás, például vektoros eredmény átalakítása emberi olvasásra alkalmas sztringgé, ezért az indexek vektor- és nemvektormezőket is tartalmaznak.

Az integrált vektorizálás felgyorsítja a fejlesztést, és minimalizálja a karbantartási feladatokat az adatbetöltés és a lekérdezési idő során, mivel kevesebb műveletet kell manuálisan végrehajtania. Ez a funkció már általánosan elérhető.

Integrált vektorizáció használata az indexelés során

Az integrált adattömbök és vektorkonvertálások esetében a következő összetevőket kell függőségbe vonnia:

Integrált vektorizáció használata lekérdezésekben

Ha a lekérdezések során a szöveg-vektor konverziót szeretné elvégezni, az alábbi összetevőkre kell függőséget vállalnia:

Összetevő diagramja

Az alábbi ábra az integrált vektorizáció összetevőit mutatja be.

Egy integrált vektorizálási munkafolyamat összetevőinek diagramja.

A munkafolyamat egy indexelő folyamat. Az indexelők lekérik az adatokat a támogatott adatforrásokból, és adatbővítést (vagy alkalmazott AI-t) kezdeményeznek az Azure OpenAI vagy az Foundry Tools meghívásával, vagy egyéni kóddal szöveg-vektoros átalakításokhoz vagy egyéb feldolgozáshoz.

A diagram az integrált vektorizálásra összpontosít, de a megoldás nem korlátozódik erre a listára. További készségeket adhat hozzá az AI-bővítéshez, létrehozhat egy tudástárat, szemantikai rangsorolást adhat hozzá, relevanciahangolást és egyéb lekérdezési funkciókat adhat hozzá.

Rendelkezésre állás és díjszabás

Az integrált vektorizálás minden régióban és szinten elérhető. Ha azonban készségeket és vektorizálókat használ az AI-bővítéshez, regionális követelmények vonatkozhatnak. További információ: Öntödei erőforrás csatolása egy készségkészlethez.

Ha egyéni jártasságot és Azure-beli üzemeltetési mechanizmust (például Azure-függvényalkalmazást, Azure Web Appot és Azure Kubernetes-t) használ, ellenőrizze az Azure-termékek régiónkénti oldalát a funkciók elérhetőségéről.

Az adatrészletezés (Text Split skill) ingyenes, és minden régióban elérhető az összes Foundry-eszközön.

Feljegyzés

A 2019. január 1. előtt létrehozott régebbi keresési szolgáltatások némelyike olyan infrastruktúrán van üzembe helyezve, amely nem támogatja a vektoros számítási feladatokat. Ha vektormezőt próbál hozzáadni egy sémához, és hibaüzenetet kap, az elavult szolgáltatások eredménye. Ebben az esetben létre kell hoznia egy új keresési szolgáltatást a vektorfunkció kipróbálásához.

Milyen forgatókönyvek támogathatják az integrált vektorizálást?

  • Bontsa fel a nagyméretű dokumentumokat adattömbökre, amelyek vektoros és nem avektoros forgatókönyvekhez hasznosak. Vektorok esetén az adattömbök segítenek megfelelni a modellek beágyazásának bemeneti korlátainak. Nem megadó forgatókönyvek esetén előfordulhat, hogy van egy csevegőstílusú keresőalkalmazása, amelyben a GPT indexelt adattömbökből állít össze válaszokat. A csevegési stílusú kereséshez vektoros vagy nem konvektorizált adattömböket is használhat.

  • Hozzon létre egy vektortárolót, ahol az összes mező vektormező, és a dokumentumazonosító (a keresési indexhez szükséges) az egyetlen sztringmező. Kérje le a vektortárolót a dokumentumazonosítók lekéréséhez, majd küldje el a dokumentum vektormezőit egy másik modellnek.

  • Vektor- és szövegmezők kombinálása hibrid kereséshez szemantikai rangsorolással vagy anélkül. Az integrált vektorizálás leegyszerűsíti a vektorkeresés által támogatott összes forgatókönyvet.

Integrált vektorizáció használata

Csak lekérdezési vektorizálás esetén:

  1. Vektorizáló hozzáadása indexhez. Ennek ugyanazzal a beágyazási modellel kell rendelkeznie, amely vektorokat hoz létre az indexben.
  2. Rendelje hozzá a vektorosítót egy vektorprofilhoz, majd rendeljen hozzá egy vektorprofilt a vektormezőhöz.
  3. Alakítsa ki a vektoros lekérdezést , amely meghatározza a vektorizálni kívánt szöveges sztringet.

Egy gyakoribb forgatókönyv – adattömbölés és vektorizálás az indexelés során:

  1. Adatforrás-kapcsolat létrehozása egy támogatott adatforrással indexelőalapú indexeléshez.
  2. Hozzon létre egy olyan készségkészletet, amely felhívja a Szövegfelosztási készséget az adattömbök darabolására, valamint az Azure OpenAI beágyazási vagy más beágyazási készséget az adattömbök vektorizálásához.
  3. Hozzon létre egy indexet, amely egy vektorizálót határoz meg a lekérdezési időhöz, és rendelje hozzá vektormezőkhöz.
  4. Hozzon létre egy indexelőt , amellyel az adatok beolvasásától kezdve a képességkészletek végrehajtásáig mindent vezérelhet az indexelésen keresztül. Javasoljuk, hogy az indexelőt ütemezés szerint futtassa a módosított dokumentumok vagy a szabályozás miatt kihagyott dokumentumok felvételéhez.

Ha szeretné, hozzon létre másodlagos indexeket olyan speciális forgatókönyvekhez, ahol az adattömb tartalma egy indexben van, és egy másik indexben nincs megadva. Az adattömb indexek (vagy másodlagos indexek) a RAG-alkalmazások esetében hasznosak.

Tipp.

A kód írása előtt próbálja ki az Adatok importálása (új) varázslót az Azure Portalon az integrált vektorizáció megismeréséhez.

Vektorizálók és modellek biztonságos kapcsolatai

Ha az architektúra olyan privát kapcsolatokat igényel, amelyek megkerülik az internetet, létrehozhat egy megosztott privát kapcsolati kapcsolatot az indexelés és a vektorizálók által az indexelés során használt képességek által használt beágyazási modellekhez a lekérdezési időpontban.

A megosztott privát kapcsolatok csak Az Azure-ból Az Azure-ba irányuló kapcsolatokhoz működnek. Ha OpenAI-hoz vagy más külső modellhez csatlakozik, a kapcsolatnak a nyilvános interneten keresztül kell lennie.

Vektorizálási forgatókönyvek esetén a következőt kell használnia:

  • openai_account Azure OpenAI-erőforráson üzemeltetett modellek beágyazásához.

  • sitesegyéni képességként vagy egyéni vektorizálóként elért modellek beágyazásához. A sites csoportazonosító az App Serviceshez és az Azure-függvényekhez tartozik, amelyekkel olyan beágyazási modellt üzemeltethet, amely nem az Azure OpenAI beágyazási modelljei közé tartozik.

Előnyök

Íme néhány az integrált vektorizálás fő előnyei közül:

  • Nincs külön adattömb- és vektorizálási folyamat. A kód írása és karbantartása egyszerűbb.

  • A végpontok közötti indexelés automatizálása. Amikor az adatok megváltoznak a forrásban (például az Azure Storage-ban, az Azure SQL-ben vagy a Cosmos DB-ben), az indexelő a teljes folyamaton keresztül áthelyezheti ezeket a frissítéseket a lekéréstől a dokumentummegrepedésig, az opcionális AI-bővítésen, az adattömbökön, a vektorizáción és az indexelésen keresztül.

  • A kötegelési és újrapróbálkozási logika beépített (nem konfigurálható). Az Azure AI Search belső újrapróbálkozási szabályzatokkal rendelkezik a beágyazási modellhez tartozó jogkivonatkvótákon túli Azure OpenAI-végpont által felszínre kerülő szabályozási hibákhoz. Javasoljuk, hogy az indexelőt ütemezze (például 5 percenként), hogy az indexelő feldolgozhassa az Azure OpenAI-végpont által szabályozott hívásokat az újrapróbálkozási szabályzatok ellenére.

  • Adattömbök tartalmának kivetítése másodlagos indexekre. A másodlagos indexek ugyanúgy jönnek létre, mint bármely keresési index (a mezőkkel és más szerkezetekkel rendelkező sémák), de az indexelők egy elsődleges indexkel töltik fel őket. Az egyes forrásdokumentumok tartalma az elsődleges és másodlagos indexek mezőibe áramlik ugyanazon indexelési futtatás során.

    A másodlagos indexek kérdés- és válasz- vagy csevegésstílusú alkalmazásokhoz készültek. A másodlagos index részletes információkat tartalmaz konkrétabb egyezésekhez, de a szülőindex több információval rendelkezik, és gyakran teljesebb választ adhat. Ha egyezés található a másodlagos indexben, a lekérdezés a szülődokumentumot adja vissza az elsődleges indexből. Ha például egy nagy PDF-fájlt forrásdokumentumként használ, az elsődleges index alapinformációkkal (cím, dátum, szerző, leírás) rendelkezhet, míg a másodlagos indexben kereshető tartalomrészletek találhatók.

Korlátozások

Győződjön meg arról, hogy ismeri az Azure OpenAI-kvótákat és a modellek beágyazási korlátait. Az Azure AI Search újrapróbálkozési szabályzatokkal rendelkezik, de ha a kvóta kimerült, az újrapróbálkozás sikertelen lesz.

Az Azure OpenAI-jogkivonat percenkénti korlátja modellenként, előfizetésenként. Ezt tartsa szem előtt, ha beágyazási modellt használ lekérdezési és indexelési számítási feladatokhoz is. Ha lehetséges, kövesse az ajánlott eljárásokat. Mindegyik számítási feladathoz rendelkezik beágyazási modellel, és próbálja őket különböző előfizetésekben üzembe helyezni.

Az Azure AI Searchben ne feledje, hogy a szolgáltatási korlátok szint és számítási feladatok szerint vannak.

Következő lépések