Cara Membuat AI Chatbot dengan Laravel dan OpenAI
Arsitektur
React UI (streaming) -> Laravel API (chat engine) -> OpenAI API (GPT-4o). PostgreSQL untuk riwayat percakapan.
Database Schema
Conversations: id, user_id, title, model, token_usage. Messages: id, conversation_id, role, content, tokens.
Chat Service
Buat method: createConversation, getContext (dengan token budgeting), sendMessage. Prioritaskan pesan terbaru.
API Controller
Endpoint store untuk chat biasa. Endpoint stream untuk server-sent events. Context management otomatis.
React Chat UI
Fetch POST dengan streaming. Baca response body reader. Update UI per chunk. Fitur stop streaming dengan AbortController.
Cost Management
Batasi daily token per user. Default 50.000 token per hari (~$0.75 untuk GPT-4o). Log semua usage.
System Prompt
Definisi default system prompt. Bisa di-custom per konversasi. Bahasa Indonesia.
Deployment
Queue worker untuk background processing. Environment variables untuk konfigurasi model dan limit.
Kesimpulan
Streaming, context management, cost control. Chatbot fitur pembeda aplikasi Anda.