openchat
Introduction
Tento projekt je webová aplikace s generativní umělou inteligencí, která bude fungovat podobně jako ChatGPT, chatbot s velkým jazykovým modelem vyvinutým společností OpenAI, ale bude nákladově efektivnější a škálovatelnější. Aplikace umožní uživatelům komunikovat s konverzační AI pomocí textových promptů a přijímat komplexní odpovědi bez lidského zásahu v procesu odpovídání po zadání uživatele. Aplikace také poskytne historii uživatele, aby se mohl vrátit ke starým zprávám.
Goal of the project
Cílem mé práce bylo vyvinout konkurenceschopnou alternativu k ChatGPT, která by byla nenáročná na údržbu a snadno použitelná pro širokou škálu uživatelů. Vybral jsem si tento projekt, protože se ve volném čase věnuji strojovému učení a problematice velkých jazykových modelů. Chtěl jsem zkusit vytvořit systém, který by byl výpočetně náročný a který by se staral o chatovací aplikaci, autorizaci uživatelů a udržoval škálovatelnou strukturu.
My approach
Můj přístup zahrnuje rozdělení aplikace na tři části: klientský server (SvelteKit), aplikační server (GinGonic) a AI API (RunPod).
Klientský server se stará o vykreslování webové stránky a komunikaci s aplikačním serverem
Aplikační server pracuje s databází pro autentizaci uživatelů pomocí JWT a funguje jako prostředník mezi klientským serverem a AI API
AI API má jediný úkol a tím je zpracovávání požadavků na generování textu pomocí LLM.
Result
Klientská strana je responzivní, přehledná a uživatelsky přívětivá. Aplikační část je bezpečná, snadno rozšiřitelná a plně optimalizovaná. AI API jsou funkční a finančně optimalizované použitím malého modelu gemma a serverless hostingu.
Výsledkem je funkční aplikace s registrací a přihlášením uživatelů, odhlášením a registrací. Také s funkcí chatování s LLM a prohlížení historie. Snadno nasaditelná pomocí Dockeru.
Photos