Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Ez a cikk az AI-függvényekkel rendelkező alkalmazások létrehozásakor figyelembe veendő tervezési területeket és tényezőket ismerteti, amikor a technológiával és a megközelítéssel kapcsolatos döntéseket hoz. Az útmutató a hagyományos gépi tanulásra és a generatív AI-számítási feladatokra is vonatkozik. Olyan keretrendszereket fed le, mint a TensorFlow, a Keras és a PyTorch, valamint a különböző kiszolgálási és üzemeltetési lehetőségeket, amelyek közé tartozik a kötegelt, folyamatos és online feldolgozás.
Az intelligens képességek számítási feladatba való tervezésekor számos lehetőség közül választhat. Az egyedi funkcionális és nem funkcionális követelmények segítenek meghatározni, hogy alapszintű következtetési képességekre vagy dinamikusabb problémamegoldó képességekre van-e szüksége. Ezek a követelmények vezetik a magas szintű tervezési döntéseket. Vegye figyelembe ezeket a lehetőségeket, amikor a magas szintű tervezési területekről az alacsonyabb szintű tervezési területekre vált.
A Első lépések című cikkben leírtak szerint az első fontos döntések egyike, hogy saját modellt hozzon létre vagy előre összeállított modellt használjon. Előre összeállított modell használata esetén vegye figyelembe a következő szempontokat:
Katalógusforrások: Fedezze fel az olyan adattárakat, mint a Hugging Face Model Hub, a TensorFlow Hub és az Azure AI Foundry portál modellkatalógusa, hogy előtrénelt modelleket találjon. Ezek a platformok széles körű modellkatalógust biztosítanak a különböző feladatokhoz.
Licencelési: Győződjön meg arról, hogy a modell licencfeltételei megfelelnek a biztonsági, megfelelőségi és alkalmazáscéloknak, különösen akkor, ha az alkalmazást el szeretné terjeszteni vagy más szolgáltatásokkal integrálni.
Főbb összetevők: Tekintse meg a modell architektúráját, betanítási adatait és teljesítményét annak megállapításához, hogy a modell finomhangolva van-e a feladatához vagy tartományához.
Az üzemeltetési platform kiválasztásával kapcsolatos útmutatásért tekintse meg a modell üzemeltetési és következtetési platformjának szempontjait.
Alkalmazásréteg architektúrája
Intelligens képességek tervezésekor az alábbi öt kulcsrétegen egyértelmű határokat kell kialakítania a tervben.
Ügyfélréteg: A felhasználói felület és az ügyfélalkalmazások, ahol a felhasználók vagy folyamatok a számítási feladatok intelligens képességeit tapasztalják. Tartsa vékonyan ezt a réteget, és delegálja a legtöbb képességet más rétegekre.
Intelligenciaréteg: Az AI-műveleteket koordináló útválasztási, vezénylési és ügynöki képességek. Ez a réteg magában foglalja a modell útválasztását, a beszélgetések kezelését és az intelligens döntéshozatalt.
Következtetési réteg: Betanított modellek futtatása előrejelzések vagy adatokon alapuló döntések létrehozásához. Ez a réteg kezeli a modellek betöltését és futásidejének meghívását, a bemeneti előfeldolgozást és a kimeneti utófeldolgozást, valamint az api-kon vagy beágyazott rendszereken keresztüli előrejelzések kiszolgálását.
Tudásréteg: Olyan adatok, tudásgráfok és lekérési szolgáltatások őrzése, amelyek releváns kontextust és információt biztosítanak az intelligenciaréteg számára. Ez a réteg adathozzáférési szabályzatokat és engedélyezést kényszerít ki.
Eszközök rétege: Üzleti API-k, külső szolgáltatások és műveleti képességek, amelyeket az intelligenciaréteg meghívhat. Ennek a rétegnek szabványos felületeket kell használnia, és saját biztonsági szabályzatokat kell érvényesítenie.
Minden réteg saját szabályzatokat, identitásokat és gyorsítótárazási stratégiákat kényszerít ki a saját lokalizált megbízhatósági, biztonsági és teljesítménykövetelményeik elérése érdekében. A rétegek a célzott fejlesztést, tesztelést és hibaelhárítást is lehetővé teszik.
Ajánlások
Az alábbi táblázat összefoglalja a cikkben szereplő javaslatokat.
| Ajánlás | Leírás |
|---|---|
| Adjon elsőbbséget a biztonságnak és a felelős AI szabályozásoknak. | A hagyományos alkalmazásbiztonság és az AI-specifikus biztonsági intézkedések megvalósítása elsődleges tervezési illesztőprogramként. Kényszerítse ki a szolgáltató biztonsági rendszereit, a bemeneti/kimeneti szűrést, az identitáshoz kötött sebességkorlátozást és kvótákat, valamint a jogkivonat-/parancssori korlátokat. A biztonsági és védelmi intézkedéseket ellenőrizni kell, és nem lehet feltételezni, hogy ezek megvalósultak a felügyelt szolgáltatások esetében. |
| Tartsa távol az intelligenciát az ügyféltől. | Olyan háttérszolgáltatásokat tervezhet, amelyek kezelik a horizontális problémákat, például a sebességkorlátozást, a feladatátvételi műveleteket és az AI feldolgozási logikáját. Absztrakciós viselkedés és intelligencia az ügyféltől távol, hogy időtálló legyen a kialakítás, és javuljon a karbantarthatóság. |
| Az adattárakhoz való közvetlen hozzáférés letiltása. | Az AI-rendszerek kódjának nem szabad közvetlenül hozzáférnie az adattárakhoz. Az összes adatkérés átirányítása API-val vagy hasonló adathozzáférési absztrakcióval, amely kikényszeríti az engedélyezést, és propagálja a felhasználói vagy bérlői környezetet a lekéréses és szűrési folyamatba. Továbbítsa a felhasználói identitást, hogy az adatszintű biztonság alkalmazható legyen. |
| Absztraháld a modelleket és eszközöket. | Absztrakciós rétegek használatával leválaszthatja az alkalmazást bizonyos modellekről, eszközökről és technológiákról. Szabványos felületeket és protokollokat implementálhat a technológiák fejlődésével kapcsolatos rugalmasság biztosítása érdekében, ami fenntarthatóbbá és időtállóbbá teszi a tervezést. |
| Viselkedések és műveletek elkülönítése. | Egyértelmű határokat tervez az ügyfél, az intelligencia (útválasztás/vezénylés/ügynökök), a tudás (az adatok földelése) és az eszközök (üzleti API-k) rétegei között. Minden rétegnek saját szabályzatokat, identitásokat és gyorsítótárazási stratégiákat kell érvényesítenie a hatás körének csökkentése és a fejlesztési erőfeszítések fókuszálása érdekében. |
| Rangsorolja az előre összeállított megoldásokat. | A szoftverszolgáltatás (SaaS) vagy platformszolgáltatás (PaaS) használatával kezelheti a munkaterhelési funkciókat, ha megfelelnek a biztonsági, biztonság, megfelelőségi és kvótaigényeknek. Kompenzáló vezérlők implementálása átjárókon keresztül, amelyek érvényesítik a hitelesítést, a kvótákat, a biztonságot és a naplózást. Ha lehetséges, használjon előre összeállított és előre betanított modelleket a számítási feladatok és üzemeltetési csapatok működési és fejlesztési terheinek minimalizálása érdekében. |
A következtetés és az intelligens alkalmazások megkülönböztetése
Az alkalmazásarchitektúra tervezésekor először állapítsa meg, hogy következtetés-központú alkalmazást vagy intelligencia-központú alkalmazást hoz-e létre, mert ez a különbség a tervezési döntéseket vezérli.
Alkalmazások következtetése
A következtetési alkalmazások egylépéses műveleteket hajtanak végre, például besorolást, fordítást vagy összegzést. Ezek az alkalmazások egyszerűbb architektúrával rendelkeznek.
Tipikus architektúra: Az ügyfél egy hitelesítést, kvótákat, biztonságot és útválasztást biztosító AI-átjáróval kommunikál. Az átjáró meghívja a modellszolgáltatási réteget, például az Azure AI Foundryt, az Azure Kubernetes Service-t (AKS) vagy a felügyelt online végpontokat. Ahol praktikus, az eredmények gyorsítótárazhatók a jövőbeli következtetési hívásokhoz, mielőtt visszakerülnek az ügyfélhez.
A következtetési alkalmazások jellemzően közvetlen modellhívásokat használnak, minimális vezénylést igényelnek, a teljesítményre és az átviteli sebességre összpontosítanak, és nem igényelnek összetett állapotkezelést.
Intelligens alkalmazások
Az intelligens alkalmazások tervezést, koordinációt és többlépéses érvelést végeznek, és általában ügynökök és ügynökök vezénylésével valósítják meg. További fogalmakat igényelnek az architektúrájukban.
Tipikus architektúra: Az ügyfél meghív egy ügynököt vagy ügynökvezénylőt. A tervezési vagy autonóm képességek alapján ez a réteg meghív egy eszközréteget, például a Model Context Protocol (MCP) kiszolgálókat vagy az egyéni API-kat. Előfordulhat, hogy az ügynöknek be kell hívnia az alapozó tudásszolgáltatásokat, például a keresési indexet, az adatbázist vagy a gráfot. A folyamat során több ponton is meghívhatók modellek. A gyorsítótárazás több szinten is történhet a folyamat optimalizálása érdekében.
Az intelligens alkalmazások jellemzően ügynöki mintákat és modell-útválasztást használnak összetett munkafolyamat-koordinációval, több adatforrással és eszközzel integrálhatók, és beszélgetés- és környezetkezelést igényelnek.
Alapvető AI-alkalmazástervezési irányelvek
AI-alkalmazások tervezésekor alkalmazza az alábbi alapvető irányelveket a rugalmas és karbantartható rendszerek létrehozásához.
Első lépés az üzleti eredmények
A technológiák kiválasztása előtt egyértelműen definiálja a megoldandó üzleti problémát. Ez a definíció végigvezeti a technológiai választásokat és az architektúra kialakítását. Fontolja meg a következő tényezőket:
Sikerességi metrikák: Mérhető eredményeket határozhat meg, amelyek értékeket mutatnak, például pontossági fejlesztéseket, költségcsökkentéseket vagy felhasználói elégedettségi pontszámokat.
Felhasználói élményre vonatkozó követelmények: Megismerheti, hogy a felhasználók és a folyamatok hogyan fogják használni az AI-képességeket, és hogy milyen válaszidőket várnak el.
Szabályozási korlátozások: Azonosítsa azokat a megfelelőségi követelményeket, amelyek hatással lehetnek a tervezési lehetőségekre, például az adattárolásra vagy a magyarázhatóságra vonatkozó követelményekre.
Tervezés a biztonság érdekében az első naptól
Az AI-számítási feladatok már a kezdettől fogva megkövetelik a biztonság első megközelítését. Az identitáspropagálás és a naplózható vezérlők használatával minden összetevőre kiterjedő rétegzett biztonságot valósít meg. További információ: Biztonsági tervezési stratégiák.
A megfigyelhetőség tervezése az első naptól
Az AI-alkalmazások a hagyományos alkalmazásmetrikákon túli monitorozást igényelnek. A kezdetektől megfigyelhetővé alakíthatja a tervezést:
Modell teljesítménykövetése: A pontosság eltérésének, a következtetés késésének és az előrejelzés megbízhatósági pontszámainak monitorozása.
Adatminőség-monitorozás: Nyomon követheti a bemeneti adatok eloszlásának olyan változásait, amelyek hatással lehetnek a modell teljesítményére.
Felhasználói interakció elemzése: Megismerheti, hogyan használják a felhasználók az AI-funkciókat a fejlesztési lehetőségek azonosítása érdekében.
Az absztrakció és a jövőbeli rugalmasság megtervezése
Rendszerét absztrakciós rétegekkel tervezheti meg, amelyek lehetővé teszik az AI-technológiák fejlődéséhez való alkalmazkodást:
Modell absztrakciója: Absztrakt modellek konzisztens felületek mögött, amelyek lehetővé teszik a felcserélést vagy a frissítést alkalmazásmódosítások nélkül.
Szabványosított protokollok: A nyitott, dokumentált felületeket és formátumokat részesíti előnyben, például az Eszközök OpenAPI-t, a modell hordozhatóságát szolgáló ONNX-et és a telemetriai OpenTelemetria-t.
Képességalapú kialakítás: A rugalmasság fenntartása érdekében az adott technológiák helyett a képességeket kell megterveznie.
Kérések és konfigurációk külső beállítása
A kéréseket olyan konfigurációként kezelje, amelyet az Twelve-Factor alkalmazástervezési alapelveknek megfelelően kell külsővé tenni:
Verziókövetés: A kérések verziókövetésben tartása az üzembe helyezés egyértelmű nyomon követésével a telemetriai és biztonsági eredmények adott parancssori verziókkal való korrelációja érdekében.
Szerepkör-elkülönítés: Lehetővé teszi az üzleti elemzők és a szakmai szakértők számára, hogy kódváltoztatás nélkül hangolják a kéréseket.
Biztonságos üzembe helyezés: Szabályozott bevezetési folyamatokat implementál a gyors módosításokhoz, és jelentős konfigurációs frissítésként kezeli őket.
Modell elavulásának megtervezése
Az alapmodellek végül az élettartamuk végéhez érnek, és a modell üzemeltetési platformja kivonja azokat. A modelleket olyan modellek váltják fel, amelyek jobb teljesítményt nyújtanak, költséghatékonyabbak, frissített betanítási ismeretekkel rendelkeznek, és támogatják az új képességeket. Olyan absztrakciók tervezése, amelyek minimalizálják a számítási feladat jövőbeli modellváltásainak hatását.
Szolgáltatói absztrakció: Olyan absztrakciós rétegeket használjon, amelyek lehetővé teszik a modellszolgáltatók közötti váltást alkalmazásmódosítások nélkül.
Verziókezelés: Verziószámozási stratégiák implementálása, amelyek támogatják a modellverziók közötti fokozatos migrálást.
Tartalék stratégiák: Tervezzen tartalék mechanizmusokat arra az állapotra, amikor az előnyben részesített modellek elérhetetlenné válnak.
A modell életciklusával kapcsolatos problémákat tartalmazó architektúratervezési technikákkal kapcsolatban lásd: Tervezés az alapmodell életciklusainak támogatásához.
Összetevők tárolóba helyezése
Annak érdekében, hogy az önállóan üzembe helyezhető összetevők önállóan legyenek tárolva, és hogy javuljon az üzembe helyezés konzisztenciája, fontolja meg a tárolók telepítését a tervezési stratégia részeként. A következő összetevőket kell tárolóba helyezni:
Mikroszolgáltatások: Tárolóba helyezi az egyes mikroszolgáltatásokat, amelyek az alkalmazás bizonyos funkcióit kezelik, például az adatfeldolgozást, a modell következtetését és a felhasználói hitelesítést. Ez a megközelítés lehetővé teszi a független üzembe helyezést és skálázást, és hatékonyabb frissítéseket és karbantartást tesz lehetővé.
AI-modellek: Az AI-modellek tárolóba helyezése annak biztosítása érdekében, hogy az összes függőség, kódtár és konfiguráció össze legyen csomagolva. Ez a megközelítés elkülöníti a modellkörnyezetet a gazdarendszertől a verzióütközések elkerülése és a különböző üzemi környezetek konzisztens viselkedésének biztosítása érdekében.
Adatfeldolgozási folyamatok: Tárolóba helyezi a modell következtetését megelőző vagy követő adatfeldolgozási feladatokat, például az adattisztítást, az átalakítást és a funkciókinyerést. Ez a megközelítés növeli a reprodukálhatóságot, és leegyszerűsíti a függőségek kezelését.
Infrastruktúra-szolgáltatások: Az infrastruktúra-támogatást nyújtó szolgáltatások, például az adatbázisok és a gyorsítótárazási rétegek tárolóba helyezése. Ez a megközelítés segít fenntartani a verziók konzisztenciáját, és megkönnyíti ezeknek az összetevőknek a könnyebb skálázását és kezelését.
Többrétegű gyorsítótárazási stratégiák alkalmazása
A többrétegű gyorsítótárazási módszer segíthet a teljesítmény javításában és a költségek csökkentésében az AI-alkalmazásokban. Fontolja meg a gyorsítótárazás bevezetését az alkalmazás több rétegében.
Eredmény- és válasz-gyorsítótárazás: Ezzel a megközelítéssel újra felhasználhatja a válaszokat azonos vagy szemantikailag hasonló lekérdezésekhez, ha az a helyzetnek megfelelő. Azokban a számítási feladatokban, ahol a válaszok gyorsítótárazhatók, ez a megközelítés jelentősen csökkentheti a modellhez érkező hívásokat, ami javítja a teljesítményt, és csökkenti a modell meghívási költségeit.
Lekéréses és alapozó kódrészlet gyorsítótárazása: Gyorsítótárazza a gyakran lekért tudásrészleteket és az alapozó adatokat, hogy elkerülje az ismétlődő adatbázis- és keresési lekérdezéseket vagy adat API-műveleteket.
Modell kimeneti gyorsítótárazása: Gyorsítótárazza a kérelmek között újra felhasználható köztes modellkimeneteket.
Amikor az egyes rétegekben megtervezi a gyorsítótárazási megközelítést, meg kell értenie, hogy milyen adatokhoz férnek gyakran hozzá, és hogyan befolyásolják az alkalmazás felhasználói szerepkörei és engedélyei, hogy milyen adatokhoz férhetnek hozzá. Ahhoz, hogy a gyorsítótárazás hatékony legyen, jó gyorsítótár-találati arányra kell számítania. Összpontosítson a nagy forgalmú útvonalak, például a termékkatalógus-keresések gyorsítótárazására, miközben figyeli a gyorsítótár-kiürítéseket.
Gyorsítótárkulcs-összetevők: A gyorsítótárazott értékeket a számítási feladat adott futásidejű tényezőihez kell kötni. Adjon meg olyan értékeket, mint a bérlői vagy felhasználói identitás, a szabályzatkörnyezet, a modell verziója és a parancssori verzió a gyorsítótárkulcsokban, hogy a gyorsítótárazott érték csak akkor legyen visszaadva, ha a kérés megfelelő.
Élettartamra (TTL) vonatkozó szabályzatok: Állítsa be a megfelelő lejárati időket az adatfrissítési követelmények és a tartalom bizalmassága alapján.
Érvénytelenítési horgok: Gyorsítótár-érvénytelenítési eseményindítók implementálása adatfrissítésekhez, modellmódosításokhoz és gyors módosításokhoz.
Felhasználói adatvédelem: Soha ne gyorsítótárazza a felhasználói-privát tartalmakat, kivéve, ha a kulcs és a szabályzat megfelelően hatókörbe van állítva. A gyorsítótárazás általában a több felhasználóra kiterjedő adatok esetében működik a legjobban. A legtöbb esetben ne tároljon gyorsítótárazott adatokat egyetlen felhasználó számára. Kerülje a felhasználóspecifikus válaszok gyorsítótárazását érvényes válaszként az összes felhasználó számára. Például a "Hány órányi fizetett szabadságom van még?" kérdésre adott gyorsítótárazott válasz kizárólag az adatokat kérő felhasználó számára megfelelő, még akkor is, ha más felhasználók is ugyanazt a kérdést teszik fel.
Kockázat: A gyorsítótárazás javítja a teljesítményt és csökkenti a költségeket, de biztonsági és adatfrissítési kockázatokat vezet be. Ezek a kockázatok közé tartozik az adatszivárgás, az elavult adatok és az adatvédelmi jogsértések.
Vezénylés és ügynökök használatának értékelése generatív AI-megoldásokban
Válassza ki a megfelelő koordinációs megközelítést az alkalmazás determinizmusra és feltáró képességekre vonatkozó követelményei alapján.
Mikor érdemes vezénylést használni?
A vezénylő úgy kezeli a munkafolyamatot, hogy koordinálja az AI-megoldás különböző összetevői közötti kommunikációt, amelyet egyébként nehéz lenne összetett számítási feladatokban kezelni. Javasoljuk, hogy építse be az orchestratort a tervébe, ha a számítási feladata az alábbi jellemzők valamelyikét igényli:
Kiszámítható munkafolyamatok: Többlépéses folyamatok jól definiált sorozatokkal és döntési pontokkal.
Megfelelőségi követelmények: Olyan forgatókönyvek, ahol bizonyos lépések végrehajtására van szükség a jogszabályi megfelelőség érdekében.
Teljesítmény szempontjából kritikus útvonalak: Olyan munkafolyamatok, ahol a késést és az erőforrás-használatot szigorúan szabályozni kell.
Egyszerű koordináció: Egyszerű feladatdelegálás, amely nem igényel dinamikus érvelést.
Mikor érdemes ügynök-együttműködést használni?
Az ügynök módot nyújt arra, hogy intelligens viselkedést csomagoljon, kinyerjen és definiáljon az alkalmazásában. Az ügynökök környezetfüggő funkciókat biztosítanak, és olyan vezénylési keretrendszerekkel dolgozhatnak, mint a Szemantikus Kernel, az Autogen vagy a Microsoft Agent Framework.
Ügynök által irányított együttműködési megközelítések használata feltáró vagy összeállított feladatokhoz:
Többlépéses érvelés: Több lépésre kiterjedő tervezést és döntéshozatalt igénylő feladatok
Eszközkoordináció: Összetett munkafolyamatok, amelyek több speciális eszköz és szolgáltatás koordinálásával járnak
Adaptív viselkedés: Olyan forgatókönyvek, amelyekben a rendszernek a köztes eredmények vagy a változó feltételek alapján kell módosítania a megközelítését
Környezetkezelés: Olyan alkalmazások, amelyeknek a beszélgetési állapotot és a felhasználói környezetet kell fenntartaniuk az interakciók során
Ügynöktervezési szempontok
Ügynökalapú rendszerek tervezésekor vegye figyelembe az elkülönítést és a határokat, a kommunikációs mintákat és az eszközök absztrakciós stratégiáit. Tervezzen egyértelmű határokat a különböző ügynökfunkciók között a robbanási sugár csökkentése és a tesztelhetőség javítása érdekében. Az ügynökkommunikációhoz használjon olyan bevált mintákat, mint a témakör-üzenetsor rendszerek. Absztrakciós eszközképességek szabványosított felületek használatával az ügynök rugalmasságának biztosítása érdekében.
Fontos
Ne vegyen fel automatikusan ügynököket a befejezendő feladat és a modellhívások közé. Értékelje ki, hogy a továbbított intelligencia megköveteli-e az ügynökminták összetettségét, vagy hogy a közvetlen modellhívások elegendőek-e a használati esethez. Az ügynökrétegek késést okoznak, növelik a felületkiterjedést és bonyolítják a tesztelést.
Ügynökállapot megőrzése
Többfordulós beszélgetésekhez és hosszú távú feladatokhoz olyan ügynököket kell tervezni, amelyek állapot-tartósságot tartalmaznak, hogy a kérések, munkamenetek vagy üzembe helyezési ciklusok között megőrizzék a környezetet. A megfelelő metaadatok, a beszélgetési előzmények és a tevékenységek előrehaladásának tárolásához használjon biztonságos, megosztott tárolót, például az Azure Cosmos DB-t, az Azure Managed Redist vagy az Azure Table Storage-t. Korlátozza az állapotot a minimálisan szükséges információra, hogy csökkentse az adatvédelmi kockázatokat és a jogkivonat-többletterhelést, valamint TTL-szabályzatok alkalmazásával biztosítsa az elavult adatok lejártát. Győződjön meg arról, hogy az ügynökök folytatáskor visszaállíthatják az állapotot a munkafolyamatok folytatásának érdekében a befejezett lépések ismétlése nélkül.
Hibrid megközelítések
Fontolja meg a hibrid kialakításokat, amelyekben a vezénylők adott altevékenységeket delegálnak az ügynököknek.
Rugalmas lépésekkel rendelkező strukturált munkafolyamatok: Vezénylés használata az általános munkafolyamathoz, miközben lehetővé teszi az ügynökök számára az összetett egyéni lépések kezelését.
Eszkalációs minták: Kezdje a determinisztikus vezényléssel, és eszkalálja az ügynökalapú érvelést, ha az előre meghatározott logika nem elegendő.
Tartományspecifikus érvelés: Vezénylés használata tartományok közötti koordinációhoz, miközben speciális ügynököket alkalmaz tartományspecifikus feladatokhoz.
Kompromisszum: A vezénylés kiszámíthatóságot és vezérlést biztosít, de korlátozza az alkalmazkodóképességet. Az ügynök-együttműködés dinamikus problémamegoldást tesz lehetővé, de variabilitást és összetettséget vezet be.
AI-átjárók megvalósítása szabályzatok érvényesítésére
A tervezésben az AI-átjárók használatával biztosíthatja az átjárók kiszervezését, az átjáró-útválasztást és az átjáró-összesítési képességeket a számítási feladaton belül. Az átjárókat általában olyan platformok használatával implementálják, mint az Azure API Management, vagy egyéni kódolt megoldások, például az Envoy vagy az NGINX implementáció. Az átjárók modellszolgáltatóknak, ügynökvégpontoknak, eszközöknek és tudástáraknak küldött proxykérésekhez használhatók.
Alapvető AI-átjárók képességei
Az AI-átjárók képesek kezelni a horizontális problémákat, és absztrakciós és indirektitási rétegként szolgálhatnak a célrendszerből. AI-átjáró stratégia tervezésekor vegye figyelembe a következő képességeket:
Protokoll normalizálása: A szolgáltatók közötti megosztott AI-képességekhez normalizálja az átjárón keresztüli közös protokollhoz tartozó interfészeket a karbantarthatóság javítása érdekében. Szolgáltatóspecifikus funkciók esetén használja az átjárót fordított proxyként normalizálás nélkül.
Hitelesítés és engedélyezés: Kényszerítse ki az identitásalapú hozzáférés-vezérlést, és propagálja a felhasználói környezetet az alsóbb rétegbeli szolgáltatásokba.
Sebességkorlátozás és kvóták: Implementáljon felhasználónkénti, alkalmazásonkénti vagy bérlőnkénti díjkorlátokat és jogkivonatkvótákat a visszaélések elkerülése és a költségek kezelése érdekében.
Kérelmek és válaszok szűrése: Bemeneti ellenőrzés, kérésszűrés és kimeneti biztonsági ellenőrzések alkalmazása az átjáró szintjén.
Jogkivonat- és parancssori korlát: Kényszerítse ki a maximális jogkivonatkorlátokat és a kérésméretre vonatkozó korlátozásokat az erőforrások kimerülésének megakadályozása érdekében, ha előzetesen elutasítja azokat a kéréseket, amelyek a kívánt vagy lehetségesnél nagyobb igényt jelentenek a rendszeren.
Modell útválasztási szabályzatai: A kérések átirányítása a megfelelő modellekre a felhasználói engedélyek, a kérelem jellemzői vagy a költségoptimalizálási célok alapján. Az átjárókat gyakran használják több modell közötti átterhelés megvalósításához, amikor egy modell kapacitása vagy díjszabása már ki van használva, de egy másik modell telepítésénél még elérhető.
Fejlécinjektálás és -átalakítás: Adjon hozzá szükséges fejléceket, felhasználói környezetet és biztonsági jogkivonatokat az alsóbb rétegbeli szolgáltatásokhoz.
Díjvisszatérítés kezelése: Díjak kiosztása az AI számítási feladatok összetevőivel rendelkező részlegek között, például egyetlen Azure OpenAI-példányban.
Jótanács
Az Azure OpenAI és más nyelvi modellek átjárón keresztüli elérésével részletesen áttekintheti, hogyan használható az AI-átjárók keresztirányú problémákra, és hogy az átjárók hogyan vezetnek be további összetettségeket az architektúrába.
Többszolgáltatós forgatókönyvek
Az AI-átjárók különösen értékesek, ha több modellszolgáltatót vagy megosztott modell üzemeltetési platformot használ. Ezek az átjárók gyakran központosított erőforrások a szervezeten belül, amelyektől az általános terhelések függhetnek, vagy amelyekre támaszkodniuk kell. A kellően összetett számítási feladatoknak az is hasznát vehetik, ha ezt az absztrakciós réteget saját tervezésén belül építik fel.
Egyesített felület: Adjon meg egyetlen API-felületet, amely több háttérszolgáltatót is absztrakcióra használ.
Feladatátvétel és redundancia: A kérések átirányítása alternatív szolgáltatókhoz, ha az elsődleges szolgáltatások nem érhetők el.
Költségoptimalizálás: A kérelmeket a legköltséghatékonyabb szolgáltatóhoz irányíthatja a kérelmek jellemzői alapján.
Fontos
Ne hagyatkozz kizárólag az SDK újrapróbálkozásaira és a timeoutokra. Korlátozások, hitelesítés, kvóták és időtúllépések kényszerítése az átjárón és a szabályzatrétegen az átfogó vezérlés érdekében.
AI-alkalmazástervezési minták használata
Az iparág számos gyakori tervezési mintát határoz meg az AI-alkalmazásokhoz. Ezek használatával egyszerűsítheti a tervezést és a megvalósítást. Ezek a tervezési minták a következő típusokat tartalmazzák:
Modell ensembling: Ez a tervezési minta több modell előrejelzéseit kombinálja a pontosság és a robusztusság javítása érdekében az egyes modellek korlátainak mérséklésével.
Mikroszolgáltatások architektúrája: Ez a tervezési minta elkülöníti az összetevőket egymástól függetlenül üzembe helyezhető szolgáltatásokra a méretezhetőség és a karbantarthatóság javítása érdekében. Lehetővé teszi, hogy a csapatok egyszerre dolgoznak az alkalmazás különböző részein.
Eseményvezérelt architektúra: Ez a tervezési minta eseményeket használ a műveletek aktiválására, ami lehetővé teszi a leválasztott összetevők és a valós idejű feldolgozás használatát, hogy a rendszer rugalmasabb és rugalmasabb legyen az adatok módosításához.
Alapozási és tudásintegrációs minták
Számos AI-alkalmazás fér hozzá külső ismeretforrásokhoz, hogy pontos és naprakész információkat biztosítson. A lekérést ügynökeszközként vagy tudáshívásként kezelheti egy olyan szolgáltatás mögött, amely kényszeríti az engedélyezést.
Tudásalapú útválasztás: Lekérdezéseket irányíthat a megfelelő tudásbázisokhoz a lekérdezés típusa, tartománya vagy felhasználói környezete alapján.
Környezeti rétegzés: Olyan rendszerek létrehozása, amelyek több tudásbázist és környezettípust kombinálva átfogó válaszokat nyújtanak.
Dinamikus földelés: Olyan rendszerek implementálása, amelyek a változó követelmények vagy az adatok rendelkezésre állása alapján adaptálhatják tudásforrásaikat és alapozási stratégiáikat.
Engedélyezés-tudatos lekérés: Győződjön meg arról, hogy az alapszolgáltatások a felhasználói engedélyeket és a bérlői kontextust érvényesítik az információk lekérésekor.
A szemantikai lekéréshez alapadatokat támogató célzott vektorindex tervezésének mélyebb megértéséhez tekintse meg a keresésbővített generációs (RAG) megoldás tervezését és fejlesztését.
Többmodelles útválasztási minták
A modell útválasztójának használatával javíthatja a számítási feladatok rendelkezésre állását azáltal, hogy a kéréseket egy kifogástalan állapotú modellhez irányítja, vagy ha egy másik modell nem megfelelő állapotban van, vagy ha valós időben választja ki egy adott tevékenységhez a legjobb modellt, javíthatja a válaszok minőségét. A modellútválasztók rugalmasságot biztosítanak, de további változatosságot hordoznak. Használja őket szelektíven:
Mikor érdemes modell útválasztókat használni: Akkor használjon modell útválasztót, ha a számítási feladat képes elviselni a hozzáadott variabilitást és késést, a felhasználói élmény a modelltípusok széles skálázására számít, vagy ki kell egyensúlyoznia a különböző modellek költségeit és képességeit.
Mikor kerüljük el a modell útválasztóit: Ne használjon modell útválasztót olyan helyzetekben, amikor a számítási feladathoz adott feladatokhoz optimalizált pontos válaszokra van szükség, ha szűk szolgáltatási szintű célkitűzéseket (SLO-kat) tartalmazó, finomhangolt modelleket használ, vagy ha a determinisztikus viselkedés , beleértve a konzisztens teljesítményt is, kritikus fontosságú a használati esethez.
Amikor modell útválasztót ad hozzá az alkalmazáshoz, előnyben részesítse a szolgáltatói natív útválasztást, ha elérhető, és figyelje a teljesítményre gyakorolt hatást és a felhasználói elégedettséget.
Kompromisszum: A modell-alapú útválasztók rugalmasságot és költségoptimalizálást biztosítanak, de nem determinisztikus viselkedést és összetettséget okoznak a tesztelés és a problémamegoldás során.
Ha a számítási feladat több-bérlős alkalmazás, tekintse meg az útmutatót egy biztonságos több-bérlős RAG-következtetési megoldás megtervezéséhez a bérlőnkénti földelési adatok elérésére vonatkozó javaslatokhoz.
Mikor érdemes tervezési mintákat használni?
Fontolja meg az alábbi tervezési minták használatát a következő forgatókönyvekhez:
Összetett munkafolyamatok: Ha összetett munkafolyamatokkal vagy több AI-modell közötti interakcióval rendelkezik, az olyan minták, mint a RAG vagy a mikroszolgáltatások segíthetnek az összetettség kezelésében és az összetevők közötti egyértelmű kommunikációban.
Méretezhetőségi követelmények: Ha az alkalmazás iránti kereslet ingadozik, a mikroszolgáltatásokhoz hasonló minta lehetővé teszi, hogy az egyes összetevők egymástól függetlenül méretezhetők, hogy különböző terheléseket tudjanak elférni a rendszer általános teljesítményének befolyásolása nélkül.
Adatvezérelt alkalmazások: Ha az alkalmazás átfogó adatkezelést igényel, az eseményvezérelt architektúra valós idejű válaszkészséget és hatékony adatfeldolgozást biztosít.
Feljegyzés
A kisebb alkalmazások vagy a POC-k általában nem profitálnak ezekből a tervezési mintákból. Ezeket az alkalmazásokat az egyszerűség kedvéért kell megtervezni. Hasonlóképpen, ha erőforrás-korlátozásokkal( például költségvetéssel, idővel vagy létszámmal) rendelkezik, a később újrabontásra kerülő egyszerű kialakítás használata jobb módszer, mint egy összetett tervezési minta bevezetése.
Válassza ki a megfelelő keretrendszereket, kódtárakat és protokollokat
A keretrendszerek és kódtárak kiválasztása szorosan összefonódik az alkalmazástervezéssel. Hatással vannak a teljesítményre, a méretezhetőségre és a karbantarthatóságra. A tervezési követelmények azonban korlátozhatják a keretrendszer választási lehetőségeit. A Szemantikus Kernel SDK használata például gyakran ösztönzi a mikroszolgáltatás-alapú kialakítást, amelyben minden ügynök vagy függvény a saját szolgáltatásában van beágyazva. A keretrendszerek és kódtárak kiválasztásakor vegye figyelembe a következő tényezőket:
Alkalmazáskövetelmények: Az alkalmazás követelményei, például a valós idejű feldolgozás vagy a kötegelt feldolgozás, korlátozhatják a keretrendszer kiválasztását. Ha például az alkalmazás kis késést igényel, előfordulhat, hogy olyan keretrendszert kell használnia, amely aszinkron képességekkel rendelkezik.
Integrációs igények: A kialakításhoz bizonyos integrációkra lehet szükség más rendszerekkel vagy szolgáltatásokkal. Ha egy keretrendszer nem támogatja a szükséges protokollokat vagy adatformátumokat, előfordulhat, hogy újra kell gondolnia a tervet, vagy másik keretrendszert kell választania.
Csapat szakértelme: A fejlesztői csapat készségkészlete korlátozhatja a keretrendszerek választási lehetőségeit. Egy kevésbé ismert keretrendszerre támaszkodó kialakítás megnövelheti a fejlesztési időt és a bonyolultságot, ezért érdemes megfontolni egy ismerősebb eszköz használatát.
Közösség és támogatás: Fontolja meg a keretrendszer érettségét és támogatási ökoszisztémáját. Az aktív közösségek és az átfogó dokumentáció csökkentik a megvalósítási kockázatokat.
Teljesítményjellemzők: Értékelje ki a keretrendszer teljesítményét az adott használati esethez, beleértve a memóriahasználatot, az indítási időt és a következtetési sebességet.
Standardizált eszközprotokollok bevezetése a szabályozás javítása és a rugalmasság lehetővé tétele érdekében:
MCP-stílusú kiszolgálók használata: Az MCP vagy más megfelelő szabvány használatával felderíthető eszközkiszolgálókként csomagolhatja be az üzleti képességeket.
Széles körű SDK-támogatással rendelkező specifikációkat használjon. Definiáljon például eszközöket openAPI-specifikációkkal a konzisztens felület dokumentációjához és érvényesítéséhez.
Lehetőségek meghirdetése: Tervezzen eszközöket a képességeik meghirdetésére, ami lehetővé teszi a vezénylők számára a kérések megfelelő felderítését és irányítását. A vállalati erőforrás-tervezés (ERP) olvasási és írási műveleteit például eszközkiszolgálóként csomagolhatja be, amely a képességeket hirdeti. Ez a módszer lehetővé teszi az ERP-interakciók finomhangolását az ügynöklogika módosítása nélkül.
Protokollbeállítások
A protokollok és szabványok kiválasztásakor a nyílt, dokumentált felületeket részesítse előnyben a védett formátumokkal szemben. Az iparágban számos új protokoll létezik. Az ügynökről ügynökre irányuló és az ellenőrzési használati eseteket figyelembe véve vegye figyelembe a gyors fejlődés vagy elavulás alatt álló protokollokból eredő technikai adósságokat. Az absztrakciós rétegek segíthetnek abban, hogy a tervezés együttműködjön a különböző AI-keretrendszerekben és -szolgáltatókban.
Biztonsági stratégia tervezése a számítási feladat AI-összetevőihez
Az AI-összetevők a hagyományos alkalmazásbiztonságon túl biztonsági szempontokat is igényelnek. Az alapszintű hitelesítéshez és engedélyezéshez olyan szabványos identitásszolgáltatókat használva, mint a Microsoft Entra ID, biztonsági intézkedéseket hajt végre az összes alkalmazásrétegben.
Alapvető biztonsági alapelvek
Hajtsa végre a következő alapszintű biztonsági eljárásokat:
Standard hitelesítés és engedélyezés: Használjon meglévő identitásszolgáltatókat és szerepköralapú hozzáférés-vezérlési (RBAC) rendszereket.
Adatsorbiztonság a felhasználói környezet propagálásával: Győződjön meg arról, hogy a hozzáférés-vezérlések az adatfolyam egészében megmaradnak. Továbbítsa a felhasználói identitást a folyamatok nevében, hogy a felhasználók csak a megtekintésre jogosult adatok alapján férjenek hozzá az eredményekhez.
Auditnaplók: Az AI-interakciók részletes naplózásának implementálása a megfelelőség és a biztonsági monitorozás érdekében.
AI-specifikus biztonsági intézkedések
Az AI-alkalmazásokra jellemző biztonsági kihívások kezelése:
Gyors szűrés és injektálási megelőzés: A gyors injektálási támadások elleni védelem megvalósítása, amelyek képesek manipulálni az AI viselkedését, vagy bizalmas információkat kinyerni.
Biztonságos eszközhasználati vezérlők: Ha ügynököket használ eszközhozzáféréssel, implementáljon vezérlőket a káros műveletek megelőzésére és az eszközhasználat ellenőrzésére a meghívás előtt.
Ügynök viselkedésének monitorozása: Ügynökműveletek és döntések figyelése szokatlan vagy potenciálisan káros viselkedési minták észlelésére.
Modellhozzáférés-vezérlés: Részletes engedélyek implementálása a különböző modellekhez és képességekhez az AI-rendszeren belül.
Válaszszűrés és biztonsági ellenőrzések: Szűrje az AI-kimeneteket, hogy megakadályozza a káros, nem megfelelő vagy bizalmas tartalmak létrehozását.
Biztonsági vágású földelés
Lépjen túl a közvetlen adatbázis-hozzáférés megelőzésén, és implementálja a biztonságtudatos tudáslekérést:
Identitáspropagálás: A Microsoft Entra csoportjogcímeket vagy azzal egyenértékű identitásadatokat továbbíthat a tudáseszköz-hívásokba, hogy a földi szolgáltatások soha ne kérhessenek le jogosulatlan adatokat vagy adathordozókat.
Csoport- és hozzáférés-vezérlési lista (ACL)-alapú vágás: A szűrést biztonsági csoportok és ACL-ek alapján valósítja meg a tudásrétegen.
Naplózható megtagadások: A naplózási kérések nem megfelelő engedélyek által okozott elutasítása.
Engedélyezés kényszerítése: Megkövetelheti, hogy a kód az ügynökök és a tudásbázisok között legyen az engedélyezési szabályzatok kikényszerítéséhez.
Például átadhatja a Microsoft Entra csoportköveteléseket a tudáseszköz hívásába, hogy biztosítsa, hogy soha ne kérje le a jogosulatlan dokumentumokat. Ez a konfiguráció garantálja a gyorsítótárazott eredményeket, és biztosítja, hogy az AI-válaszok tiszteletben tartsák a felhasználói engedélyeket.
Fontolja meg a nem funkcionális követelményeket
Előfordulhat, hogy a számítási feladat nem funkcionális követelményekkel rendelkezik, amelyek kihívást jelentenek az AI-technológiákhoz kapcsolódó tényezők miatt.
Modellkövetkezések vagy időtúllépések késése: Az AI-alkalmazások gyakran valós idejű vagy közel valós idejű válaszokat igényelnek. Az alacsony késés tervezése kulcsfontosságú. Ez magában foglalja a modellarchitektúra, az adatfeldolgozási folyamatok és a hardvererőforrások optimalizálását. A gyorsítótárazási stratégiák alkalmazása és a modellek hatékony betöltése szintén elengedhetetlen az időtúllépések elkerüléséhez és az időben adott válaszok biztosításához.
Jogkivonatok vagy kérések átviteli sebességének korlátozásai: Számos AI-szolgáltatás korlátozza a jogkivonatok számát vagy a kérések átviteli sebességét, különösen a felhőalapú modellek esetében. Ezeknek a korlátozásoknak a tervezése megköveteli a bemeneti méretek gondos kezelését, szükség esetén a kérelmek kötegezését, valamint a sebességkorlátozó vagy sorba állítási mechanizmusok implementálását a felhasználói elvárások kezelése és a szolgáltatáskimaradások megelőzése érdekében.
Költség- és költségvisszatérítési forgatókönyvek: A költségátláthatóság tervezése magában foglalja a használatkövetési és jelentéskészítési funkciók implementálását, amelyek megkönnyítik a költségtérítési modelleket. Ezek a funkciók lehetővé teszik a szervezet számára, hogy pontosan lefoglalja a költségeket a részlegek között. A visszaterhelés-kezelést általában egy API-átjáró, például az API Management kezeli.
Modell pontossága és sodródása: Az AI-modellek idővel csökkenhetnek az adatminták változásával. Monitorozási rendszerek tervezése a pontossági eltérés észleléséhez, és szükség esetén automatizált újratanítási folyamatok implementálása.
Megfelelőség és magyarázhatóság: Egyes iparágakban magyarázható AI-döntésekre van szükség. Úgy tervezheti meg a rendszert, hogy szükség esetén rögzítse és indokolja az AI által generált kimeneteket.
Adatvédelem és tartózkodási hely: Győződjön meg arról, hogy a kialakítás megfelel az adatvédelmi követelményeknek, beleértve a felhasználói adatok törlésének és a földrajzi adatok tárolási szabályainak való megfelelést.