This repo was created by Enes Emini and Lirjona Suka, as a simple chatbot interface for students to chat with a specific persona. This persona receives specific instructions on a topic in order to answer related questions by the students.
The application features different chatbot personalities, each designed for educational purposes:
-
Mia - A 19-year-old from Ulm who shares her experiences with vaping/e-cigarettes. She provides honest insights about her journey, helping students understand the realities of nicotine addiction. See her full instructions in
app/Http/Controllers/ChatStreamController.php. -
Dr. Martin - An experienced cardiovascular disease specialist who explains medical topics in an age-appropriate manner for 7th-grade students. She focuses on educating about arteriosclerosis, heart attacks, strokes, and prevention methods. See her full instructions in
app/Http/Controllers/DrMartinStreamController.php.
- No database required - this app uses API keys for OpenAI integration
- Real-time streaming chat responses
- Educational focus with specialized personas
- Built with Laravel, Livewire, and Tailwind CSS
- PHP >= 8.2
- Composer
- Node.js & NPM
- OpenAI API Key
- Clone the repository:
git clone https://github.com/eminiarts/rauchGpt.git
cd rauchGpt- Install PHP dependencies:
composer install- Install Node dependencies:
npm install- Create environment file:
cp .env.example .env- Generate application key:
php artisan key:generate- Configure your OpenAI API key in
.env:
OPENAI_API_KEY=your-api-key-here
Run the development server with all services:
composer devThis command starts:
- Laravel development server
- Queue listener
- Log viewer (Pail)
- Vite development server
Alternatively, run services individually:
# Start Laravel server
php artisan serve
# In another terminal, start Vite
npm run devBuild assets for production:
npm run build/app/Http/Controllers/- Contains the chat controllers for different personas/resources/views/- Blade templates and Livewire components/routes/- Application routes/public/- Public assets
The application uses environment variables for configuration. Key settings:
OPENAI_API_KEY- Your OpenAI API key (required)APP_URL- Application URLAPP_ENV- Environment (local/production)
Run the test suite:
composer testThis project is licensed under the MIT License.