myasistent / README.md
myreport12's picture
Upload 6 files
245a9d5 verified
|
Raw
History Blame Contribute Delete
7.79 kB
---
title: AI Assistant Mahasiswa NVIDIA
emoji: πŸŽ“
colorFrom: blue
colorTo: indigo
sdk: docker
app_port: 7860
pinned: false
---
# AI Assistant Mahasiswa NVIDIA
Aplikasi Hugging Face Spaces berbasis Docker + Gradio untuk:
1. Chat umum mahasiswa.
2. Membuat draft laporan Deep Learning otomatis dari satu atau beberapa file `.ipynb`.
3. Menambahkan **perintah tugas tambahan** sebagai arahan pembuatan laporan.
4. Menampilkan **draft review yang bisa diedit** sebelum menjadi file Word.
5. Export hasil akhir ke Microsoft Word `.docx`.
## File wajib di root repo
```txt
app.py
requirements.txt
README.md
Dockerfile
```
## Secret wajib
Tambahkan di **Settings > Variables and secrets > New secret**:
```txt
NVIDIA_API_KEY=isi_api_key_nvidia_kamu
```
## Variable disarankan
Tambahkan di **Settings > Variables and secrets > New variable**:
```txt
NVIDIA_MODEL=qwen/qwen3-coder-480b-a35b-instruct
NVIDIA_BASE_URL=https://integrate.api.nvidia.com/v1
```
## Cara Pakai Fitur Laporan
1. Jalankan notebook `.ipynb` terlebih dahulu agar output/grafik tersimpan.
2. Upload satu atau beberapa file `.ipynb`.
3. Isi data cover laporan.
4. Isi **Perintah Tugas Tambahan** bila ada instruksi dari dosen.
5. Klik **1. Buat Draft Review**.
6. Edit draft di kotak **Review & Edit Isi Laporan**.
7. Setelah sesuai, klik **2. Export ke DOCX Setelah Edit**.
8. Download file `.docx`.
## Catatan
- Jangan tulis API key langsung di `app.py`.
- Simpan API key di Hugging Face Secret bernama `NVIDIA_API_KEY`.
- AI diarahkan agar tidak mengarang angka, akurasi, dataset, atau hasil evaluasi yang tidak ada di notebook.
- Placeholder gambar seperti `[GAMBAR_OUTPUT_1_1]` akan otomatis diganti menjadi gambar/grafik asli saat export DOCX, selama placeholder tidak dihapus dari draft.
## Multi IPYNB
Versi ini mendukung upload beberapa file `.ipynb` sekaligus.
Alur:
```txt
Upload beberapa .ipynb
↓
Semua kode/output notebook dibaca
↓
AI membuat satu draft laporan gabungan
↓
User review dan edit
↓
Export ke DOCX
```
Catatan:
- Cocok untuk tugas yang terdiri dari beberapa notebook.
- Jika ingin laporan lebih rapi, isi kolom **Perintah Tugas Tambahan** untuk menjelaskan urutan notebook atau fokus pembahasan.
## Update v7
Perbaikan penting:
1. Export DOCX setelah edit sudah diperbaiki.
- Karakter NULL/control character dari output notebook dibersihkan otomatis.
- Error `All strings must be XML compatible` sudah ditangani.
2. Kode dan output tidak lagi dipangkas saat masuk draft dan DOCX.
- Fungsi pemotongan hanya dipakai untuk prompt AI agar request tidak terlalu berat.
- Draft review menampilkan kode/output lebih lengkap.
3. Penjelasan dibuat lebih panjang.
- Prompt laporan meminta 2 sampai 4 paragraf pendek untuk setiap bagian.
- `max_tokens` untuk penjelasan tiap bagian dinaikkan.
Catatan:
Jika output notebook sangat besar, proses export DOCX bisa lebih lama karena semua kode/output dimasukkan.
## Update v8: AI Bisa Edit Draft
Setelah draft laporan muncul, user bisa memberi instruksi ke AI untuk:
1. Menambahkan bagian baru, misalnya:
- Tambahkan kesimpulan dan saran.
- Tambahkan abstrak.
- Tambahkan pembahasan evaluasi model.
- Tambahkan ringkasan hasil training.
2. Mengubah draft, misalnya:
- Ubah penjelasan bagian training agar lebih detail.
- Rapikan bahasa supaya lebih formal.
- Perjelas bagian confusion matrix.
- Ubah gaya bahasa agar mirip laporan praktikum.
Alur baru:
```txt
Upload .ipynb
↓
Buat Draft Review
↓
Edit manual atau isi Perintah Edit AI
↓
Klik Minta AI Tambahkan/Ubah Draft
↓
Review lagi
↓
Export ke DOCX
```
Catatan:
- Mode **Tambah bagian baru di akhir** lebih aman untuk draft panjang.
- Mode **Ubah draft penuh sesuai instruksi** cocok untuk draft pendek/sedang.
- Setelah AI mengubah draft, tetap cek lagi sebelum export ke DOCX.
## Update v9: Terhubung ke Telegram
Versi ini menambahkan fitur **Telegram Bot**.
Fitur Telegram:
1. User bisa chat dengan AI lewat Telegram.
2. Bot mendukung perintah:
- `/start` atau `/help`
- `/reset`
- `/status`
3. Riwayat chat Telegram disimpan sementara di memori aplikasi.
4. Akses bot bisa dibatasi dengan `TELEGRAM_ALLOWED_USER_IDS`.
5. Untuk upload `.ipynb`, review draft laporan, edit draft, dan export DOCX tetap menggunakan UI Hugging Face.
### Secret Telegram Wajib
Tambahkan di **Settings > Variables and secrets > New secret**:
```txt
TELEGRAM_BOT_TOKEN=token_bot_dari_botfather
```
### Variable Telegram Opsional
Tambahkan di **Settings > Variables and secrets > New variable**:
```txt
TELEGRAM_ENABLED=true
TELEGRAM_ALLOWED_USER_IDS=123456789,987654321
TELEGRAM_MAX_HISTORY=8
```
Jika `TELEGRAM_ALLOWED_USER_IDS` dikosongkan, semua user yang menemukan bot dapat menggunakannya.
### Cara Membuat Bot Telegram
1. Buka Telegram.
2. Cari **@BotFather**.
3. Kirim `/newbot`.
4. Ikuti instruksi sampai mendapatkan token bot.
5. Simpan token di Hugging Face sebagai Secret `TELEGRAM_BOT_TOKEN`.
6. Restart Space.
### Catatan
Bot Telegram menggunakan long polling (`getUpdates`), jadi tidak perlu setting webhook.
Jika Space tidur/sleep, bot Telegram juga berhenti sampai Space aktif lagi.
## Update v10: Telegram Bisa Upload IPYNB + Tombol Menu
Versi ini menambahkan fitur Telegram yang lebih lengkap.
Fitur Telegram:
1. Ada ucapan selamat datang saat user membuka bot.
2. User tidak perlu mengetik command `/`.
3. Menu Telegram memakai tombol:
- πŸ‘‹ Menu
- πŸ’¬ Chat AI
- πŸ“„ Laporan IPYNB
- πŸ“ Perintah Tugas
- βœ… Buat Draft
- βž• Tambah Bagian
- ♻️ Ubah Draft
- πŸ“₯ Export DOCX
- 🧾 Set Cover
- 🧹 Reset
4. User bisa upload satu atau beberapa file `.ipynb` langsung melalui Telegram.
5. Bot bisa membuat draft laporan dari file `.ipynb`.
6. Draft lengkap dikirim sebagai file `.txt` untuk review.
7. User bisa minta AI menambahkan bagian atau mengubah draft lewat Telegram.
8. Bot bisa export hasil akhir menjadi `.docx` dan mengirimkannya kembali ke Telegram.
### Cara Pakai Telegram
1. Buka bot Telegram.
2. Tekan Start.
3. Tekan tombol **πŸ“„ Laporan IPYNB**.
4. Upload satu atau beberapa file `.ipynb`.
5. Tekan **πŸ“ Perintah Tugas** jika ingin memasukkan instruksi dosen.
6. Tekan **🧾 Set Cover** jika ingin mengatur data cover.
7. Tekan **βœ… Buat Draft**.
8. Review draft TXT yang dikirim bot.
9. Tekan **βž• Tambah Bagian** atau **♻️ Ubah Draft** jika ingin AI memperbaiki draft.
10. Tekan **πŸ“₯ Export DOCX** untuk mendapatkan file Word.
### Variable Default Cover Telegram
Opsional, bisa ditambahkan sebagai Variable di Hugging Face:
```txt
TELEGRAM_REPORT_TITLE=Laporan Deep Learning
TELEGRAM_REPORT_NAMA=Nama Kamu
TELEGRAM_REPORT_NIM=235530xxxx
TELEGRAM_REPORT_DOSEN=Nama Dosen
TELEGRAM_REPORT_KELAS=ILB
TELEGRAM_REPORT_ANGGOTA=
TELEGRAM_REPORT_PRODI=Program Studi Teknik Informatika
TELEGRAM_REPORT_KAMPUS=Politeknik Caltex Riau
TELEGRAM_REPORT_TAHUN=2025
```
Catatan:
- Sesi Telegram disimpan di memori Space. Jika Space restart/sleep, user perlu upload ulang file `.ipynb`.
- Untuk draft sangat panjang, bot akan mengirim draft lengkap sebagai dokumen `.txt`.
- Review paling nyaman tetap lewat UI Hugging Face, tapi Telegram sudah bisa membuat draft, edit AI, dan export DOCX.
## Update v11: Fix Telegram Read Timeout
Versi ini memperbaiki error Telegram seperti:
```txt
HTTPSConnectionPool(host='api.telegram.org', port=443): Read timed out
```
Perbaikan:
1. Timeout Telegram dinaikkan.
2. Ditambahkan retry otomatis.
3. `getUpdates`, `getMe`, `sendMessage`, dan `deleteWebhook` lebih tahan saat koneksi Telegram lambat.
Variable opsional baru:
```txt
TELEGRAM_REQUEST_TIMEOUT=60
TELEGRAM_RETRY_COUNT=3
```
Jika masih sering timeout, coba naikkan:
```txt
TELEGRAM_REQUEST_TIMEOUT=90
TELEGRAM_RETRY_COUNT=5
```