Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -181,6 +181,18 @@ model = SentenceTransformer(model_id, trust_remote_code=True)
|
|
181 |
codes_emb = model.encode([x[6:] for x in codes])
|
182 |
|
183 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
184 |
def get_calculation(request_code, plate_number):
|
185 |
print(request_code, plate_number, "GET CALC")
|
186 |
calc = detail_perhitungan.get(request_code)
|
@@ -196,7 +208,7 @@ def get_calculation(request_code, plate_number):
|
|
196 |
result_detail = request_code + " - " + calc.get("name")
|
197 |
|
198 |
# out = "=============================================="
|
199 |
-
# out += "\nWajib Pajak ingin melakukan proses berikut:\n"
|
200 |
# out = ""
|
201 |
|
202 |
return result, str(description), result_detail
|
@@ -210,24 +222,25 @@ def build_outputs(results, descriptions, result_details, plate_number):
|
|
210 |
vehicle = vehicle_tax_info.get(plate_number)
|
211 |
|
212 |
out = "--------------------------------------------------"
|
213 |
-
out = "\
|
214 |
-
out += "\n".join([k + " : " + str(v) for k,v in vehicle.items()])
|
215 |
-
out += "\n----------------------------------------------"
|
216 |
|
217 |
out += f"\nWajib Pajak dengan NoPol {plate_number} ingin melakukan proses berikut:\n"
|
218 |
|
219 |
for i, (res,desc,detail) in enumerate(zip(results, descriptions, result_details)):
|
220 |
harga_jual = str(vehicle.get("harga_jual"))
|
221 |
-
out += f"{i+1}. {detail}\nDetail perhitungan: {desc.replace('harga_jual', harga_jual)} = {res}\n"
|
222 |
|
223 |
-
out += "----------------------------\nEstimasi biaya: "
|
|
|
224 |
|
225 |
if len(results) > 1:
|
226 |
out += " + ".join([f"Rp{x}" for x in results])
|
227 |
out += f" = {sum(results)}"
|
228 |
else:
|
229 |
out += str(results[0])
|
230 |
-
out += "\n----------------------------\n\n--------------------------------"
|
231 |
return out
|
232 |
|
233 |
|
@@ -279,12 +292,19 @@ def respond(
|
|
279 |
request_numbers.append(undetected_code)
|
280 |
|
281 |
request_numbers_copy = request_numbers
|
|
|
282 |
|
283 |
request_numbers = "\n".join(request_numbers)
|
284 |
request_details = "\n".join(request_details)
|
285 |
request_scores = "\n".join(request_scores)
|
|
|
|
|
|
|
|
|
|
|
|
|
286 |
|
287 |
-
out = "Request code number:\n" + request_numbers + "\n\nRequest detail:\n" + request_details + f"\n\nConfidence score:\n{request_scores}" + "\n\nPlate numbers: " + plate_numbers
|
288 |
|
289 |
for plate in plates:
|
290 |
results, descriptions, result_details = [], [], []
|
|
|
181 |
codes_emb = model.encode([x[6:] for x in codes])
|
182 |
|
183 |
|
184 |
+
def censor_middle(number, num_to_hide=4):
|
185 |
+
number_str = str(number)
|
186 |
+
middle_index = len(number_str) // 2
|
187 |
+
start_index = middle_index - num_to_hide // 2
|
188 |
+
end_index = middle_index + num_to_hide // 2
|
189 |
+
|
190 |
+
censored_part = "*" * num_to_hide
|
191 |
+
censored_number = number_str[:start_index] + censored_part + number_str[end_index:]
|
192 |
+
|
193 |
+
return censored_number
|
194 |
+
|
195 |
+
|
196 |
def get_calculation(request_code, plate_number):
|
197 |
print(request_code, plate_number, "GET CALC")
|
198 |
calc = detail_perhitungan.get(request_code)
|
|
|
208 |
result_detail = request_code + " - " + calc.get("name")
|
209 |
|
210 |
# out = "=============================================="
|
211 |
+
# out += "\n\nWajib Pajak ingin melakukan proses berikut:\n"
|
212 |
# out = ""
|
213 |
|
214 |
return result, str(description), result_detail
|
|
|
222 |
vehicle = vehicle_tax_info.get(plate_number)
|
223 |
|
224 |
out = "--------------------------------------------------"
|
225 |
+
out = "\n\nNomor Polisi: " + plate_number + "\n"
|
226 |
+
out += "\n".join([k + " : " + str(v) if k != "no_rangka" else k + " : " + censor_middle(v) for k,v in vehicle.items()])
|
227 |
+
# out += "\n----------------------------------------------"
|
228 |
|
229 |
out += f"\nWajib Pajak dengan NoPol {plate_number} ingin melakukan proses berikut:\n"
|
230 |
|
231 |
for i, (res,desc,detail) in enumerate(zip(results, descriptions, result_details)):
|
232 |
harga_jual = str(vehicle.get("harga_jual"))
|
233 |
+
out += f"{i+1}. {detail}\nRumus: {desc}\nDetail perhitungan: {desc.replace('harga_jual', harga_jual)} = {res}\n"
|
234 |
|
235 |
+
# out += "----------------------------\nEstimasi biaya: "
|
236 |
+
out += "\n\n---------------------------\n\nEstimasi Biaya:"
|
237 |
|
238 |
if len(results) > 1:
|
239 |
out += " + ".join([f"Rp{x}" for x in results])
|
240 |
out += f" = {sum(results)}"
|
241 |
else:
|
242 |
out += str(results[0])
|
243 |
+
# out += "\n----------------------------\n\n--------------------------------"
|
244 |
return out
|
245 |
|
246 |
|
|
|
292 |
request_numbers.append(undetected_code)
|
293 |
|
294 |
request_numbers_copy = request_numbers
|
295 |
+
request_details_copy = request_details
|
296 |
|
297 |
request_numbers = "\n".join(request_numbers)
|
298 |
request_details = "\n".join(request_details)
|
299 |
request_scores = "\n".join(request_scores)
|
300 |
+
|
301 |
+
# if len(request_numbers_copy) > 0:
|
302 |
+
# for code, detail in zip(request_numbers_copy, request_details_copy):
|
303 |
+
# kode_mohon = detail_perhitungan.get(code)
|
304 |
+
# formula = kode_mohon.get("formula")
|
305 |
+
# description = inspect.getsource(formula).split(":", 2)[-1].strip()
|
306 |
|
307 |
+
# out = "Request code number:\n" + request_numbers + "\n\nRequest detail:\n" + request_details + f"\n\nConfidence score:\n{request_scores}" + "\n\nPlate numbers: " + plate_numbers
|
308 |
|
309 |
for plate in plates:
|
310 |
results, descriptions, result_details = [], [], []
|