openchat
Introduction
This project is web application with generative artificial intelligence that will function similarly to ChatGPT, a chatbot with a large language model developed by OpenAI, but will be more cost-effective, more scalable. Application will allow users to interact with conversational AI through text prompts and receive complex responses, without human intervention in the response process following user input. Also, the app will provide the user's history so that they can return to old messages.
Goal of the project
The goal of my work was to develop a competitive alternative to ChatGPT that was both low maintenance and easy to use for a wide range of users. I chose this project because in my spare time I am involved in machine learning and LLM issues in my spare time. I wanted to try to create a system, that would be computationally intensive and that would take care of a chat application, user authorization, and maintain a scalable structure.
My approach
My approach involves splitting the application into three parts client server (SvelteKit), application server (GinGonic) and AI APi (RunPod).
The client server handles the rendering of the web page and communication with the Application Server
The application server works with the database to authenticate users using JWT and acts as an intermediary between the client server and AI API
AI API has a single task and that is to handle text generation requests using LLM.
Result
The client side is responsive, good-looking and user-friendly. The application part is secure, easy to extend and fully optimized. AI APIs are functional financially optimized using small model gemma and serverless hosting.
The result is a functional application with user registration and login, logout and registration. Also with the function of chatting with LLM and looking into the history. Easily deployable with Docker.
Photos