myreport12 commited on
Commit
c392823
·
verified ·
1 Parent(s): d09aab3

Upload 6 files

Browse files
Files changed (4) hide show
  1. Dockerfile +4 -1
  2. README.md +15 -141
  3. app.py +1 -1
  4. requirements.txt +4 -5
Dockerfile CHANGED
@@ -4,6 +4,8 @@ WORKDIR /app
4
 
5
  ENV PYTHONUNBUFFERED=1
6
  ENV PIP_NO_CACHE_DIR=1
 
 
7
 
8
  RUN apt-get update && apt-get install -y --no-install-recommends \
9
  ffmpeg \
@@ -13,7 +15,8 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
13
 
14
  COPY requirements.txt .
15
 
16
- RUN pip install --upgrade pip && pip install -r requirements.txt
 
17
 
18
  COPY . .
19
 
 
4
 
5
  ENV PYTHONUNBUFFERED=1
6
  ENV PIP_NO_CACHE_DIR=1
7
+ ENV GRADIO_SERVER_NAME=0.0.0.0
8
+ ENV GRADIO_SERVER_PORT=7860
9
 
10
  RUN apt-get update && apt-get install -y --no-install-recommends \
11
  ffmpeg \
 
15
 
16
  COPY requirements.txt .
17
 
18
+ RUN python -m pip install --upgrade pip setuptools wheel && \
19
+ python -m pip install -r requirements.txt
20
 
21
  COPY . .
22
 
README.md CHANGED
@@ -10,181 +10,55 @@ pinned: false
10
 
11
  # AI Assistant Mahasiswa NVIDIA
12
 
13
- Aplikasi Hugging Face Spaces berbasis Gradio untuk membantu mahasiswa dalam:
14
 
15
  1. Chat umum dan tanya jawab materi kuliah.
16
  2. Membantu tugas, coding, error Python, dan laporan akademik.
17
  3. Membuat laporan Deep Learning otomatis dari file `.ipynb`.
18
  4. Menghasilkan output laporan langsung dalam format Microsoft Word `.docx`.
19
 
20
- ## Fitur Utama
21
-
22
- ### 1. Chat Umum Mahasiswa
23
-
24
- Mahasiswa dapat bertanya tentang:
25
-
26
- - materi kuliah
27
- - tugas
28
- - coding dasar
29
- - error Python
30
- - Deep Learning
31
- - Machine Learning
32
- - laporan akademik
33
- - pertanyaan umum lainnya
34
-
35
- ### 2. Generator Laporan Deep Learning dari IPYNB
36
-
37
- Fitur ini memungkinkan mahasiswa untuk upload file notebook `.ipynb`, lalu sistem akan membaca isi kode dan output notebook untuk dibuatkan laporan otomatis.
38
-
39
- Output laporan berupa file:
40
-
41
- ```txt
42
- .docx
43
- ```
44
-
45
- Jadi hasilnya bisa langsung dibuka dan diedit di Microsoft Word.
46
-
47
- ### 3. Format Laporan
48
-
49
- Laporan dibuat dengan gaya laporan praktikum mahasiswa, yaitu:
50
-
51
- - cover laporan
52
- - judul laporan
53
- - nama
54
- - NIM
55
- - dosen
56
- - kelas
57
- - nama anggota/partner opsional
58
- - program studi
59
- - kampus
60
- - tahun
61
- - bagian-bagian pembahasan
62
- - kode notebook
63
- - output notebook jika tersedia
64
- - gambar/grafik output notebook jika tersimpan
65
- - penjelasan setiap kode dengan format `Penjelasannya:`
66
-
67
- ### 4. Cek API
68
-
69
- Tersedia tab **Cek API** untuk memastikan API key NVIDIA dan nama model sudah benar.
70
-
71
- ## Cara Upload ke Hugging Face Spaces
72
-
73
- 1. Buat Space baru di Hugging Face.
74
- 2. Pilih SDK: **Gradio**.
75
- 3. Pilih Hardware: **CPU Basic**.
76
- 4. Upload file berikut ke Space:
77
 
78
  ```txt
79
  app.py
80
  requirements.txt
81
  README.md
 
82
  ```
83
 
84
- 5. Masuk ke menu:
85
-
86
- ```txt
87
- Settings > Variables and secrets
88
- ```
89
-
90
- 6. Tambahkan Secret dan Variable sesuai bagian di bawah.
91
-
92
- ## Secret yang Wajib Dibuat
93
 
94
- Tambahkan sebagai **Secret**, bukan Variable biasa:
95
 
96
  ```txt
97
  NVIDIA_API_KEY=isi_api_key_nvidia_kamu
98
  ```
99
 
100
- ## Variable yang Disarankan
101
 
102
- Tambahkan sebagai **Variable**:
103
 
104
  ```txt
105
  NVIDIA_MODEL=qwen/qwen2.5-coder-32b-instruct
106
  NVIDIA_BASE_URL=https://integrate.api.nvidia.com/v1
107
  ```
108
 
109
- Model `qwen/qwen2.5-coder-32b-instruct` disarankan karena aplikasi ini banyak membaca kode Python dan file notebook `.ipynb`.
110
-
111
- ## Requirements
112
-
113
- Pastikan file `requirements.txt` berisi:
114
-
115
- ```txt
116
- gradio==4.44.1
117
- openai>=1.30.0
118
- nbformat>=5.10.4
119
- python-docx>=1.1.2
120
- pillow>=10.0.0
121
- audioop-lts>=0.2.1
122
- ```
123
-
124
  ## Cara Pakai
125
 
126
  ### Chat Umum
127
 
128
- 1. Buka tab **Chat Umum**.
129
- 2. Ketik pertanyaan.
130
- 3. AI akan menjawab seperti asisten mahasiswa.
131
-
132
- Contoh pertanyaan:
133
-
134
- ```txt
135
- Jelaskan apa itu convolutional neural network.
136
- ```
137
-
138
- ```txt
139
- Bantu saya buat rumusan masalah untuk laporan Deep Learning.
140
- ```
141
-
142
- ```txt
143
- Kenapa kode Python saya error?
144
- ```
145
 
146
  ### Buat Laporan DOCX dari IPYNB
147
 
148
- 1. Jalankan notebook `.ipynb` terlebih dahulu agar output, grafik, dan hasil training tersimpan.
149
- 2. Buka tab **Buat Laporan DOCX dari IPYNB**.
150
- 3. Upload file `.ipynb`.
151
- 4. Isi data cover laporan:
152
- - judul laporan
153
- - nama
154
- - NIM
155
- - dosen
156
- - kelas
157
- - nama anggota/partner jika ada
158
- - program studi
159
- - kampus
160
- - tahun
161
- 5. Klik tombol **Buat Laporan DOCX**.
162
- 6. Download file `.docx` yang muncul.
163
-
164
- ### Cek API
165
-
166
- 1. Buka tab **Cek API**.
167
- 2. Klik **Cek Koneksi NVIDIA API**.
168
- 3. Jika berhasil, akan muncul status bahwa API aktif.
169
 
170
  ## Catatan Penting
171
 
172
- - Jangan menulis API key langsung di `app.py`.
173
- - Simpan API key di Hugging Face Secret dengan nama `NVIDIA_API_KEY`.
174
- - File `.ipynb` sebaiknya sudah dijalankan terlebih dahulu sebelum di-upload.
175
- - Jika notebook belum dijalankan, output seperti akurasi, loss, grafik, dan hasil evaluasi mungkin tidak terbaca.
176
  - AI diarahkan agar tidak mengarang angka, akurasi, dataset, atau hasil evaluasi yang tidak ada di notebook.
177
- - Jika Hugging Face error karena Python 3.13, pastikan bagian atas README memiliki:
178
-
179
- ```yaml
180
- python_version: 3.10
181
- ```
182
-
183
- ## Setelah Upload
184
-
185
- Jika sudah upload semua file dan set Secret/Variable:
186
-
187
- 1. Klik **Restart Space**.
188
- 2. Jika masih error, klik **Factory Rebuild**.
189
- 3. Tunggu proses build selesai.
190
- 4. Aplikasi siap digunakan.
 
10
 
11
  # AI Assistant Mahasiswa NVIDIA
12
 
13
+ Aplikasi Hugging Face Spaces berbasis Docker + Gradio untuk membantu mahasiswa dalam:
14
 
15
  1. Chat umum dan tanya jawab materi kuliah.
16
  2. Membantu tugas, coding, error Python, dan laporan akademik.
17
  3. Membuat laporan Deep Learning otomatis dari file `.ipynb`.
18
  4. Menghasilkan output laporan langsung dalam format Microsoft Word `.docx`.
19
 
20
+ ## File yang wajib ada di root repo
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21
 
22
  ```txt
23
  app.py
24
  requirements.txt
25
  README.md
26
+ Dockerfile
27
  ```
28
 
29
+ ## Secret yang wajib dibuat
 
 
 
 
 
 
 
 
30
 
31
+ Tambahkan di **Settings > Variables and secrets > New secret**:
32
 
33
  ```txt
34
  NVIDIA_API_KEY=isi_api_key_nvidia_kamu
35
  ```
36
 
37
+ ## Variable yang disarankan
38
 
39
+ Tambahkan di **Settings > Variables and secrets > New variable**:
40
 
41
  ```txt
42
  NVIDIA_MODEL=qwen/qwen2.5-coder-32b-instruct
43
  NVIDIA_BASE_URL=https://integrate.api.nvidia.com/v1
44
  ```
45
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46
  ## Cara Pakai
47
 
48
  ### Chat Umum
49
 
50
+ Buka tab **Chat Umum**, lalu ketik pertanyaan.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
51
 
52
  ### Buat Laporan DOCX dari IPYNB
53
 
54
+ 1. Jalankan notebook `.ipynb` terlebih dahulu agar output/grafik tersimpan.
55
+ 2. Upload file `.ipynb`.
56
+ 3. Isi data cover laporan.
57
+ 4. Klik **Buat Laporan DOCX**.
58
+ 5. Download file `.docx` yang muncul.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
59
 
60
  ## Catatan Penting
61
 
62
+ - API key jangan ditulis langsung di kode.
63
+ - Simpan API key di Hugging Face Secret bernama `NVIDIA_API_KEY`.
 
 
64
  - AI diarahkan agar tidak mengarang angka, akurasi, dataset, atau hasil evaluasi yang tidak ada di notebook.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app.py CHANGED
@@ -594,4 +594,4 @@ with gr.Blocks(title="AI Assistant Mahasiswa NVIDIA") as demo:
594
  check_btn.click(fn=test_api_connection, inputs=None, outputs=check_output)
595
 
596
  if __name__ == "__main__":
597
- demo.queue(max_size=20).launch()
 
594
  check_btn.click(fn=test_api_connection, inputs=None, outputs=check_output)
595
 
596
  if __name__ == "__main__":
597
+ demo.queue(max_size=20).launch(server_name="0.0.0.0", server_port=7860)
requirements.txt CHANGED
@@ -1,6 +1,5 @@
1
  gradio==4.44.1
2
- openai
3
- nbformat
4
- python-docx
5
- pillow
6
- audioop-lts
 
1
  gradio==4.44.1
2
+ openai>=1.30.0
3
+ nbformat>=5.10.4
4
+ python-docx>=1.1.2
5
+ pillow>=10.0.0