Gyors és hatékony prompt tervezés AI alkalmazásokhoz a Microsoft Prompt Engine használatával
A Microsoft néhány hónapja mutatta be a Prompt Engine-t, amely a promptok kezelését és előállítását segíti nagy nyelvi modell felhasználásával. A projekt három külön GitHub-tárolóban különféle kiadásokkal érhető el JavaScript, C# és Python nyelvekre.
A JavaScript-verzió három különböző modelltámogatást kínál: általános prompt, kód és csevegés-alapú rendszerek. Ez lehetővé teszi a jól megtervezett promptok különböző összetevőinek kezelését, amelyek a felhasználói interakciókat is támogatják, beleértve a modellválaszokat is. Az utolsó rész fontos az interakciók közötti kontextus kezelésének módjaként, biztosítva, hogy az állapot megmaradjon a chatekben és az alkalmazás kódsorai között.
Hirdetés:
A Python verzió ugyanazokat a beállításokat kínálja, mint a JavaScript, ami lehetővé teszi a hasonló folyamatokat a két nyelv között. A C# verzió csak általános és szövegelemzési modelltámogatást kínál, de ezeket könnyen fel lehet használni az alkalmazásokhoz. A JavaScript verzió webalkalmazásokhoz és Visual Studio Code-bővítményekhez javasolt, míg a Python eszköz logikus választás bárki számára, aki sok különböző gépi tanulási eszközzel dolgozik.
A Prompt Engine célja az, hogy a felhasználóval együttműködve kezelje a nagy nyelvi modellt, lehetővé téve, hogy a felhasználók saját visszacsatolási hurkokat építsenek az AI köré, hasonlóan a Microsoft Prometheusához. A szabványos mintázattal dolgozva lehetőség van saját alapkérések ismétlésére a kimenetek nyomon követésével és a bemenetek finomításával.
A Prompt Engine könnyen telepíthető ismert tárolókból, például az npm és a pip, és mintakóddal rendelkezik a GitHub-tárolókban. Az indulás egyszerű, miután a megfelelő könyvtárakat importálta. A prompt létrehozása a prompt leírásával és néhány példa interakcióval kezdhető el. A természetes nyelvű lekérdezések kódává alakítása során minden interakció egy pár, amely egy mintalekérdezést, majd a várt kimeneti kódot követi a megcélzott nyelven.
Ahhoz, hogy hatékony promptot hozzunk létre, több interakcióra van szükség. Az alapértelmezett célnyelv a Python, de a nyelvválasztást a
CodeEngineConfig
hívással is konfigurálhatjuk.
Egy célnyelvvel és egy mintakészlettel a felhasználói lekérdezésből létrehozhatunk egy promptot. Az eredményül kapott prompt karakterlánc használható az Azure OpenAI API hívásában. Ha a kontextust szeretnénk tartani a következő hívás során, egyszerűen adjunk hozzá egy új interakciót a válaszhoz, és az átkerül a következő hívásba. Mivel az interakciók nem maradnak fenn az aktuális felhasználói munkameneten túl, és nem használhatók egy másik felhasználó vagy egy másik hívásban, ezért fontos nyomon követni az összes felhasznált tokenek számát, hogy a prompt ne lépje túl a modell token-korlátait. A Prompt Engine lehetőséget biztosít arra, hogy a prompt hossza ne haladja meg az aktuális modell maximális tokenszámát, és szükség esetén levágja a régebbi párbeszédpaneleket. Ez a megközelítés lehetővé teszi a párbeszédpanelek létrehozását, de fontos figyelni arra, hogy azok kontextusát ne veszítsük el.
Ha kifejezetten egy csevegőrendszert szeretnénk létrehozni, beállíthatjuk a felhasználók és a botneveket olyan kontextus szerinti leírással, amely tartalmazza a robot viselkedését és hangnemét. Ezek a leírások megjelenhetnek a minta Interakciókban, és lehetőséget adnak a Prompt Engine-nek, hogy kontextust építsen be a következő promptba.
A gyorsítótárazott interakciók segítségével visszacsatolási hurkot adhatunk az alkalmazáshoz, például nem kívánt kifejezéseket és kifejezéseket kereshetünk, vagy a felhasználói értékelés alapján meghatározhatjuk, hogy mely interakciók maradjanak meg a felszólítások között. A sikeres és sikertelen promptok naplózása lehetővé teszi egy hatékonyabb alapértelmezett prompt felépítését, szükség esetén új példák hozzáadásával. A Microsoft azt javasolja, hogy építsünk fel egy dinamikus példabankot, amely összehasonlítható a lekérésekkel, és hasonló példák készletével dinamikusan generál egy promptot, amely közelíti a felhasználó lekérdezését, és remélhetőleg pontosabb kimenetet generál.
A Prompt Engine könyvtárként telepíthető a megszokott tárolókból, például az npm vagy a pip, és elérhető mintakóddal a GitHub-on. Az indulás viszonylag egyszerű, csak importálni kell a megfelelő könyvtárakat, majd leírni a promptot, és például interakciókkal tesztelni. A JavaScript verzió három különböző modellosztályt támogat: általános prompt-alapú modellt, kódmodellt és csevegés-alapú rendszert. Ezek a modellosztályok lehetővé teszik a jól megtervezett promptok különböző összetevőinek kezelését, amelyek támogatják mind a saját bevitelüket, mind a felhasználói interakciókat, beleértve a modellválaszokat is.
A szotfver célja, hogy lehetővé tegye a nagy nyelvi modell és a felhasználó közötti együttműködést, és lehetőséget biztosítson a saját visszacsatolási hurkok építésére az AI köré, hasonlóan a Microsoft Prometheusához. A szabványos mintákkal dolgozó megközelítés lehetővé teszi a saját alapkérések ismétlését a kimenetek nyomon követésével és a bemenetek finomításával, így a Prompt Engine a különböző alkalmazások számára is hasznos lehet.
A Prompt Engine lehetőséget ad arra, hogy a nagy nyelvi modellt bármely nyelven használjuk, és lehetőséget biztosít arra, hogy kontextust építsünk a következő promptokhoz. A gyorsítótárazott interakciók segítségével visszacsatolási hurkot adhatunk az alkalmazáshoz, és a sikeres és sikertelen promptok naplózása lehetővé teszi egy hatékonyabb alapértelmezett prompt felépítését. Összességében a Prompt Engine egy hasznos eszköz lehet az AI alapú alkalmazások fejlesztéséhez és az interakciók kezeléséhez.