Hogyan építsünk chatbotot generatív modellekkel, mint a GPT-4, ChatGPT, LLaMA 3 és Mixtral 8x7b

Ahogy a társalgási AI iránti igény egyre nő, úgy nő az igény a fejlett chatbot-technológiákra is, amelyek személyre szabott, emberhez hasonló interakciókat tudnak biztosítani. Az elmúlt években az olyan generatív modellek, mint a GPT-4 és a ChatGPT, valamint az olyan nyílt forráskódú alternatívák, mint a LLaMA 3 és a Mixtral 8x7b olyan ígéretes eszközökként jelentek meg, amelyekkel olyan chatbotok építhetők, amelyek képesek a természetes nyelvi bemenetet soha nem látott pontossággal és kifinomultsággal megérteni és arra reagálni.

Ebben a cikkben a generatív modellek alapjait vizsgáljuk meg, és azt, hogyan használhatók fel chatbotok készítéséhez.

Chatbot és társalgási AI

LLaMA 3 és Mixtral 8x7b: a ChatGPT és a GPT-4 nyílt forráskódú alternatívái

A ChatGPT és a GPT-4 az OpenAI által kifejlesztett két fejlett nyelvi modell. A ChatGPT, a "Chat Generative Pre-training Transformer" rövidítése, egy nagyméretű nyelvi modell, amely a képzési adatok alapján képes emberhez hasonló szöveget generálni. A modellt 2022 novemberében mutatták be, és gyorsan széles körű figyelmet kapott, mivel képes a felhasználókkal társalgási formában interakcióba lépni, kérdésekre válaszolni, információt nyújtani és különböző feladatokban részt venni.

A GPT-4, vagyis a "Generative Pre-training Transformer 4" a GPT-3 utódja, amelyet az OpenAI 2023 márciusában jelentett be. Jelentős ugrást jelent az AI nyelvi modellek területén, elődeihez képest még nagyobb mérettel és továbbfejlesztett képességekkel büszkélkedhet. A GPT-4 képes rendkívül részletes és pontos szövegek generálására számos területen, többek között a természetes nyelvi feldolgozás, a számítógépes programozás és a kreatív írás területén.

Mind a ChatGPT, mind a GPT-4 hatalmas mennyiségű adaton, felügyelet nélküli tanulással készült, ami lehetővé teszi számukra, hogy az emberi nyelvet figyelemre méltó pontossággal és gördülékenységgel megértsék és generálják. Ezek a modellek új lehetőségeket nyitottak meg a társalgási mesterséges intelligencia, a tartalomgenerálás és számos más alkalmazás fejlesztése előtt olyan iparágakban, mint az ügyfélszolgálat, az oktatás és a szórakoztatás.

Nem sokkal ezután a Meta kiadta a LLaMA 3-at, a francia Mistral AI startup cég pedig a Mixtral 8x7b-t. Ezek a generatív modellek a ChatGPT és a GPT-4 nyílt forráskódú alternatívái. Nagyon jó jelöltek, ha fejlett chatbotot szeretne építeni. A LLaMA 3-at és a Mixtral-t telepítheti saját szerverein, vagy egyszerűen használhatja őket az NLP Cloud API-n keresztül.

Mindezek a generatív AI LLM-ek azonban némi gyakorlatot igényelnek. Először is azért, mert ezeknek a modelleknek megfelelő utasításokat kell adni ahhoz, hogy az elvártaknak megfelelően viselkedjenek. És azért is, mert "állapot nélküliek", azaz nem vezetnek előzményeket a beszélgetésekről.

A megfelelő súgó használata a chatbotodhoz

Ha naivan, némi kontextus és formázás nélkül küldöd a kéréseket ezeknek a modelleknek, csalódni fogsz a válaszokban. Ennek oka, hogy ezek a modellek nagyon sokoldalúak. Nemcsak chatbotok létrehozásában segíthetnek, hanem számos más alkalmazásban is, mint például kérdésválaszolás, összegzés, parafrazálás, osztályozás, entitás-kivonatolás, termékleírások generálása és még sok másban. Az első dolog tehát, amit meg kell mondania a modellnek, hogy melyik "üzemmódot" kell felvennie.

Íme egy példa a kérésre, amelyet elküldhet:

This is a discussion between a [human] and an [ai]. 
The [ai] is very nice and empathetic.

[human]: I broke up with my girlfriend...
[robot]:
            

Ebben a példában 2 dologra figyelhetünk fel.

Először egy egyszerű formázást adtunk hozzá, hogy a modell megértse, hogy társalgási üzemmódban van: ([human], [ai], ...).

Másodszor, a tetején némi kontextust adtunk hozzá, hogy a modell megértse, mit csinál, és milyen hangnemet kell használnia.:

A folyamat egyszerűsítése érdekében mind az OpenAI, mind az NLP Cloud dedikált chatbot API végpontokat javasol, amelyek gondoskodnak a formázásról.

Néha a kontextus nem elég. Képzelje el például, hogy egy nagyon különleges hangvételű és karakterű chatbotot szeretne létrehozni. Ebben az esetben a saját generatív modelljét szeretné finomhangolni. Az OpenAI-n és az NLP Cloudon finomhangolhatja saját, generatív AI-n alapuló chatbotját.

Egy másik forgatókönyv az, amikor olyan chatbotot szeretne létrehozni, amely egy adott szakterülettel kapcsolatos kérdésekre válaszol. Ebben az esetben nem a finomhangolás a megoldás. Ehelyett inkább saját, szemantikus keresésen alapuló kereséskiegészített generációs (RAG) rendszert szeretne létrehozni. Lásd a RAG-ról és a szemantikus keresésről szóló cikkünket itt.

Beszélgetési előzmények fenntartása a chatbotod számára

A generatív AI modellek "állapot nélküli" modellek, ami azt jelenti, hogy minden egyes kérésed új, és az AI nem fog emlékezni semmire a korábbi kéréseidről.

Sok felhasználási esetben ez nem jelent problémát (összefoglalás, osztályozás, parafrazálás...), de a chatbotok esetében ez mindenképpen probléma, mert azt szeretnénk, ha a chatbotunk megjegyezné a beszélgetés történetét, hogy relevánsabb válaszokat tudjon adni.

Ha például azt mondod a mesterséges intelligenciának, hogy programozó vagy, akkor azt akarod, hogy a memóriájában tartsa, mert ez hatással lesz a következő válaszaira.

Ezt úgy lehet a legjobban elérni, ha minden mesterséges intelligencia választ egy helyi adatbázisban tárolunk. Például a PostgreSQL adatbázis támogatja a hosszú szövegek tárolását, nagyon jó hatékonysággal.

Ezután minden alkalommal, amikor új kérést intézel a chatbothoz, a következőket kell tenned:

Ez egy sokoldalú és robusztus rendszer, amely kevés erőfeszítést igényel, és tökéletesen kihasználja az olyan generatív modellek erejét, mint a GPT-4, a ChatGPT, a LLaMA 3 és a Mixtral.

Fontos megjegyezni, hogy minden modellnek megvan a saját kontextusmérete, amely meghatározza, hogy mennyi szöveget adhat át az előzményeknek. Például a GPT-4 jelenlegi kontextusmérete 8k token (azaz nagyjából 7k szó), a Mixtral 8x7b jelenlegi kontextusmérete pedig 16k token az NLP Cloudon (azaz nagyjából 14k szó). Ha tehát a beszélgetés előzményei ennél nagyobbak, akkor érdemes vagy a legrégebbi részt levágni, vagy csak a beszélgetések legfontosabb részeit megtartani.

Tartalmi korlátozások egy chatbot számára

Az OpenAI tartalmi korlátozásokat vezetett be a ChatGPT és a GPT-4 esetében annak biztosítása érdekében, hogy a mesterséges intelligencia által generált szöveg megfeleljen az irányelveknek. A chatrobotok által generált tartalom ellenőrzésével és szabályozásával az OpenAI célja, hogy pozitívabb és megbízhatóbb felhasználói élményt teremtsen. Ez magában foglalja a bizonyos témákkal kapcsolatos információkérések blokkolását, vagy csak előre ellenőrzött, megbízható információk nyújtását.

Egyesek azonban inkább generatív modelleket használnak, amelyek nem járnak ilyen korlátozásokkal, és a válaszok minőségét változatosabbnak és pontosabbnak találják. A LLaMA 3 és a Mixtral 8x7b nem rendelkezik ilyen korlátozásokkal. Az ilyen mesterséges intelligencia modellek használata esetén a fejlesztő felelőssége, hogy felelősségteljesen használja a mesterséges intelligenciát. Ha szükséges, a korlátozások még mindig megvalósíthatók a chatbot megfelelő felszólításának megalkotásával, a saját chatbot finomhangolásával, vagy a felhasználói kérések szűrésével, mielőtt azok eljutnak az AI-modellhez.

Következtetés

Az olyan generatív AI modellek, mint a GPT-4, a ChatGPT, a LLaMA 3 és a Mixtral 8x7b valóban a következő szintre emelték a chatbotokat és a társalgási AI-t. Ezek a fejlett modellek nagyon jól megértik a kontextust és alkalmazkodnak hozzá. A legtöbb esetben elegendő a megfelelő kontextus beállítása, de a fejlett felhasználási esetek esetében a legjobb megoldás a saját AI-modell betanítása/finomhangolása (ami meglehetősen egyszerű, mivel ezek a modellek nagyon kis adathalmazokat igényelnek).

Az NLP Cloudon többek között a LLaMA 3 és a Mixtral 8x7b modelleket is könnyedén kipróbálhatja. Finomhangolhatja is őket, és egyetlen kattintással telepítheti saját privát generatív AI-modelljeit. Ha még nem tetted meg, próbáld ki az NLP Cloudot ingyen.

Ha kérdései vannak a saját chatbotjának megvalósításával kapcsolatban, forduljon hozzánk bizalommal!

François
Full-stack mérnök az NLP Cloudnál