Vektoradatbázisok .NET+ AI-hoz
A vektoradatbázisok vektoros beágyazások tárolására és kezelésére szolgálnak. A beágyazások nem numerikus adatok numerikus ábrázolásai, amelyek megőrzik a szemantikai jelentést. Szavak, dokumentumok, képek, hang és más típusú adatok mind vektorizálhatók. Beágyazásokkal segítheti az AI-modelleket a bemenetek jelentésének megértésében, hogy összehasonlításokat és átalakításokat hajtson végre, például a szöveg összegzését, a környezetfüggő adatok keresését vagy a szövegleírásokból származó képek létrehozását.
Egy vektoradatbázis például a következő célokra használható:
- Azonosítsa a hasonló képeket, dokumentumokat és dalokat azok tartalma, témái, hangulatai és stílusai alapján.
- Azonosítsa a hasonló termékeket jellemzőik, jellemzőik és felhasználói csoportjaik alapján.
- Tartalom, termékek vagy szolgáltatások ajánlása a felhasználói beállítások alapján.
- Az összetett követelményeknek való megfelelés érdekében azonosítsa a nagy választási lehetőségek közül a legjobb lehetőségeket.
- Azonosítsa azokat az adatrendellenességeket vagy csalárd tevékenységeket, amelyek eltérnek az elsődleges vagy a normál mintáktól.
A vektorkeresés ismertetése
A vektoradatbázisok vektorkeresési képességeket biztosítanak a hasonló elemek megkereséséhez az adattulajdonságuk alapján, nem pedig egy tulajdonságmező pontos egyezései alapján. A vektorkeresés egy AI-beágyazási modellel, például az Azure OpenAI beágyazási modellel létrehozott adatok vektorábrázolásainak elemzésével működik. A keresési folyamat méri az adatvektorok és a lekérdezésvektorok közötti távolságot. A lekérdezésvektorhoz legközelebb eső adatvektorok azok, amelyek szemantikailag a leginkább hasonlítanak.
Egyes szolgáltatások, például az Azure Cosmos DB for MongoDB vCore natív vektorkeresési képességeket biztosítanak az adatokhoz. Más adatbázisok vektorkereséssel bővíthetők a tárolt adatok indexelésével egy olyan szolgáltatással, mint az Azure AI Search, amely képes az adatok vizsgálatára és indexelésére a vektorkeresési képességek biztosítása érdekében.
Vektorkeresési munkafolyamatok .NET-tel és OpenAI-val
A vektoradatbázisok és keresési funkcióik különösen hasznosak az Azure OpenAI-val folytatott RAG-minta-munkafolyamatokban . Ez a minta lehetővé teszi az AI-modell bővítését vagy továbbfejlesztését az adatok szemantikailag gazdag ismereteivel. A vektoradatbázisokat használó gyakori AI-munkafolyamatok a következő lépéseket tartalmazhatják:
- Hozzon létre beágyazásokat az adatokhoz egy OpenAI-beágyazási modellel.
- Tárolja és indexelje a beágyazásokat egy vektoradatbázisban vagy keresési szolgáltatásban.
- Felhasználói kérések konvertálása az alkalmazásból beágyazásokká.
- Futtasson vektoros keresést az adatok között, összehasonlítva a felhasználói kérést az adatbázis beágyazási adataival.
- Használjon olyan nyelvi modellt, mint a GPT-35 vagy a GPT-4, hogy felhasználóbarát befejezést hoz létre a vektorkeresés eredményeiből.
A folyamat gyakorlati példájáért látogasson el az Azure OpenAI ragtal történő implementálására egy .NET-alkalmazás oktatóanyagában található vektorkereséssel.
A RAG-minta további előnyei a következők:
- Környezetileg releváns és pontos válaszokat hozhat létre a felhasználói kérésekre az AI-modellekből.
- Az LLM-jogkivonatok korlátainak leküzdése – a nehéz emelés az adatbázisvektor-keresésen keresztül történik.
- Csökkentse a költségeket a frissített adatok gyakori finomhangolásával.
Elérhető vektoradatbázis-megoldások
Az AI-alkalmazások gyakran használnak adatvektor-adatbázisokat és -szolgáltatásokat a relevancia javítása és a testre szabott funkciók biztosítása érdekében. Ezek közül a szolgáltatások közül sok natív SDK-t biztosít a .NET-hez, míg mások olyan REST-szolgáltatást kínálnak, amelyhez egyéni kódon keresztül csatlakozhat. A Szemantic Kernel bővíthető összetevőmodellt biztosít, amely lehetővé teszi a különböző vektortárolók használatát anélkül, hogy minden SDK-t meg kellene tanulnia.
A Szemantic Kernel az alábbi vektoradatbázisokhoz és -szolgáltatásokhoz biztosít összekötőket:
A .NET SDK és az API támogatásának felderítéséhez tekintse meg az egyes szolgáltatások dokumentációját.