Megosztás a következőn keresztül:


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:

  1. Ellenőrizze a régiókat, hogy van-e szövegbeágyazási modell.

  2. Keresse meg ugyanazt a régiót az Azure AI Search esetében.

  3. 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.

Következő lépések