Beágyazások létrehozása keresési lekérdezésekhez és dokumentumokhoz
Az Azure AI Search nem üzemeltet vektorizációs modelleket, ezért az egyik kihívás a lekérdezési bemenetek és kimenetek beágyazása. Bármilyen támogatott beágyazási modellt használhat, de ez a cikk az Azure OpenAI beágyazási modelleket feltételezi a lépésekhez.
Javasoljuk az integrált vektorizálást, amely beépített adattömb- és vektorizálást biztosít. Az integrált vektorizálás függ az indexelőktől, a képességkészletektől és a beépített vagy egyéni képességektől, amelyek egy olyan modellre mutatnak, amely az Azure AI Searchből külsőleg hajt végre.
Ha saját maga szeretné kezelni az adatrészletezést és a vektorizálást, a mintaadattárban bemutatókat biztosítunk, amelyek bemutatják, hogyan integrálható más közösségi megoldásokkal.
Modellek beágyazása vektoros lekérdezésekben
A lekérdezési bemenetek vektorok, vagy szöveg vagy képek, amelyeket vektorokká konvertálnak a lekérdezés feldolgozása során. Az Azure AI Search beépített megoldása egy vektorizáló használata.
A konvertálást úgy is kezelheti, hogy átadja a lekérdezés bemenetét egy tetszőleges beágyazási modellnek. A sebességkorlátozás elkerülése érdekében újrapróbálkozási logikát implementálhat a számítási feladatban. A Python-bemutatóhoz kitartással dolgoztunk.
A lekérdezési kimenetek a keresési indexben található egyező dokumentumok. A keresési indexet korábban olyan dokumentumokkal kellett betölteni, amelyek egy vagy több, beágyazással rendelkező vektormezővel rendelkeznek. Bármilyen beágyazási modellt is használt az indexeléshez, ugyanazt a modellt használja a lekérdezésekhez.
Erőforrások létrehozása ugyanabban a régióban
Az integrált vektorizáláshoz az erőforrásoknak ugyanabban a régióban kell lenniük:
Ha szemantikai rangsorolást tartalmazó hibrid lekérdezéseket szeretne támogatni, vagy ha egyéni szakértelemmel szeretné kipróbálni a gépi tanulási modell integrációját egy AI-bővítési folyamatban, válasszon ki egy Azure AI Search-régiót, amely ezeket a funkciókat biztosítja.
Beágyazás létrehozása rögtönzött lekérdezéshez
A következő Python-kód létrehoz egy beágyazást, amelyet beilleszthet egy vektoros lekérdezés "értékek" tulajdonságába.
!pip install openai
import openai
openai.api_type = "azure"
openai.api_key = "YOUR-API-KEY"
openai.api_base = "https://YOUR-OPENAI-RESOURCE.openai.azure.com"
openai.api_version = "2024-02-01"
response = openai.Embedding.create(
input="How do I use Python in VSCode?",
engine="text-embedding-ada-002"
)
embeddings = response['data'][0]['embedding']
print(embeddings)
A kimenet egy 1536 dimenzióból álló vektortömb.
Tippek és javaslatok a modellintegráció beágyazásához
Használati esetek azonosítása: Értékelje ki azokat a konkrét használati eseteket, amikor a vektorkeresési funkciók beágyazási modellintegrációja értéket adhat a keresési megoldáshoz. Ez magában foglalhat többmodális vagy egyező képtartalmat szöveges tartalommal, többnyelvű kereséssel vagy hasonlósági kereséssel.
Adatbeépítési stratégia tervezése: A beágyazási modellek korlátokkal rendelkeznek az elfogadható jogkivonatok számára, ami adattömb-követelményeket vezet be a nagy méretű fájlok esetében. További információ: Nagy méretű tömbdokumentumok vektorkeresési megoldásokhoz.
Költség és teljesítmény optimalizálása: A vektorkeresés erőforrás-igényes lehet, és maximális korlátok vonatkoznak rá, ezért érdemes csak a szemantikai jelentést tartalmazó mezőket vektorizálni. Csökkentse a vektorméretet , hogy több vektort tárolhass ugyanazon az áron.
Válassza ki a megfelelő beágyazási modellt: Válasszon ki egy megfelelő modellt az adott használati esethez, például szövegalapú keresésekhez, vagy képbeágyazásokhoz a vizuális keresésekhez. Fontolja meg olyan előre betanított modellek használatát, mint a text-embedding-ada-002 az OpenAI-ból vagy az Azure AI Computer Vision rendszerkép-lekérési REST API-ja.
Vektorhosszok normalizálása: A hasonlósági keresés pontosságának és teljesítményének javítása érdekében győződjön meg arról, hogy a vektorhosszok normalizálva vannak a keresési indexben való tárolás előtt. A legtöbb előre betanított modell már normalizálva van, de nem minden.
A modell finomhangolása: Szükség esetén finomhangolja a kiválasztott modellt a tartományspecifikus adatokon, hogy javítsa a keresési alkalmazás teljesítményét és relevanciáját.
Tesztelés és iterálás: A beágyazási modell integrációjának folyamatos tesztelése és finomítása a kívánt keresési teljesítmény és a felhasználói elégedettség elérése érdekében.