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:
A hasonlóság beágyazási modelljének régiója, amely jelenleg Európában és a Egyesült Államok.
Az Azure AI Search régiója.
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.