A generatív AI-megoldások létrehozásának főbb fogalmai és szempontjai

A nagy nyelvi modellek (LLM-ek) hatékonyak, de korlátaik vannak. Tudnia kell, hogy az LLM-ek alapértelmezés szerint mit tehetnek, és hogyan módosíthatja őket, hogy a legjobb eredményeket érjék el a generatív AI-alkalmazásokhoz. Ez a cikk bemutatja az LLM-ekkel kapcsolatos fő kihívásokat, és egyszerű megoldási módszereket mutat be, és javítja a tartalom létrehozásának módját, függetlenül attól, hogy milyen generatív AI-funkciókat hoz létre.

Mérnöki kihívások az LLM-ekkel való munka során

Az alábbiakban a legfontosabb kihívásokat és korlátozásokat érdemes szem előtt tartani az LLM-ekkel való munka során:

  • Tudáscsökkentés: Az LLM-ek csak egy bizonyos dátumig tudják, mire képezték ki őket. Külső adatkapcsolatok nélkül nem férnek hozzá valós idejű vagy személyes adatokhoz.

  • Hallucináció: Az LLM-ek pontatlan vagy félrevezető információkat eredményezhetnek. A Microsoft Foundry földiesség-észlelési funkciója segít meghatározni, hogy az LLM válaszai az Ön által megadott forrásanyagokon alapulnak-e. A nem megalapozott válaszok olyan információkat tartalmaznak, amelyeket az adatok nem támogatnak. Ismerje meg, hogyan használhatja a megalapozottság észlelését ebben a gyors útmutatóban.

  • Átlátszóság: A létrehozott tartalom forrását vagy pontosságát nem mindig követheti nyomon, és nincs beépített ellenőrzési lépés.

  • Nincs tartományspecifikus tudás: az LLM-ek csak akkor ismerik a belső vagy a védett adatokat, ha integrálják azokat.

  • Nem lehet tanulni az interakciókból: az LLM-eknek nincs memóriájuk vagy tudomásuk a múltbeli interakciókról, így nem tudnak időben alkalmazkodni vagy javítani a felhasználói visszajelzések alapján. Ezeknek a kihívásoknak a leküzdéséhez és a legjobb eredmények eléréséhez egészítse ki az LLM tudását saját adataival, és használjon érvényesítési eszközöket.

Hol kapják meg az LLM-ek az adataikat?

Az LLM-eket könyvekből, cikkekből, webhelyekről és más forrásokból származó nagy adathalmazokra tanítják be. A válaszok az adatok mintáit tükrözik, de a betanítási leépítés után történtek nem szerepelnek benne. Külső kapcsolatok nélkül az LLM-ek nem férnek hozzá a valós idejű információkhoz, és nem böngészhetnek az interneten, ami elavult vagy hiányos válaszokhoz vezethet.

A következtetés működését befolyásoló tényezők

Ha LLM-et használ, az úgy tűnhet, mintha a modell a teljes beszélgetésre emlékezne. A valóságban minden elküldött új kérés tartalmazza az összes korábbi kérést és a modell válaszait. Az LLM ezt a teljes előzményt használja kontextusként a következő válasz létrehozásához. Ez a futó előzmény az környezetablak.

Minden LLM maximális környezeti ablakmérettel rendelkezik, amely modell és verzió szerint változik. Ha a beszélgetés túllépi ezt a korlátot, a modell elveti a legrégebbi részeket, és figyelmen kívül hagyja őket a válaszában.

A hosszabb környezeti ablakok azt jelentik, hogy a modellnek több adatot kell feldolgoznia, ami lelassíthatja a dolgokat, és több költséggel jár.

A kontextusablak mérete tokeneket használ, nem szavakat. A tokenek a modell által kezelhető legkisebb szövegrészek – ezek a részek lehetnek teljes szavak, szavak részei vagy egyetlen karakterek, a nyelvtől és a tokenizálótól függően.

A fejlesztők számára a jogkivonat-használat közvetlenül hatással van a következőre:

  • A modell által figyelembe veendő beszélgetési előzmények maximális száma (környezeti ablak)
  • Az egyes promptok és befejezések költsége, mivel a számlázás a feldolgozott tokenek számán alapul

Mi az a tokenizálás?

A tokenizálás a szöveg tokénekre való lebontásának folyamata – ezek a modell által feldolgozható legkisebb egységek. A tokenizálás elengedhetetlen mind a betanításhoz, mind az LLM-ekkel való következtetéshez. A nyelvtől és a tokenizertől függően a tokenek lehetnek egész szavak, szóelemek vagy akár egyetlen karakterek is. A tokenizálás lehet olyan egyszerű, mint a szóközök és írásjelek mentén történő felosztás, vagy olyan összetett, mint a nyelvi struktúrát és morfológiát figyelembe vevő algoritmusok használata.

Az OpenAI tokenizer oldal részletesen ismerteti a tokenizálást, és tartalmaz egy számológépet, amely bemutatja a mondatok tokenekre való felosztását.

A tipikus angol szövegben egy token körülbelül négy karakterből áll. Átlagosan 100 token nagyjából 75 szó.

A fejlesztők számára a következő könyvtárak segítenek megbecsülni a tokenek számát a előugró ablakok és lezárások esetében, ami hasznos lehet a kontextusablak korlátainak és költségeinek kezeléséhez.

A tokenek használata hatással van a számlázásra

Minden Azure OpenAI API más számlázási módszertannal rendelkezik. A Responses vagy Chat Completions API-val történő szövegfeldolgozásnál és -generálásnál a számlázás az üzenetként beküldött tokenek száma és az eredményként létrehozott tokenek száma (befejezés) alapján történik.

Minden LLM-modellnek (például GPT-5.2 vagy GPT-5.2-mini) általában más az ára, amely tükrözi a tokenek feldolgozásához és létrehozásához szükséges számítások mennyiségét. Az ár sokszor "1000 jogkivonatonkénti ár" vagy "1 millió jogkivonatonkénti ár" néven jelenik meg.

Ez a tarifamodell jelentős hatással van a felhasználói interakciók tervezésére, valamint a hozzáadott előfeldolgozási és utófeldolgozási mennyiségre.

Rendszerkérések és felhasználói kérések

Ez a cikk eddig a felhasználói kéréseket tárgyalta. A felhasználói kérés az, amit a modellnek küld, és amire a modell válaszol.

Az OpenAI a rendszerkérést (vagy egyéni utasításokat) is hozzáadta. A rendszerfeladat egy szabálykészlet, amelyet minden csevegéshez hozzáadnak. Megadhatja például az LLM-nek, hogy "mindig haiku formában válaszoljon". Ezután minden válasz egy haiku lesz.

Ez a haiku-példa bemutatja, hogyan módosíthatja az LLM válaszait az üzenet módosításával.

Miért változtatná meg a felhasználó kérését? Ha generatív AI-alkalmazást hoz létre munkahelyi, ügyfelek vagy partnerek számára, érdemes lehet olyan szabályokat hozzáadnia, amelyek korlátozzák a modell válaszát.

A felhasználói kérés módosítása azonban csak egy módja annak, hogy jobb legyen a szöveggeneráció.

Módszerek a felhasználók szöveggenerálási élményének javítására

A szöveggenerálási eredmények javítása érdekében a fejlesztők csupán a parancssor javítására vannak korlátozva, és számos gyorstervezési technika segíthet. Ha azonban saját generatív AI-alkalmazást hoz létre, többféleképpen is javíthatja a szöveggenerálási élményt a felhasználók számára, és érdemes lehet kísérletezni az összes implementálásával:

  • Programozott módon módosítsa a felhasználói kéréseket.
  • Következtetési folyamat implementálása.
  • Retrieval-Augmented Generáció (más cikkekben tárgyalt).
  • Finomhangolás (más cikkekben tárgyalt).

Felhasználói kérések programozott módosítása

Ha rendszerkérést szeretne hozzáadni egy felhasználói beszélgetéshez, nem használ speciális API-t. Csak szükség szerint fűzze hozzá az utasításokat a parancssorhoz.

De használhat néhány technikát a felhasználói kérések javításához:

  • Kontextuális előkészítés: Készítsen rendszerutasításokat, amelyek kifejezetten meghatározzák a beszélgetés kontextusát a beszélgetés témáján belül. Ez a megközelítés magában foglalja az egyes interakciók elején egy rövid leírást vagy utasításkészletet. Az utasítások útmutatást adnak az AI-nek a problémás tartományon belüli tartózkodáshoz.
  • Példaalapú útmutató: A kezdeti parancssorban példákat talál a tartománya szempontjából releváns kérdések és válaszok típusaira. Ez a megközelítés segít az AI-nek megérteni, hogy milyen válaszok várhatók.

Bármilyen gyorstervezési technikát használhat. Ha programozott módon el tudja végezni, javíthatja a felhasználói kérést a nevükben.

Ennek a megközelítésnek az a kikötése, hogy minél hosszabb a kérés, annál magasabb a LLM-hez irányuló hívások költsége. Ennek ellenére ez a megközelítés valószínűleg a legkevésbé költséges megközelítés, amelyet ez a cikk ír le.

Következtetési folyamat implementálása

A felhasználó kérésének továbbfejlesztése után a következő lépés egy következtetési folyamat létrehozása.

A következtetési folyamat olyan folyamat, amely:

  1. Tisztítja a nyers bemenetet (például szöveget vagy képeket)
  2. Elküldi a modellnek (előfeldolgozás)
  3. A modell válaszát ellenőrzi, hogy megfelel-e a felhasználó igényeinek, mielőtt megjelenítené (utófeldolgozás).

Az előfeldolgozás magában foglalhatja a kulcsszavak ellenőrzését, a relevancia pontozását, vagy a lekérdezés módosítását, hogy jobban illeszkedjen a tartományához. Tekintse meg például a felhasználó első üzenetét. Kérdezze meg az LLM-et, hogy van-e értelme a kérésnek, követi-e a szabályokat, helyes ötleten alapul-e, vagy újraírásra van szüksége a torzítás elkerülése érdekében. Ha az LLM problémákat talál, megkérheti, hogy írja át a kérdést, hogy jobb választ kapjon.

A postprocessing azt jelentheti, hogy ellenőrzi, hogy a válasz megfelel-e a tartománynak, és megfelel-e a szabványoknak. Eltávolíthatja vagy megjelölheti a szabályoknak nem megfelelő válaszokat. Ellenőrizze például az LLM válaszát, hogy megfelel-e az Ön minőségi és biztonsági igényeinek. Megkérheti az LLM-et, hogy tekintse át a válaszát, és szükség esetén módosítsa. Ismételje meg ezt a folyamatot, amíg jó eredményt nem kap.

Ne feledje: minden alkalommal, amikor meghív egy LLM-et a függvénycsővezetékben, hosszabb ideig tart a válaszadás, és növekednek a költségek. Ezeket a kompromisszumokat ki kell egyensúlyoznia a költségvetésével, a sebességével és a rendszer működésével.

A következtetési folyamat létrehozásának konkrét lépéseiről további információt a Fejlett lekéréses bővített generációs rendszer létrehozásacímű témakörben talál.

Egyéb tényezők, amelyek befolyásolják a befejezéseket

A programozott prompt módosításon, a következtetési folyamat létrehozásán és más technikákon túl további részleteket A nagy nyelvi modell kibővítése lekérés-alapú generációval és finomhangolássaltárgyalnak. Emellett módosíthatja a paramétereket az Azure OpenAI API-ra irányuló hívások során.

Íme néhány kulcsfontosságú paraméter, amelyeket módosíthatja a modell kimenetének befolyásolásához:

  • Temperature: A modell által létrehozott kimenet véletlenszerűségének szabályozása. Nullánál a modell determinisztikussá válik, és következetesen kiválasztja a betanítási adatok közül a legvalószínűbb következő tokent. 1 hőmérsékleten a modell egyensúlyban van a nagy valószínűségű tokenek kiválasztása és a véletlenszerűség bevezetése között a kimenetben.

  • Max Tokens: A válasz maximális hosszát szabályozza. A magasabb vagy alacsonyabb korlát beállítása hatással lehet a létrehozott tartalom részletességére és hatókörére.

  • Top P (magmintavétel): Temperature a válasz véletlenszerűségének szabályozására szolgál. Top P korlátozza az AI-t, hogy csak a valószínűségi tömeg felső százalékát (P) vegye figyelembe az egyes tokenek létrehozásakor. Az alacsonyabb értékek koncentráltabb és kiszámíthatóbb szöveget eredményeznek. A magasabb értékek nagyobb változatosságot teszik lehetővé.

  • Frequency Penalty: Csökkenti annak valószínűségét, hogy a modell ugyanazt a sort vagy kifejezést ismételje meg. Az érték növelésével elkerülhető a redundancia a létrehozott szövegben.

  • Presence Penalty: Arra ösztönzi a modellt, hogy új fogalmakat és kifejezéseket vezessen be a befejezés során. Presence Penalty hasznos a változatosabb és kreatívabb kimenetek létrehozásához.

  • Stop Sequences: Megadhat egy vagy több szekvenciát, amelyek arra utasítják az API-t, hogy ne generáljon több tokenet. Store Sequences a kimenet szerkezetének szabályozására szolgálnak, például hogy egy mondat vagy bekezdés végén lezárják a befejezést.

  • Logit Bias: Lehetővé teszi a megadott tokenek megjelenésének valószínűségének módosítását a kiegészítésben. Logit Bias használható a befejezés bizonyos irányban történő irányítására vagy adott tartalom letiltására.

Microsoft Azure OpenAI-védelem

Amellett, hogy az LLM válaszait egy adott témához vagy tartományhoz köti, valószínűleg az is aggasztja, hogy a felhasználók milyen típusú kérdéseket tehetnek fel az LLM-ről. Fontos megfontolni, hogy milyen válaszokat hoz létre.

Először is, a Microsoft Foundryben Microsoft Azure OpenAI-modellekre irányuló API-hívások automatikusan szűrik az API által esetleg sértőnek talált tartalmakat, és ezt számos szűrési kategóriában jelentik vissza Önnek.

A Tartalommoderálás API-val közvetlenül ellenőrizheti a potenciálisan káros tartalmakat.

Ezután a Azure AI Content Safety használatával segíthet a szövegmoderálásban, a képmoderálásban, a jailbreak kockázatészlelésében és a védett anyagészlelésben. Ez a szolgáltatás egy portálbeállítást, konfigurációt és jelentéskészítési felületet kombinál az alkalmazáshoz hozzáadható kóddal a káros tartalmak azonosításához.

AI-ügynökök

Az AI-ügynökök új módszert jelentenek az önállóan működő, generatív AI-alkalmazások létrehozására. LlM-eket használnak a szövegek olvasására és írására, és külső rendszerekhez, API-khoz és adatforrásokhoz is csatlakozhatnak. Az AI-ügynökök kezelhetik az összetett feladatokat, valós idejű adatokkal hozhatnak döntéseket, és megtudhatják, hogyan használják őket a felhasználók. További információ az AI-ügynökökről : Rövid útmutató: Új ügynök létrehozása.

Eszközhívási funkció

Az AI-ügynökök külső eszközöket és API-kat használhatnak információk lekérésére, műveletek végrehajtására vagy más szolgáltatásokkal való kapcsolódásra. Ez a funkció lehetővé teszi számukra, hogy ne csak szövegeket generáljanak, és összetettebb feladatokat kezeljenek.

Az AI-ügynökök például valós idejű időjárási frissítéseket kaphatnak egy időjárási API-ból, vagy adatokat kérhetnek le egy adatbázisból a felhasználó kérése alapján. Az eszközhívással kapcsolatos további információkért tekintse meg az Eszközök felfedezése és kezelése az Foundry eszközkatalógusában (előzetes verzió) című témakört.

Model Kontextus Protokoll (MCP)

A Model Context Protocol (MCP) lehetővé teszi, hogy az alkalmazások képességeket és kontextust biztosítsanak egy nagy nyelvi modellnek. Az MCP egyik fő funkciója az AI-ügynökök által a feladatok elvégzéséhez használt eszközök meghatározása. Az MCP-kiszolgálók helyileg is futtathatók, de a távoli MCP-kiszolgálók kulcsfontosságúak a felhőalapú eszközök megosztásához. További információért lásd: Ügynökök létrehozása a Model Context Protocol használatával az Azure-on.

Az alkalmazástervezés végső szempontjai

A tokenizáció, a díjszabás, a kontextusablakok és a felhasználói szöveggenerálási élmény javítására irányuló programozott fejlesztések megértése befolyásolja a generatív AI-rendszer kialakítását.

Az alábbiakban felsoroljuk azokat a szempontokat és egyéb szempontokat, amelyek hatással lehetnek az alkalmazástervezési döntésekre:

  • Értékelje ki a legújabb AI-modell használatának szükségességét a költség szempontjai alapján. A kevésbé költséges modellek elegendőek lehetnek az alkalmazás igényeihez. A teljesítmény és a költségvetés korlátozásai közötti egyensúly.
  • Fontolja meg a környezeti ablak hosszának optimalizálását a költségek kezeléséhez anélkül, hogy jelentősen befolyásolná a felhasználói élményt. A beszélgetés szükségtelen részeinek levágása csökkentheti a feldolgozási díjakat, miközben fenntartja a minőségi interakciókat.
  • Mérje fel, hogy a tokenizálás és a bemenetek és kimenetek részletessége milyen hatással van a teljesítményre. Az LLM által választott tokenizálás kezelésének megértése segíthet az API-hívások hatékonyságának optimalizálásában, ami csökkentheti a költségeket és javíthatja a válaszidőket.

Ha azonnal kísérletezni szeretne egy generatív AI-megoldás létrehozásával, javasoljuk, hogy tekintse meg a A csevegés elindítása saját adatmintájának felhasználásával Pythonban című útmutatót. Az oktatóanyag .NET, Java és JavaScript is elérhető.