--- title: AI Character Chat emoji: 🔥 colorFrom: green colorTo: green sdk: docker pinned: false --- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference --- Di frontend production Endpoint Hugging Face yang Tersedia: Base URL: https://lyon28-ai-character-chat.hf.space/inference Models yang Supported: Lyon28/Tinny-Llama Lyon28/Pythia Lyon28/Bert-Tinny Lyon28/Albert-Base-V2 Lyon28/T5-Small Lyon28/GPT-2 Lyon28/GPT-Neo Lyon28/Distilbert-Base-Uncased Lyon28/Distil_GPT-2 Lyon28/GPT-2-Tinny Lyon28/Electra-Small --- # Character AI Chat - CPU Optimized Backend 🎭 **Advanced Character AI Chat System** dengan dukungan 11 model AI yang dioptimalkan untuk CPU, dilengkapi dengan sistem roleplay canggih, memori percakapan, dan kecerdasan emosional. ## ✨ Fitur Utama ### 🧠 Multi-Model AI Support - **11 Model AI** yang dioptimalkan untuk CPU - Mendukung berbagai jenis task: Text Generation, Classification, Text2Text - Auto-loading dengan lazy initialization untuk performa optimal ### 🎭 Advanced Roleplay System - **Conversation Memory** - Mengingat percakapan sebelumnya - **Dynamic Personality** - Karakter yang berkembang seiring waktu - **Emotional Intelligence** - Mendeteksi dan merespons emosi user - **Character Development** - Belajar preferensi dan adaptasi gaya bicara - **Roleplay Actions** - Aksi fisik dan emosional yang kontekstual - **Relationship Tracking** - Level hubungan yang berkembang ### 🌟 Enhanced Features - **Situational Context** - Respons disesuaikan dengan situasi dan lokasi - **Indonesian Language Optimized** - Dioptimalkan untuk bahasa Indonesia - **Session Management** - Multiple session dengan memori terpisah - **Real-time Processing** - Response time tracking - **Fallback System** - Sistem backup untuk handling error ## 🚀 Model yang Didukung ### ⚡ Priority 1 (Ultra Fast) - **DistilGPT-2** - Text generation ringan dan cepat - **GPT-2 Tinny** - Versi kompak GPT-2 - **BERT Tinny** - Text classification ringan - **DistilBERT** - Classification model yang efisien ### 🔥 Priority 2 (Balanced) - **ALBERT Base** - Advanced text understanding - **ELECTRA Small** - Efficient pre-training model - **T5 Small** - Text-to-text generation - **GPT-2 Standard** - Standard GPT-2 model ### 💪 Priority 3 (Advanced) - **Tinny Llama** - Compact large language model - **Pythia** - Research-grade model - **GPT-Neo** - Open-source GPT alternative ### Hardware Requirements - **CPU**: Multi-core processor (minimum 4 cores recommended) - **RAM**: 8GB minimum, 16GB recommended - **Storage**: 10GB free space untuk model cache - **Platform**: Windows, macOS, Linux Aplikasi akan berjalan di: `http://localhost:7860` ## 🎮 Cara Penggunaan ### Basic Chat ```python import requests response = requests.post("http://localhost:7860/chat", json={ "message": "Hai, apa kabar?", "model": "distil-gpt-2", "char_name": "Sayang", "user_name": "Kamu", "situation": "Santai", "location": "Ruang tamu" }) print(response.json()["response"]) ``` ### Advanced Usage dengan Session ```python # Chat dengan session tracking response = requests.post("http://localhost:7860/chat", json={ "message": "Aku sedang sedih hari ini", "model": "gpt-2", "char_name": "Luna", "user_name": "Alex", "situation": "Romantis", "location": "Taman", "session_id": "user_123" }) ``` ### Cek Memory Session ```python # Lihat conversation memory memory = requests.get("http://localhost:7860/memory/user_123") print(memory.json()) # Lihat personality development personality = requests.get("http://localhost:7860/personality/user_123") print(personality.json()) ``` ## 🌐 API Endpoints ### Core Endpoints - `POST /chat` - Main chat endpoint - `GET /models` - List available models - `GET /health` - Health check - `GET /config` - Configuration info ### Enhanced Features - `GET /memory/{session_id}` - Get conversation memory - `GET /personality/{session_id}` - Get character personality - `DELETE /session/{session_id}` - Reset session data ### Utility Endpoints - `GET /verify-models` - Verify all models loading - `POST /inference` - Alternative inference endpoint - `GET /api` - API documentation ## 🎨 Kustomisasi Karakter ### Personality Traits Karakter memiliki 5 trait utama yang dapat disesuaikan: ```python personality.traits = { "extraversion": 0.7, # Seberapa ekstrovert (0-1) "agreeableness": 0.8, # Seberapa mudah setuju (0-1) "conscientiousness": 0.6, # Seberapa teliti (0-1) "neuroticism": 0.3, # Seberapa cemas (0-1) "openness": 0.7 # Seberapa terbuka (0-1) } ``` ### Speaking Styles - `casual_friendly` - Santai dan ramah - `romantic_caring` - Romantis dan perhatian - `supportive_warm` - Supportif dan hangat - `playful_teasing` - Main-main dan menggoda ### Situasi yang Didukung - **Santai** - Obrolan santai sehari-hari - **Romantis** - Suasana romantis dan intim - **Sedih** - Memberikan dukungan emosional - **Excited** - Berbagi kegembiraan - **Study** - Membantu belajar - **Gaming** - Ngobrol tentang games ## 🔧 Optimisasi CPU ### Memory Management ```python # CPU thread optimization torch.set_num_threads(2) os.environ['OMP_NUM_THREADS'] = '2' os.environ['MKL_NUM_THREADS'] = '2' # Memory cleanup gc.collect() ``` ### Model Loading Strategy - **Lazy Loading** - Model dimuat saat pertama kali digunakan - **Shared Pipelines** - Reuse pipeline untuk efisiensi - **Cache Management** - Automatic cache cleanup ## 📊 Performance Monitoring ### Response Time Tracking Setiap response dilengkapi dengan informasi performa: ```json { "response": "Hai! Apa kabar?", "processing_time": "450ms", "model": "DistilGPT-2 ⚡", "status": "success" } ``` ### Memory Usage ```python # Check memory usage GET /health { "loaded_models": 5, "memory_usage": "2.1GB", "optimization": "Character AI CPU-Tuned" } ``` ## 🐛 Troubleshooting ### Common Issues **Model Loading Error** ```bash # Solution: Clear cache rm -rf /tmp/.cache/huggingface ``` **Out of Memory** ```python # Reduce max_length request.max_length = 100 # Use lighter models model = "distil-gpt-2" # instead of "gpt-neo" ``` **Slow Response** ```python # Use priority 1 models for faster response recommended_models = ["distil-gpt-2", "gpt-2-tinny", "bert-tinny"] ``` ### Adding New Features 1. Extend appropriate class (`ConversationMemory`, `CharacterPersonality`, etc.) 2. Add endpoint if needed 3. Update API documentation ## 📄 License MIT License - Lihat file LICENSE untuk detail lengkap. ## 🙏 Acknowledgments - **Hugging Face Transformers** - Model implementation - **FastAPI** - Web framework - **PyTorch** - Deep learning backend - **Community Contributors** - Bug reports and suggestions ## 📞 Support - **Issues**: GitHub Issues - **Discussions**: GitHub Discussions - **Email**: [epoystromp.2805@gmail.com] --- ### 📈 Stats - **11 AI Models** supported - **CPU Optimized** for affordable hosting - **Advanced Roleplay** features - **Indonesian Language** optimized - **Real-time Processing** under 500ms average **Happy Chatting! 🎭✨**