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 beágyazási modellt használhat, de ez a cikk az Azure OpenAI-beágyazási modelleket feltételezi. A mintaadattárban lévő bemutatók az Azure OpenAI hasonlósági beágyazási modelljeire koppintanak.

A dimenzióattribútumok vektormezőnként legalább 2 és legfeljebb 3072 dimenzióval rendelkeznek.

Feljegyzés

Ez a cikk a vektorkeresés általánosan elérhető verziójára vonatkozik, amely feltételezi, hogy az alkalmazás kódja külső erőforrást hív meg, például az Azure OpenAI-t vektorizálásra. A jelenleg előzetes verzióban elérhető integrált vektorizálás nevű új funkció beágyazott vektorizációt kínál. Az integrált vektorizálás függ az indexelőktől, a képességkészletektől és az AzureOpenAIEmbedding képességtől, vagy egy egyéni képességtől, amely egy, az Azure AI Searchből kívül futó modellre mutat.

Modellek használata

  • A lekérdezési bemenetekhez felhasználó által megadott bemenetet kell küldenie egy beágyazási modellbe, amely gyorsan átalakítja az emberi olvasható szöveget vektorlá.

    • A text-embedding-ada-002 használatával például létrehozhat szövegbeágyazásokat és képbeolvasási REST API-t a képbeágyazásokhoz.

    • 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 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

Ha ugyanabban a régióban szeretne erőforrásokat használni, kezdje a következőkkel:

  1. A hasonlóság beágyazási modelljének régiója, amely jelenleg Európában és a Egyesült Államok.

  2. Az Azure AI Search régiója.

  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, jegyezze fel azokat a régiókat, amelyek ezeket a funkciókat biztosítják.

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==0.28.1

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 = "2023-05-15"

response = openai.Embedding.create(
    input="How do I use Python in VSCode?",
    engine="text-embedding-ada-002"
)
embeddings = response['data'][0]['embedding']
print(embeddings)

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 foglalhatja a képtartalom szöveges tartalommal való egyezését, a többnyelvű kereséseket vagy a hasonló dokumentumok megkeresését.
  • 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.
  • 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ésiREST 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