Spaces:
Running
Running
| title: Roblox Luau Assistant | |
| emoji: 🤖 | |
| colorFrom: purple | |
| colorTo: indigo | |
| sdk: gradio | |
| sdk_version: 5.31.0 | |
| app_file: app.py | |
| python_version: "3.11" | |
| hf_oauth: true | |
| pinned: false | |
| # Roblox Luau Assistant | |
| Chatbot hỗ trợ viết & sửa code Luau cho Roblox, chạy trên Gradio + Hugging Face Inference API, | |
| dùng model [`squaredcuber/roblox-luau-mistral-7b-rft`](https://huggingface.co/squaredcuber/roblox-luau-mistral-7b-rft). | |
| ## Tính năng | |
| - Giao diện chat đẹp, tuỳ chỉnh (avatar, bubble, theme tím) | |
| - Lưu lịch sử chat tự động trong `localStorage` của trình duyệt (không mất khi reload trang) | |
| - Nút xoá lịch sử chat | |
| - System prompt, cấu hình model tách riêng ra file để dễ chỉnh sửa | |
| - Đăng nhập Hugging Face (`gr.LoginButton`) để dùng token cá nhân gọi Inference API | |
| ## Cấu trúc thư mục | |
| ``` | |
| . | |
| ├── app.py # Ứng dụng Gradio chính | |
| ├── model.json # Cấu hình model (id, tham số mặc định) | |
| ├── systemprompt.md # System prompt mặc định | |
| ├── requirements.txt # Thư viện Python cần thiết | |
| ├── public/ | |
| │ └── index.html # Banner HTML nhúng vào giao diện | |
| └── README.md | |
| ``` | |
| ## Chạy local | |
| ```bash | |
| pip install -r requirements.txt | |
| python app.py | |
| ``` | |
| Sau đó mở trình duyệt tại địa chỉ mà Gradio in ra (mặc định `http://127.0.0.1:7860`). | |
| ## Deploy lên Hugging Face Spaces | |
| 1. Tạo Space mới, chọn SDK **Gradio**. | |
| 2. Upload toàn bộ các file trong thư mục này (giữ nguyên cấu trúc, kể cả thư mục `public/`). | |
| 3. Space sẽ tự cài `requirements.txt` và chạy `app.py`. | |
| 4. Người dùng bấm nút **Sign in with Hugging Face** để đăng nhập, token của họ sẽ được dùng để gọi Inference API tới model. | |
| > Nếu muốn dùng token cố định thay vì bắt user đăng nhập, có thể set biến môi trường | |
| > `HF_TOKEN` trong **Space secrets** và sửa `app.py` để đọc `os.environ["HF_TOKEN"]` | |
| > thay cho `hf_token.token`. | |
| ## Tuỳ chỉnh | |
| - **Đổi model**: sửa `model_id` trong `model.json`. | |
| - **Đổi system prompt mặc định**: sửa nội dung `systemprompt.md`. | |
| - **Đổi giao diện banner**: sửa `public/index.html`. | |
| - **Đổi màu/theme**: sửa biến `custom_css` và `gr.themes.Soft(primary_hue=...)` trong `app.py`. | |
| ## Lưu ý về lịch sử chat | |
| Lịch sử được lưu bằng `window.localStorage` với key `luau_chat_history`, nghĩa là: | |
| - Chỉ lưu trên **trình duyệt hiện tại**, không đồng bộ giữa các máy/thiết bị. | |
| - Không xoá khi đóng tab hay reload trang. | |
| - Bị xoá nếu người dùng xoá dữ liệu duyệt web (site data) hoặc bấm nút **🗑️ Xoá lịch sử chat**. | |