-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhp.ini
264 lines (220 loc) · 6.6 KB
/
hp.ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
[main]
# ---------------
# HTML DOWNLOADER
# ---------------
# Digunakan crawler.py. Jika tidak ditetapkan maka akan dibuat direktori "tmp"
# di home.
;base_download_dir = /home/sugiana/tmp
# Digunakan downloader.py berisi daftar tautan produk sesuai kategori. Jika di
# antaranya memuat produk lain seperti plastik bubble atau kotak kayu maka akan
# ditetapkan oleh AI sebagai kategori "lainnya". Jadi tidak masalah tercampur.
url =
https://www.tokopedia.com/oppo/product
https://www.tokopedia.com/samsung/etalase/mobiles
https://www.tokopedia.com/officialinfinix/product
https://www.tokopedia.com/xiaomi/etalase/mobile
https://www.tokopedia.com/realme/product
https://www.tokopedia.com/vivo/product
https://www.tokopedia.com/asus-mobile
https://www.tokopedia.com/huawei/etalase/smartphone
https://www.tokopedia.com/nokia-mobile/product
https://www.tokopedia.com/nerdbossgadget/product
https://www.tokopedia.com/sharp-mobile/etalase/smartphone
# ------------
# AKAL IMITASI
# ------------
# Hal AI digunakan oleh to_category.py.
# Ini adalah "system prompt" yang mengawali "user prompt". Saat ini hanya
# digunakan oleh Ollama.
;role =
; Kamu adalah seorang yang pendiam. Jawabanmu selalu singkat dan tanpa
; asesoris kata seperti tambahan 2 karakter bintang ( ** ) untuk menebalkan,
; dan sejenisnya
# - AI: Ollama -
# Digunakan to_category.py, berisi tautan web service Ollama
ollama_url = http://localhost:11434
# Model Ollama yang digunakan.
ollama_model = gemma2
# - AI: Gemini -
# Tautan web service Gemini. Jika ini aktif maka konfigurasi Ollama diabaikan.
;gemini_url = https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key=YOUR-API-KEY
;gemini_url = https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-exp:generateContent?key=YOUR-API-KEY
;gemini_url = https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-thinking-exp-01-21:generateContent?key=YOUR-API-KEY
# - Prompt -
# Digunakan to_category.py untuk menetapkan prompt_template di bawah sebagai
# kategori apa. Jika pertanyaan pertama dijawab "tidak" maka category diisi
# dengan "lainnya".
category = hp
# Hanya tanya ke AI bila sesuai filter. Selain itu akan ditetapkan ke kategori
# "lainnya". Filter ini digunakan oleh DataFrame.query().
# Bila di filter ditemukan "stock > 0" maka downloader.py hanya akan membaca
# yang ada stoknya saja.
# Sifatnya tidak wajib.
filter = stock > 0
# {desc} akan diganti dengan gabungan field title dan description.
# Sifatnya wajib.
prompt_template =
Berikut ini diduga spesifikasi handphone.
{desc}
Jawab pertanyaan berikut dalam bentuk JSON dictionary sesuai nomor urut.
1. Apakah ini sebuah handphone ? Jawab "ya" atau "bukan".
Jika "ya" maka lanjut jawab ini:
2. Apa mereknya ? Satu kata saja.
3. Kalimat mana yang menunjukkan CPU ? Singkat saja.
4. Apa brand prosesornya ? Satu kata saja.
5. Kalimat mana yang menunjukkan graphic adapter ? Singkat saja.
6. Apa brand graphic adaptor-nya ? Satu kata saja.
7. Kalimat mana yang menunjukkan RAM ? Singkat saja.
8. RAM berapa gigabyte ? Tampilkan angka saja.
9. Kalimat mana yang menunjukkan kapasitas storage ? Singkat saja.
10. Storage berapa gigabyte ? Tampilkan angka saja.
11. Kalimat mana yang menunjukkan ukuran monitor ? Singkat saja.
12. Monitornya berapa inchi ? Tampilkan angka saja.
13. Kalimat mana yang menunjukkan jenis USB ?
14. Kalimat mana yang menunjukkan USB type-C ?
15. Kalimat mana yang menunjukkan sensor kompas ?
16. Kalimat mana yang menunjukkan kapasitas baterai ?
17. Baterainya berapa mAh ? Tampilkan angka saja.
18. Kalimat mana yang menunjukkan NFC ?
19. Kalimat mana yang menunjukkan network 5G ?
20. Kalimat mana yang menunjukkan berat ? Singkat saja.
21. Beratnya berapa kilogram ? Sebut angka saja.
22. Kalimat mana yang menunjukkan fitur kamera ? Singkat saja.
23. Kameranya berapa mega pixel ? Sebut angka saja.
24. Aperture-nya berapa ? Biasanya tertulis f/n, sebutkan nilai n saja.
25. Kalimat mana yang menunjukkan Optical Image Stabilization ?
# Urutan kolom sesuai prompt_template
columns =
category
brand_name
processor
processor_name
graphic
graphic_name
memory
memory_gb
storage
storage_gb
monitor
monitor_inch
usb
is_usb_c
is_compass
battery
battery_mah
is_nfc
is_network_5g
weight
weight_kg
camera
camera_mp
camera_aperture
is_camera_ois
# ---------
# repair.py
# ---------
# Sebuah smartphone wajib memuat informasi processor. Tapi bila Anda ingin
# menyertakan juga feature phone seperti Nokia maka tidak perlu menyertakan
# ini. Bila diwajibkan maka feature phone akan ditetapkan sebagai kategori
# "lainnya".
;not_null_columns =
; processor
# - Numeric -
# Jika nama kolom berakhiran underscore ( _ ) ditambah numeric unit (contoh:
# memory_gb) maka nilainya akan diuji dengan fungsi float(). Jika gagal maka
# diganti dengan None.
numeric_units =
gb
inch
mah
kg
mp
aperture
# Jika nilainya di luar batas maka akan dikosongkan
range_values =
memory_gb:1,128
storage_gb:16,2048
monitor_inch:4.7,8
battery_mah:1,99999
camera_mp:1,999
camera_aperture:1,22
weight_kg:0.1,0.22
# --------
# check.py
# --------
# Daftar kolom yang akan dihitung jumlah produknya:
# SELECT column, count(*) FROM ... GROUP BY 1
count_columns =
brand_name
processor_name
graphic_name
memory_gb
storage_gb
monitor_inch
battery_mah
camera_mp
camera_aperture
# Daftar kolom yang akan dihitung nilai minimum dan maksimumnya:
# SELECT column, min(column), max(column) FROM ... GROUP BY 1
min_max_columns =
memory_gb
storage_gb
weight_kg
price
# -----
# Name
# -----
# Nama kolom yang berakhiran "_name" nilainya akan dicek berdasarkan daftar
# ini. Misalkan AI menetapkan brand_name = Iphone maka repair.py mengubahnya
# menjadi Apple. Ia juga peduli huruf kecil dan besar. Jadi bila AI bilang
# brand = INFINIX maka akan diubah menjadi Infinix. Untuk ASUS tidak berubah
# sesuai yang terdaftar.
[brand_name]
Apple =
Iphone
ASUS =
Infinix =
Vivo =
Giri
Iqoo
S1
V40
Y03
Y17
Y19
Y91C
Y93
Y95
Xiaomi =
POCO
Redmi
[processor_name]
ARM =
Mali
IMG =
PowerVR
JLQ =
JR510
MediaTek =
Dimensity
Helio
MT
MTK
Snapdragon
Samsung =
Exynos
UNISOC =
SC9863A
[graphic_brand]
ARM =
Immortals
Mali
Malli
IMG =
PowerVR
MediaTek =
Helio
G80
Qualcomm =
Adreno
Snapdragon