Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Note
Azure AI Keresés a Azure portálon, REST API-kon és Azure SDK-k keresztül érhető el. Emellett a Foundry IQ-t is támogatja, amely a vállalati tartalmakat újrafelhasználható, engedélytudatos tudásbázisokká alakítja át az Microsoft Foundry portálon található ügynökök számára.
Az Azure AI Keresés nem üzemeltet beágyazási modelleket, ezért Ön felelős a lekérdezési bemenetek és kimenetek vektorainak létrehozásáért. Válasszon az alábbi módszerek közül:
| Megközelítés | Leírás |
|---|---|
| Integrált vektorizáció | Az Azure AI Keresés beépített adattömb-készítést és vektorizálást használ. Ez a megközelítés függőséget alkalmaz az indexelők, a készségkészletek és a beépített vagy egyéni képességek között, amelyek külső beágyazási modellekre mutatnak, például a Microsoft Foundryben. |
| Manuális vektorizálás | Saját maga kezelheti az adattömbkezelést és a vektorizálást. Az indexeléshez előre elkészített dokumentumokat a keresési index vektormezőibe kell leküldeni. A lekérdezéshez előre lefordított vektorokat kell megadnia a keresőmotornak. Ennek a megközelítésnek a bemutatóit az azure-search-vector-samples GitHub-adattárban tekintheti meg. |
A legtöbb forgatókönyv esetében javasoljuk az integrált vektorizálást. Bár bármilyen támogatott beágyazási modellt használhat, ez a cikk az Azure OpenAI-modelleket használja illusztrációként.
Modellek beágyazása vektoros lekérdezésekben
A beágyazási modellek vektorokat hoznak létre mind a lekérdezési bemenetekhez, mind a lekérdezéskimenetekhez. A lekérdezési bemenetek a következők:
A lekérdezésfeldolgozás során vektorokká konvertált szöveg vagy képek. Az integrált vektorizálás részeként a vektorosító végrehajtja ezt a feladatot.
Előre lefordított vektorok. Ezeket a vektorokat úgy hozhatja létre, 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 implementáljon újrapróbálkozási logikát a számítási feladatban. A Python-demónk a tenacity könyvtárat használja.
A lekérdezési bemenet alapján a keresőmotor lekéri az egyező dokumentumokat a keresési indexből. Ezek a dokumentumok a lekérdezés kimenetei.
A keresési indexnek már tartalmaznia kell egy vagy több, beágyazással kitöltött vektormezővel rendelkező dokumentumot. Ezeket a beágyazásokat integrált vagy manuális vektorizálással hozhatja létre. A pontos eredmények biztosításához használja ugyanazt a beágyazási modellt az indexeléshez és a lekérdezéshez.
Tippek 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 modellintegrációjának beágyazása értéket ad a keresési megoldásnak. Ilyen például a többmodális keresés vagy a képtartalom szöveges tartalommal való egyeztetése, a többnyelvű keresés és a hasonlóság keresése.
Tervezzen meg egy darabolási stratégiát. A beágyazási modellek esetében korlátos az elfogadott tokenek száma, ezért nagy fájlok esetén szükség van az adatok részekre bontására.
Költség és teljesítmény optimalizálása. A vektorkeresés erőforrás-igényes, és maximális korlátoknak van kitéve, ezért csak a szemantikai jelentést tartalmazó mezőket vektorizálja. Csökkentse a vektorméretet , hogy több vektort tároljon ugyanahhoz az árhoz.
Válassza ki a megfelelő beágyazási modellt. Válasszon ki egy modellt a használati esethez, például a szövegalapú keresésekhez használt szóbeágyazásokhoz vagy a vizualizációs keresésekhez tartozó képbeágyazásokhoz. Fontolja meg az előre betanított modelleket, például az OpenAI-ból származó text-embedding-ada-002 vagy az Azure Vision in Foundry Tools rendszerkép-lekérési REST API-jának használatát.
Vektorhosszok normalizálása. A hasonlósági keresés pontosságának és teljesítményének javítása érdekében normalizálja a vektorhosszokat, mielőtt a keresési indexben tárolja őket. A legtöbb előre betanított modell már normalizálva van.
A modell finomhangolása. Szükség esetén finomhangolhatja a modellt a tartományspecifikus adatokon, hogy javítsa a keresési alkalmazás teljesítményét és relevanciáját.
Tesztelje és iterálja. 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 felhasználói elégedettség elérése érdekében.
Erőforrások létrehozása ugyanabban a régióban
Bár az Azure OpenAI-beágyazási modellek integrált vektorizálása nem igényli az erőforrások ugyanabban a régióban való használatát, az azonos régió használata javíthatja a teljesítményt és csökkentheti a késést.
Ha ugyanazt a régiót szeretné használni az erőforrásokhoz:
Ellenőrizze a szövegbeágyazási modellek regionális elérhetőségét.
Ellenőrizze az Azure AI Keresés regionális elérhetőségét.
Hozzon létre egy Azure OpenAI-erőforrást és egy Azure AI Keresés szolgáltatást ugyanabban a régióban.
Jótanács
Szeretne szemantikai rangsorolást használni hibrid lekérdezésekhez vagy gépi tanulási modellhez az AI-bővítésegyéni képességében? Válasszon ki egy Azure AI Keresés-régiót, amely ezeket a funkciókat biztosítja.
Beágyazási modell kiválasztása a Foundryben
Ha tudást ad hozzá egy ügynök munkafolyamatához az Foundry portálon, lehetősége van keresési index létrehozására. Egy varázsló végigvezeti a lépéseken.
Az egyik lépés egy beágyazási modell kiválasztása az egyszerű szöveges tartalom vektorizálásához. A következő modellek támogatottak:
- szöveg-beágyazás-3-kicsi
- szöveg-beágyazás-3-nagy
- text-embedding-ada-002
- Cohere-embed-v3-english
- Cohere-embed-v3-többnyelvű
A modellnek már telepítve kell lennie, és rendelkeznie kell a hozzáféréséhez szükséges engedéllyel. További információ: Az Öntödei modellek üzembe helyezési áttekintése.
Beágyazás létrehozása alkalmi lekérdezéshez
Ha nem szeretne integrált vektorizálást használni, manuálisan létrehozhat beágyazást, és beillesztheti azt egy vectorQueries.vector vektoros lekérdezés tulajdonságába. További információ: Vektoros lekérdezés létrehozása az Azure AI Keresésben.
Az alábbi példák a text-embedding-ada-002 modellt feltételezik. Cserélje le a(z) YOUR-API-KEY és YOUR-OPENAI-RESOURCE elemet az Azure OpenAI-erőforrás adataira.
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
class Program
{
static async Task Main(string[] args)
{
var apiKey = "YOUR-API-KEY";
var apiBase = "https://YOUR-OPENAI-RESOURCE.openai.azure.com";
var apiVersion = "2024-02-01";
var engine = "text-embedding-ada-002";
var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", $"Bearer {apiKey}");
var requestBody = new
{
input = "How do I use C# in VS Code?"
};
var response = await client.PostAsync(
$"{apiBase}/openai/deployments/{engine}/embeddings?api-version={apiVersion}",
new StringContent(JsonConvert.SerializeObject(requestBody), Encoding.UTF8, "application/json")
);
var responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
}
A kimenet egy 1536 dimenzióból álló vektortömb.