# Cara Running GPT Training 
1. Siapkan file HSCodeMasterBPS.pdf dari https://www.bps.go.id/assets/docs/HSCode%20Master%20BPS.pdf
2. Siapkan file seluruh list import dari oracle sesuai format tblPibDtl.xlsx
3. Siapkan dokumen koreksi hs code dari bea cukai sesuai dengan format MensaResumeHs.xlsx
4. Applikasi hanya bisa dijalankan di linux, dikarenakan adanya library python 
yang tidak bisa dipkaai di windows
5. Install Anaconda / Mini Conda. URL ada di https://www.anaconda.com/download/success
6. Buat virtual environment di conda dengan menjalankan command berikut
```shell
conda create -f environment.yml
```
4. Aktivasi conda virtual environment
```shell
conda activate mensa-gpt
```
5. Untuk memastikan library telah terdownload jalankan conda environment update
```shell
conda env update --file environment.yml
```
6. Update open api key di dalam gpt_training, serta update gpt model apabila diperlukan
7. Jalankan main.py dengan python
```shell
python main.py
```


## Konfigurasi tambahan
### Konfigurasi File HS Code BPS
1. Apabila ada perubahan halaman HS Code terbaru, silahkan update file `insw_scarapper.py` pada line 28. 
Rubah nilai `start_page` dengan nilai yang sesuai
2. Nama file PDF serta path dari file tersebut dapat di sesuaikan di main.py pada pemanggilan fungsi `create_gpt_training_data` di parameter `hscode_bps_pdf`

### Konfigurasi Dokumen Import Mensa
1. Sistem hanya menerima format file xlsx
2. Nama file excel serta path dari file tersebut dapat di sesuaikan di main.py pada pemanggilan fungsi 
`create_gpt_training_data` di parameter `mensa_import_excel`
3. Usahakan menggunakan format yang sama persis seperti contoh. Apabila ada perubahan, penyesuaian dapat dilakukan di 
file `insw_scarapper.py` pada line 37, dimana kolom A pada excel terdapat pada array index ke 0

### Konfigurasi Dokumen koreksi hs code dari bea cukai
1. Sistem hanya menerima format file xlsx
2. Nama file excel serta path dari file tersebut dapat di sesuaikan di main.py pada pemanggilan fungsi 
`create_gpt_training_data` di parameter `mensa_custom_correction_excel`
3. 3. Usahakan menggunakan format yang sama persis seperti contoh. Apabila ada perubahan, penyesuaian dapat dilakukan di 
file `insw_scarapper.py` pada line 46 dan 44, dimana kolom A pada excel terdapat pada array index ke 0
4. line 44 digunakan untuk mengecek apakah hs code dari row tersebut kosong, sebagai indikator empty row
5. parameter usecols pada line 41 digunakan untuk memotong data yang terlalu besar dengan cara mengambil 
data dari kolom tertentu saja
