Task-313 Fix regression value output and reformat UI to look better
Browse files- Pipfile +3 -0
- Pipfile.lock +138 -119
- config.py +3 -2
- scripts/predict.py +39 -23
- setup.sh +34 -0
Pipfile
CHANGED
@@ -12,6 +12,9 @@ transformers = "*"
|
|
12 |
torch = "*"
|
13 |
huggingface-hub = "*"
|
14 |
joblib = "*"
|
|
|
|
|
|
|
15 |
|
16 |
[dev-packages]
|
17 |
|
|
|
12 |
torch = "*"
|
13 |
huggingface-hub = "*"
|
14 |
joblib = "*"
|
15 |
+
nltk = "*"
|
16 |
+
htbuilder = "*"
|
17 |
+
nest-asyncio = "*"
|
18 |
|
19 |
[dev-packages]
|
20 |
|
Pipfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
{
|
2 |
"_meta": {
|
3 |
"hash": {
|
4 |
-
"sha256": "
|
5 |
},
|
6 |
"pipfile-spec": 6,
|
7 |
"requires": {
|
@@ -26,11 +26,11 @@
|
|
26 |
},
|
27 |
"attrs": {
|
28 |
"hashes": [
|
29 |
-
"sha256:
|
30 |
-
"sha256:
|
31 |
],
|
32 |
"markers": "python_version >= '3.8'",
|
33 |
-
"version": "==25.
|
34 |
},
|
35 |
"blinker": {
|
36 |
"hashes": [
|
@@ -172,19 +172,19 @@
|
|
172 |
},
|
173 |
"filelock": {
|
174 |
"hashes": [
|
175 |
-
"sha256:
|
176 |
-
"sha256:
|
177 |
],
|
178 |
"markers": "python_version >= '3.9'",
|
179 |
-
"version": "==3.
|
180 |
},
|
181 |
"fsspec": {
|
182 |
"hashes": [
|
183 |
-
"sha256:
|
184 |
-
"sha256:
|
185 |
],
|
186 |
"markers": "python_version >= '3.8'",
|
187 |
-
"version": "==2025.
|
188 |
},
|
189 |
"gitdb": {
|
190 |
"hashes": [
|
@@ -206,17 +206,18 @@
|
|
206 |
"hashes": [
|
207 |
"sha256:58c0bc5502c1a46b42ae9e074c43ec0f6fdc24ed334936cb17e1ed5a8938aee2"
|
208 |
],
|
|
|
209 |
"markers": "python_version >= '3.7'",
|
210 |
"version": "==0.9.0"
|
211 |
},
|
212 |
"huggingface-hub": {
|
213 |
"hashes": [
|
214 |
-
"sha256:
|
215 |
-
"sha256:
|
216 |
],
|
217 |
"index": "pypi",
|
218 |
"markers": "python_full_version >= '3.8.0'",
|
219 |
-
"version": "==0.29.
|
220 |
},
|
221 |
"idna": {
|
222 |
"hashes": [
|
@@ -335,11 +336,20 @@
|
|
335 |
},
|
336 |
"narwhals": {
|
337 |
"hashes": [
|
338 |
-
"sha256:
|
339 |
-
"sha256:
|
340 |
],
|
341 |
"markers": "python_version >= '3.8'",
|
342 |
-
"version": "==1.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
343 |
},
|
344 |
"networkx": {
|
345 |
"hashes": [
|
@@ -349,67 +359,76 @@
|
|
349 |
"markers": "python_version >= '3.10'",
|
350 |
"version": "==3.4.2"
|
351 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
352 |
"numpy": {
|
353 |
"hashes": [
|
354 |
-
"sha256:
|
355 |
-
"sha256:
|
356 |
-
"sha256:
|
357 |
-
"sha256:
|
358 |
-
"sha256:
|
359 |
-
"sha256:
|
360 |
-
"sha256:
|
361 |
-
"sha256:
|
362 |
-
"sha256:
|
363 |
-
"sha256:
|
364 |
-
"sha256:
|
365 |
-
"sha256:
|
366 |
-
"sha256:
|
367 |
-
"sha256:
|
368 |
-
"sha256:
|
369 |
-
"sha256:
|
370 |
-
"sha256:
|
371 |
-
"sha256:
|
372 |
-
"sha256:
|
373 |
-
"sha256:
|
374 |
-
"sha256:
|
375 |
-
"sha256:
|
376 |
-
"sha256:
|
377 |
-
"sha256:
|
378 |
-
"sha256:
|
379 |
-
"sha256:
|
380 |
-
"sha256:
|
381 |
-
"sha256:
|
382 |
-
"sha256:
|
383 |
-
"sha256:
|
384 |
-
"sha256:
|
385 |
-
"sha256:
|
386 |
-
"sha256:
|
387 |
-
"sha256:
|
388 |
-
"sha256:
|
389 |
-
"sha256:
|
390 |
-
"sha256:
|
391 |
-
"sha256:
|
392 |
-
"sha256:
|
393 |
-
"sha256:
|
394 |
-
"sha256:
|
395 |
-
"sha256:
|
396 |
-
"sha256:
|
397 |
-
"sha256:
|
398 |
-
"sha256:
|
399 |
-
"sha256:
|
400 |
-
"sha256:
|
401 |
-
"sha256:
|
402 |
-
"sha256:
|
403 |
-
"sha256:
|
404 |
-
"sha256:
|
405 |
-
"sha256:
|
406 |
-
"sha256:
|
407 |
-
"sha256:
|
408 |
-
"sha256:
|
409 |
],
|
410 |
"index": "pypi",
|
411 |
"markers": "python_version >= '3.10'",
|
412 |
-
"version": "==2.2.
|
413 |
},
|
414 |
"packaging": {
|
415 |
"hashes": [
|
@@ -547,20 +566,20 @@
|
|
547 |
},
|
548 |
"protobuf": {
|
549 |
"hashes": [
|
550 |
-
"sha256:
|
551 |
-
"sha256:
|
552 |
-
"sha256:
|
553 |
-
"sha256:
|
554 |
-
"sha256:
|
555 |
-
"sha256:
|
556 |
-
"sha256:
|
557 |
-
"sha256:
|
558 |
-
"sha256:
|
559 |
-
"sha256:
|
560 |
-
"sha256:
|
561 |
],
|
562 |
"markers": "python_version >= '3.8'",
|
563 |
-
"version": "==5.29.
|
564 |
},
|
565 |
"pyarrow": {
|
566 |
"hashes": [
|
@@ -628,10 +647,10 @@
|
|
628 |
},
|
629 |
"pytz": {
|
630 |
"hashes": [
|
631 |
-
"sha256:
|
632 |
-
"sha256:
|
633 |
],
|
634 |
-
"version": "==2025.
|
635 |
},
|
636 |
"pyyaml": {
|
637 |
"hashes": [
|
@@ -848,11 +867,11 @@
|
|
848 |
},
|
849 |
"setuptools": {
|
850 |
"hashes": [
|
851 |
-
"sha256:
|
852 |
-
"sha256:
|
853 |
],
|
854 |
"markers": "python_version >= '3.12'",
|
855 |
-
"version": "==
|
856 |
},
|
857 |
"six": {
|
858 |
"hashes": [
|
@@ -881,12 +900,12 @@
|
|
881 |
},
|
882 |
"streamlit": {
|
883 |
"hashes": [
|
884 |
-
"sha256:
|
885 |
-
"sha256:
|
886 |
],
|
887 |
"index": "pypi",
|
888 |
"markers": "python_version >= '3.9' and python_full_version != '3.9.7'",
|
889 |
-
"version": "==1.
|
890 |
},
|
891 |
"sympy": {
|
892 |
"hashes": [
|
@@ -906,24 +925,24 @@
|
|
906 |
},
|
907 |
"tokenizers": {
|
908 |
"hashes": [
|
909 |
-
"sha256:
|
910 |
-
"sha256:
|
911 |
-
"sha256:
|
912 |
-
"sha256:
|
913 |
-
"sha256:
|
914 |
-
"sha256:
|
915 |
-
"sha256:
|
916 |
-
"sha256:
|
917 |
-
"sha256:
|
918 |
-
"sha256:
|
919 |
-
"sha256:
|
920 |
-
"sha256:
|
921 |
-
"sha256:
|
922 |
-
"sha256:
|
923 |
-
"sha256:
|
924 |
],
|
925 |
-
"markers": "python_version >= '3.
|
926 |
-
"version": "==0.21.
|
927 |
},
|
928 |
"toml": {
|
929 |
"hashes": [
|
@@ -987,28 +1006,28 @@
|
|
987 |
},
|
988 |
"transformers": {
|
989 |
"hashes": [
|
990 |
-
"sha256:
|
991 |
-
"sha256:
|
992 |
],
|
993 |
"index": "pypi",
|
994 |
"markers": "python_full_version >= '3.9.0'",
|
995 |
-
"version": "==4.
|
996 |
},
|
997 |
"typing-extensions": {
|
998 |
"hashes": [
|
999 |
-
"sha256:
|
1000 |
-
"sha256:
|
1001 |
],
|
1002 |
"markers": "python_version >= '3.8'",
|
1003 |
-
"version": "==4.
|
1004 |
},
|
1005 |
"tzdata": {
|
1006 |
"hashes": [
|
1007 |
-
"sha256:
|
1008 |
-
"sha256:
|
1009 |
],
|
1010 |
"markers": "python_version >= '2'",
|
1011 |
-
"version": "==2025.
|
1012 |
},
|
1013 |
"urllib3": {
|
1014 |
"hashes": [
|
|
|
1 |
{
|
2 |
"_meta": {
|
3 |
"hash": {
|
4 |
+
"sha256": "675e02cbb23625b60f9b1ab6ac0ae5b84786b0def940f4f98e8000207075ba67"
|
5 |
},
|
6 |
"pipfile-spec": 6,
|
7 |
"requires": {
|
|
|
26 |
},
|
27 |
"attrs": {
|
28 |
"hashes": [
|
29 |
+
"sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3",
|
30 |
+
"sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b"
|
31 |
],
|
32 |
"markers": "python_version >= '3.8'",
|
33 |
+
"version": "==25.3.0"
|
34 |
},
|
35 |
"blinker": {
|
36 |
"hashes": [
|
|
|
172 |
},
|
173 |
"filelock": {
|
174 |
"hashes": [
|
175 |
+
"sha256:adbc88eabb99d2fec8c9c1b229b171f18afa655400173ddc653d5d01501fb9f2",
|
176 |
+
"sha256:c401f4f8377c4464e6db25fff06205fd89bdd83b65eb0488ed1b160f780e21de"
|
177 |
],
|
178 |
"markers": "python_version >= '3.9'",
|
179 |
+
"version": "==3.18.0"
|
180 |
},
|
181 |
"fsspec": {
|
182 |
"hashes": [
|
183 |
+
"sha256:a935fd1ea872591f2b5148907d103488fc523295e6c64b835cfad8c3eca44972",
|
184 |
+
"sha256:efb87af3efa9103f94ca91a7f8cb7a4df91af9f74fc106c9c7ea0efd7277c1b3"
|
185 |
],
|
186 |
"markers": "python_version >= '3.8'",
|
187 |
+
"version": "==2025.3.0"
|
188 |
},
|
189 |
"gitdb": {
|
190 |
"hashes": [
|
|
|
206 |
"hashes": [
|
207 |
"sha256:58c0bc5502c1a46b42ae9e074c43ec0f6fdc24ed334936cb17e1ed5a8938aee2"
|
208 |
],
|
209 |
+
"index": "pypi",
|
210 |
"markers": "python_version >= '3.7'",
|
211 |
"version": "==0.9.0"
|
212 |
},
|
213 |
"huggingface-hub": {
|
214 |
"hashes": [
|
215 |
+
"sha256:0b25710932ac649c08cdbefa6c6ccb8e88eef82927cacdb048efb726429453aa",
|
216 |
+
"sha256:64519a25716e0ba382ba2d3fb3ca082e7c7eb4a2fc634d200e8380006e0760e5"
|
217 |
],
|
218 |
"index": "pypi",
|
219 |
"markers": "python_full_version >= '3.8.0'",
|
220 |
+
"version": "==0.29.3"
|
221 |
},
|
222 |
"idna": {
|
223 |
"hashes": [
|
|
|
336 |
},
|
337 |
"narwhals": {
|
338 |
"hashes": [
|
339 |
+
"sha256:8bdbf3f76155887412eea04b0b06303856ac1aa3d9e8bda5b5e54612855fa560",
|
340 |
+
"sha256:bd0aa41434737adb4b26f8593f3559abc7d938730ece010fe727b58bc363580d"
|
341 |
],
|
342 |
"markers": "python_version >= '3.8'",
|
343 |
+
"version": "==1.32.0"
|
344 |
+
},
|
345 |
+
"nest-asyncio": {
|
346 |
+
"hashes": [
|
347 |
+
"sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe",
|
348 |
+
"sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c"
|
349 |
+
],
|
350 |
+
"index": "pypi",
|
351 |
+
"markers": "python_version >= '3.5'",
|
352 |
+
"version": "==1.6.0"
|
353 |
},
|
354 |
"networkx": {
|
355 |
"hashes": [
|
|
|
359 |
"markers": "python_version >= '3.10'",
|
360 |
"version": "==3.4.2"
|
361 |
},
|
362 |
+
"nltk": {
|
363 |
+
"hashes": [
|
364 |
+
"sha256:4fa26829c5b00715afe3061398a8989dc643b92ce7dd93fb4585a70930d168a1",
|
365 |
+
"sha256:87d127bd3de4bd89a4f81265e5fa59cb1b199b27440175370f7417d2bc7ae868"
|
366 |
+
],
|
367 |
+
"index": "pypi",
|
368 |
+
"markers": "python_version >= '3.8'",
|
369 |
+
"version": "==3.9.1"
|
370 |
+
},
|
371 |
"numpy": {
|
372 |
"hashes": [
|
373 |
+
"sha256:05c076d531e9998e7e694c36e8b349969c56eadd2cdcd07242958489d79a7286",
|
374 |
+
"sha256:0d54974f9cf14acf49c60f0f7f4084b6579d24d439453d5fc5805d46a165b542",
|
375 |
+
"sha256:11c43995255eb4127115956495f43e9343736edb7fcdb0d973defd9de14cd84f",
|
376 |
+
"sha256:188dcbca89834cc2e14eb2f106c96d6d46f200fe0200310fc29089657379c58d",
|
377 |
+
"sha256:1974afec0b479e50438fc3648974268f972e2d908ddb6d7fb634598cdb8260a0",
|
378 |
+
"sha256:1cf4e5c6a278d620dee9ddeb487dc6a860f9b199eadeecc567f777daace1e9e7",
|
379 |
+
"sha256:207a2b8441cc8b6a2a78c9ddc64d00d20c303d79fba08c577752f080c4007ee3",
|
380 |
+
"sha256:218f061d2faa73621fa23d6359442b0fc658d5b9a70801373625d958259eaca3",
|
381 |
+
"sha256:2aad3c17ed2ff455b8eaafe06bcdae0062a1db77cb99f4b9cbb5f4ecb13c5146",
|
382 |
+
"sha256:2fa8fa7697ad1646b5c93de1719965844e004fcad23c91228aca1cf0800044a1",
|
383 |
+
"sha256:31504f970f563d99f71a3512d0c01a645b692b12a63630d6aafa0939e52361e6",
|
384 |
+
"sha256:3387dd7232804b341165cedcb90694565a6015433ee076c6754775e85d86f1fc",
|
385 |
+
"sha256:4ba5054787e89c59c593a4169830ab362ac2bee8a969249dc56e5d7d20ff8df9",
|
386 |
+
"sha256:4f92084defa704deadd4e0a5ab1dc52d8ac9e8a8ef617f3fbb853e79b0ea3592",
|
387 |
+
"sha256:65ef3468b53269eb5fdb3a5c09508c032b793da03251d5f8722b1194f1790c00",
|
388 |
+
"sha256:6f527d8fdb0286fd2fd97a2a96c6be17ba4232da346931d967a0630050dfd298",
|
389 |
+
"sha256:7051ee569db5fbac144335e0f3b9c2337e0c8d5c9fee015f259a5bd70772b7e8",
|
390 |
+
"sha256:7716e4a9b7af82c06a2543c53ca476fa0b57e4d760481273e09da04b74ee6ee2",
|
391 |
+
"sha256:79bd5f0a02aa16808fcbc79a9a376a147cc1045f7dfe44c6e7d53fa8b8a79392",
|
392 |
+
"sha256:7a4e84a6283b36632e2a5b56e121961f6542ab886bc9e12f8f9818b3c266bfbb",
|
393 |
+
"sha256:8120575cb4882318c791f839a4fd66161a6fa46f3f0a5e613071aae35b5dd8f8",
|
394 |
+
"sha256:81413336ef121a6ba746892fad881a83351ee3e1e4011f52e97fba79233611fd",
|
395 |
+
"sha256:8146f3550d627252269ac42ae660281d673eb6f8b32f113538e0cc2a9aed42b9",
|
396 |
+
"sha256:879cf3a9a2b53a4672a168c21375166171bc3932b7e21f622201811c43cdd3b0",
|
397 |
+
"sha256:892c10d6a73e0f14935c31229e03325a7b3093fafd6ce0af704be7f894d95687",
|
398 |
+
"sha256:92bda934a791c01d6d9d8e038363c50918ef7c40601552a58ac84c9613a665bc",
|
399 |
+
"sha256:9ba03692a45d3eef66559efe1d1096c4b9b75c0986b5dff5530c378fb8331d4f",
|
400 |
+
"sha256:9eeea959168ea555e556b8188da5fa7831e21d91ce031e95ce23747b7609f8a4",
|
401 |
+
"sha256:a0258ad1f44f138b791327961caedffbf9612bfa504ab9597157806faa95194a",
|
402 |
+
"sha256:a761ba0fa886a7bb33c6c8f6f20213735cb19642c580a931c625ee377ee8bd39",
|
403 |
+
"sha256:a7b9084668aa0f64e64bd00d27ba5146ef1c3a8835f3bd912e7a9e01326804c4",
|
404 |
+
"sha256:a84eda42bd12edc36eb5b53bbcc9b406820d3353f1994b6cfe453a33ff101775",
|
405 |
+
"sha256:ab2939cd5bec30a7430cbdb2287b63151b77cf9624de0532d629c9a1c59b1d5c",
|
406 |
+
"sha256:ac0280f1ba4a4bfff363a99a6aceed4f8e123f8a9b234c89140f5e894e452ecd",
|
407 |
+
"sha256:adf8c1d66f432ce577d0197dceaac2ac00c0759f573f28516246351c58a85020",
|
408 |
+
"sha256:b4adfbbc64014976d2f91084915ca4e626fbf2057fb81af209c1a6d776d23e3d",
|
409 |
+
"sha256:bb649f8b207ab07caebba230d851b579a3c8711a851d29efe15008e31bb4de24",
|
410 |
+
"sha256:bce43e386c16898b91e162e5baaad90c4b06f9dcbe36282490032cec98dc8ae7",
|
411 |
+
"sha256:bd3ad3b0a40e713fc68f99ecfd07124195333f1e689387c180813f0e94309d6f",
|
412 |
+
"sha256:c3f7ac96b16955634e223b579a3e5798df59007ca43e8d451a0e6a50f6bfdfba",
|
413 |
+
"sha256:cf28633d64294969c019c6df4ff37f5698e8326db68cc2b66576a51fad634880",
|
414 |
+
"sha256:d0f35b19894a9e08639fd60a1ec1978cb7f5f7f1eace62f38dd36be8aecdef4d",
|
415 |
+
"sha256:db1f1c22173ac1c58db249ae48aa7ead29f534b9a948bc56828337aa84a32ed6",
|
416 |
+
"sha256:dbe512c511956b893d2dacd007d955a3f03d555ae05cfa3ff1c1ff6df8851854",
|
417 |
+
"sha256:df2f57871a96bbc1b69733cd4c51dc33bea66146b8c63cacbfed73eec0883017",
|
418 |
+
"sha256:e2f085ce2e813a50dfd0e01fbfc0c12bbe5d2063d99f8b29da30e544fb6483b8",
|
419 |
+
"sha256:e642d86b8f956098b564a45e6f6ce68a22c2c97a04f5acd3f221f57b8cb850ae",
|
420 |
+
"sha256:e9e0a277bb2eb5d8a7407e14688b85fd8ad628ee4e0c7930415687b6564207a4",
|
421 |
+
"sha256:ea2bb7e2ae9e37d96835b3576a4fa4b3a97592fbea8ef7c3587078b0068b8f09",
|
422 |
+
"sha256:ee4d528022f4c5ff67332469e10efe06a267e32f4067dc76bb7e2cddf3cd25ff",
|
423 |
+
"sha256:f05d4198c1bacc9124018109c5fba2f3201dbe7ab6e92ff100494f236209c960",
|
424 |
+
"sha256:f34dc300df798742b3d06515aa2a0aee20941c13579d7a2f2e10af01ae4901ee",
|
425 |
+
"sha256:f4162988a360a29af158aeb4a2f4f09ffed6a969c9776f8f3bdee9b06a8ab7e5",
|
426 |
+
"sha256:f486038e44caa08dbd97275a9a35a283a8f1d2f0ee60ac260a1790e76660833c",
|
427 |
+
"sha256:f7de08cbe5551911886d1ab60de58448c6df0f67d9feb7d1fb21e9875ef95e91"
|
428 |
],
|
429 |
"index": "pypi",
|
430 |
"markers": "python_version >= '3.10'",
|
431 |
+
"version": "==2.2.4"
|
432 |
},
|
433 |
"packaging": {
|
434 |
"hashes": [
|
|
|
566 |
},
|
567 |
"protobuf": {
|
568 |
"hashes": [
|
569 |
+
"sha256:13eb236f8eb9ec34e63fc8b1d6efd2777d062fa6aaa68268fb67cf77f6839ad7",
|
570 |
+
"sha256:1832f0515b62d12d8e6ffc078d7e9eb06969aa6dc13c13e1036e39d73bebc2de",
|
571 |
+
"sha256:307ecba1d852ec237e9ba668e087326a67564ef83e45a0189a772ede9e854dd0",
|
572 |
+
"sha256:3fde11b505e1597f71b875ef2fc52062b6a9740e5f7c8997ce878b6009145862",
|
573 |
+
"sha256:476cb7b14914c780605a8cf62e38c2a85f8caff2e28a6a0bad827ec7d6c85d68",
|
574 |
+
"sha256:4f1dfcd7997b31ef8f53ec82781ff434a28bf71d9102ddde14d076adcfc78c99",
|
575 |
+
"sha256:678974e1e3a9b975b8bc2447fca458db5f93a2fb6b0c8db46b6675b5b5346812",
|
576 |
+
"sha256:aec4962f9ea93c431d5714ed1be1c93f13e1a8618e70035ba2b0564d9e633f2e",
|
577 |
+
"sha256:bcefcdf3976233f8a502d265eb65ea740c989bacc6c30a58290ed0e519eb4b8d",
|
578 |
+
"sha256:d7d3f7d1d5a66ed4942d4fefb12ac4b14a29028b209d4bfb25c68ae172059922",
|
579 |
+
"sha256:fd32223020cb25a2cc100366f1dedc904e2d71d9322403224cdde5fdced0dabe"
|
580 |
],
|
581 |
"markers": "python_version >= '3.8'",
|
582 |
+
"version": "==5.29.4"
|
583 |
},
|
584 |
"pyarrow": {
|
585 |
"hashes": [
|
|
|
647 |
},
|
648 |
"pytz": {
|
649 |
"hashes": [
|
650 |
+
"sha256:360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3",
|
651 |
+
"sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00"
|
652 |
],
|
653 |
+
"version": "==2025.2"
|
654 |
},
|
655 |
"pyyaml": {
|
656 |
"hashes": [
|
|
|
867 |
},
|
868 |
"setuptools": {
|
869 |
"hashes": [
|
870 |
+
"sha256:18fd474d4a82a5f83dac888df697af65afa82dec7323d09c3e37d1f14288da54",
|
871 |
+
"sha256:3e386e96793c8702ae83d17b853fb93d3e09ef82ec62722e61da5cd22376dcd8"
|
872 |
],
|
873 |
"markers": "python_version >= '3.12'",
|
874 |
+
"version": "==78.1.0"
|
875 |
},
|
876 |
"six": {
|
877 |
"hashes": [
|
|
|
900 |
},
|
901 |
"streamlit": {
|
902 |
"hashes": [
|
903 |
+
"sha256:98510d03e53622bba8f0e9f2fd4f1191b3b55e5c7e55abbbaa0289cb9e21cdea",
|
904 |
+
"sha256:da75933bae94595167f43822dea43fcdde0d747433f7d04989266d78967951bb"
|
905 |
],
|
906 |
"index": "pypi",
|
907 |
"markers": "python_version >= '3.9' and python_full_version != '3.9.7'",
|
908 |
+
"version": "==1.44.0"
|
909 |
},
|
910 |
"sympy": {
|
911 |
"hashes": [
|
|
|
925 |
},
|
926 |
"tokenizers": {
|
927 |
"hashes": [
|
928 |
+
"sha256:0f0dcbcc9f6e13e675a66d7a5f2f225a736745ce484c1a4e07476a89ccdad382",
|
929 |
+
"sha256:1039a3a5734944e09de1d48761ade94e00d0fa760c0e0551151d4dd851ba63e3",
|
930 |
+
"sha256:28da6b72d4fb14ee200a1bd386ff74ade8992d7f725f2bde2c495a9a98cf4d9f",
|
931 |
+
"sha256:2dd9a0061e403546f7377df940e866c3e678d7d4e9643d0461ea442b4f89e61a",
|
932 |
+
"sha256:2fdbd4c067c60a0ac7eca14b6bd18a5bebace54eb757c706b47ea93204f7a37c",
|
933 |
+
"sha256:34d8cfde551c9916cb92014e040806122295a6800914bab5865deb85623931cf",
|
934 |
+
"sha256:9ac78b12e541d4ce67b4dfd970e44c060a2147b9b2a21f509566d556a509c67d",
|
935 |
+
"sha256:a1bb04dc5b448985f86ecd4b05407f5a8d97cb2c0532199b2a302a604a0165ab",
|
936 |
+
"sha256:a21a15d5c8e603331b8a59548bbe113564136dc0f5ad8306dd5033459a226da0",
|
937 |
+
"sha256:aaa852d23e125b73d283c98f007e06d4595732104b65402f46e8ef24b588d9f8",
|
938 |
+
"sha256:cd51cd0a91ecc801633829fcd1fda9cf8682ed3477c6243b9a095539de4aecf3",
|
939 |
+
"sha256:db9484aeb2e200c43b915a1a0150ea885e35f357a5a8fabf7373af333dcc8dbf",
|
940 |
+
"sha256:e5a69c1a4496b81a5ee5d2c1f3f7fbdf95e90a0196101b0ee89ed9956b8a168f",
|
941 |
+
"sha256:e78e413e9e668ad790a29456e677d9d3aa50a9ad311a40905d6861ba7692cf41",
|
942 |
+
"sha256:ed248ab5279e601a30a4d67bdb897ecbe955a50f1e7bb62bd99f07dd11c2f5b6"
|
943 |
],
|
944 |
+
"markers": "python_version >= '3.9'",
|
945 |
+
"version": "==0.21.1"
|
946 |
},
|
947 |
"toml": {
|
948 |
"hashes": [
|
|
|
1006 |
},
|
1007 |
"transformers": {
|
1008 |
"hashes": [
|
1009 |
+
"sha256:6ee542d2cce7e1b6a06ae350599c27ddf2e6e45ec9d0cb42915b37fca3d6399a",
|
1010 |
+
"sha256:e9b9bd274518150528c1d745c7ebba72d27e4e52f2deffaa1fddebad6912da5d"
|
1011 |
],
|
1012 |
"index": "pypi",
|
1013 |
"markers": "python_full_version >= '3.9.0'",
|
1014 |
+
"version": "==4.50.1"
|
1015 |
},
|
1016 |
"typing-extensions": {
|
1017 |
"hashes": [
|
1018 |
+
"sha256:0a4ac55a5820789d87e297727d229866c9650f6521b64206413c4fbada24d95b",
|
1019 |
+
"sha256:c8dd92cc0d6425a97c18fbb9d1954e5ff92c1ca881a309c45f06ebc0b79058e5"
|
1020 |
],
|
1021 |
"markers": "python_version >= '3.8'",
|
1022 |
+
"version": "==4.13.0"
|
1023 |
},
|
1024 |
"tzdata": {
|
1025 |
"hashes": [
|
1026 |
+
"sha256:1a403fada01ff9221ca8044d701868fa132215d84beb92242d9acd2147f667a8",
|
1027 |
+
"sha256:b60a638fcc0daffadf82fe0f57e53d06bdec2f36c4df66280ae79bce6bd6f2b9"
|
1028 |
],
|
1029 |
"markers": "python_version >= '2'",
|
1030 |
+
"version": "==2025.2"
|
1031 |
},
|
1032 |
"urllib3": {
|
1033 |
"hashes": [
|
config.py
CHANGED
@@ -15,8 +15,9 @@ BIN_MODEL_PATH = MODELS_DIR / 'binary_classification'
|
|
15 |
ML_MODEL_PATH = MODELS_DIR / 'multilabel_regression'
|
16 |
|
17 |
# HF Hub Repositories
|
18 |
-
BIN_REPO = 'dlsmallw/Binary-Classification
|
19 |
-
ML_REPO = 'dlsmallw/Multilabel-Regression
|
|
|
20 |
|
21 |
BIN_API_URL = f"https://api-inference.huggingface.co/models/{BIN_REPO}"
|
22 |
ML_API_URL = f"https://api-inference.huggingface.co/models/{ML_REPO}"
|
|
|
15 |
ML_MODEL_PATH = MODELS_DIR / 'multilabel_regression'
|
16 |
|
17 |
# HF Hub Repositories
|
18 |
+
BIN_REPO = 'dlsmallw/NLPinitiative-Binary-Classification'
|
19 |
+
ML_REPO = 'dlsmallw/NLPinitiative-Multilabel-Regression'
|
20 |
+
DATASET_REPO = 'dlsmallw/NLPinitiative-Dataset'
|
21 |
|
22 |
BIN_API_URL = f"https://api-inference.huggingface.co/models/{BIN_REPO}"
|
23 |
ML_API_URL = f"https://api-inference.huggingface.co/models/{ML_REPO}"
|
scripts/predict.py
CHANGED
@@ -4,6 +4,8 @@ Script file used for performing inference with an existing model.
|
|
4 |
|
5 |
import torch
|
6 |
import json
|
|
|
|
|
7 |
import huggingface_hub
|
8 |
|
9 |
from transformers import (
|
@@ -20,6 +22,7 @@ class InferenceHandler:
|
|
20 |
self.api_token = api_token
|
21 |
self.bin_tokenizer, self.bin_model = self.init_model_and_tokenizer(BIN_REPO)
|
22 |
self.ml_regr_tokenizer, self.ml_regr_model = self.init_model_and_tokenizer(ML_REPO)
|
|
|
23 |
|
24 |
def get_config(self, repo_id):
|
25 |
config = None
|
@@ -57,32 +60,45 @@ class InferenceHandler:
|
|
57 |
return bin_inputs, ml_inputs
|
58 |
|
59 |
## Handles performing the full sentiment analysis (binary classification and multilabel regression)
|
60 |
-
def classify_text(self,
|
61 |
-
|
62 |
-
'
|
63 |
-
'
|
64 |
-
'numerical_sentiment': None,
|
65 |
-
'category_sentiments': {
|
66 |
-
'Gender': None,
|
67 |
-
'Race': None,
|
68 |
-
'Sexuality': None,
|
69 |
-
'Disability': None,
|
70 |
-
'Religion': None,
|
71 |
-
'Unspecified': None
|
72 |
-
}
|
73 |
}
|
74 |
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
|
|
|
|
|
|
|
|
84 |
|
85 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
|
87 |
## Handles logic for checking the binary classfication of the text
|
88 |
def discriminatory_inference(self, text):
|
|
|
4 |
|
5 |
import torch
|
6 |
import json
|
7 |
+
import nltk
|
8 |
+
from nltk.tokenize import sent_tokenize
|
9 |
import huggingface_hub
|
10 |
|
11 |
from transformers import (
|
|
|
22 |
self.api_token = api_token
|
23 |
self.bin_tokenizer, self.bin_model = self.init_model_and_tokenizer(BIN_REPO)
|
24 |
self.ml_regr_tokenizer, self.ml_regr_model = self.init_model_and_tokenizer(ML_REPO)
|
25 |
+
nltk.download('punkt_tab')
|
26 |
|
27 |
def get_config(self, repo_id):
|
28 |
config = None
|
|
|
60 |
return bin_inputs, ml_inputs
|
61 |
|
62 |
## Handles performing the full sentiment analysis (binary classification and multilabel regression)
|
63 |
+
def classify_text(self, input):
|
64 |
+
result = {
|
65 |
+
'text_input': input,
|
66 |
+
'results': []
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
67 |
}
|
68 |
|
69 |
+
sent_res_arr = []
|
70 |
+
sentences = sent_tokenize(input)
|
71 |
+
for sent in sentences:
|
72 |
+
text_prediction, pred_class = self.discriminatory_inference(sent)
|
73 |
+
|
74 |
+
sent_result = {
|
75 |
+
'sentence': sent,
|
76 |
+
'binary_classification': {
|
77 |
+
'classification': text_prediction,
|
78 |
+
'prediction_class': pred_class
|
79 |
+
},
|
80 |
+
'multilabel_regression': None
|
81 |
+
}
|
82 |
|
83 |
+
if pred_class == 1:
|
84 |
+
ml_results = {
|
85 |
+
"Gender": None,
|
86 |
+
"Race": None,
|
87 |
+
"Sexuality": None,
|
88 |
+
"Disability": None,
|
89 |
+
"Religion": None,
|
90 |
+
"Unspecified": None
|
91 |
+
}
|
92 |
+
|
93 |
+
ml_infer_results = self.category_inference(sent)
|
94 |
+
for idx, key in enumerate(ml_results.keys()):
|
95 |
+
ml_results[key] = min(max(ml_infer_results[idx], 0.0), 1.0)
|
96 |
+
|
97 |
+
sent_result['multilabel_regression'] = ml_results
|
98 |
+
sent_res_arr.append(sent_result)
|
99 |
+
|
100 |
+
result['results'] = sent_res_arr
|
101 |
+
return result
|
102 |
|
103 |
## Handles logic for checking the binary classfication of the text
|
104 |
def discriminatory_inference(self, text):
|
setup.sh
ADDED
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#!/usr/bin/bash
|
2 |
+
|
3 |
+
build() {
|
4 |
+
clean
|
5 |
+
|
6 |
+
python -m venv .venv
|
7 |
+
source .venv/Scripts/activate
|
8 |
+
pip install pipenv
|
9 |
+
pipenv install
|
10 |
+
}
|
11 |
+
|
12 |
+
clean() {
|
13 |
+
if [ -n "$VIRTUAL_ENV" ]; then
|
14 |
+
deactivate
|
15 |
+
find . -type d -name ".venv" -delete
|
16 |
+
fi
|
17 |
+
|
18 |
+
find . -type f -name "*.py[co]" -delete
|
19 |
+
find . -type d -name "__pycache__" -delete
|
20 |
+
}
|
21 |
+
|
22 |
+
# docs() {
|
23 |
+
# case $1 in
|
24 |
+
# build)
|
25 |
+
# mkdocs build
|
26 |
+
# ;;
|
27 |
+
# serve)
|
28 |
+
# mkdocs serve
|
29 |
+
# ;;
|
30 |
+
# *)
|
31 |
+
# log_error "Specify 'build' or 'serve'. For example: docs build"
|
32 |
+
# ;;
|
33 |
+
# esac
|
34 |
+
# }
|