Sanjaya Subedi commited on
Commit
b67d211
·
1 Parent(s): 7558738

update easyknn and demo article

Browse files
app.py CHANGED
@@ -12,12 +12,14 @@ def search(query: str, k=5):
12
  query, normalize_embeddings=True, convert_to_numpy=True
13
  )
14
  items, scores = knn.neighbors(query_embeddings, k=k)
15
- items = [f"{item[:200]} ..." for item in items]
16
- return pd.DataFrame(dict(article=items, distance=scores))
 
 
17
 
18
 
19
  def search_duplicate_news(evt: gr.SelectData):
20
- return search(evt.row_value[0].replace(" ...", ""), k=5)
21
 
22
 
23
  with gr.Blocks() as demo:
@@ -25,7 +27,7 @@ with gr.Blocks() as demo:
25
  """
26
  ## Demo of [jangedoo/all-MiniLM-L6-v2-nepali](https://huggingface.co/jangedoo/all-MiniLM-L6-v2-nepali) model.
27
 
28
- 5,000 Nepali news articles (source dataset: mridul3301/nepali-text-corpus-64) have been embedded using this model.
29
 
30
  FAISS library is used for similarity search and the embeddings have been quantized to 8bit integers to tradeoff performance vs resource usage.
31
 
@@ -52,7 +54,10 @@ You can use **Nepali** as well as **English** for your queries. However, English
52
  )
53
  btn = gr.Button("Search")
54
  out = gr.DataFrame(headers=["article", "distance"])
55
- gr.Markdown("**Select an article above to see similar articles.**")
 
 
 
56
  duplicate_news = gr.DataFrame(headers=["article", "distance"])
57
 
58
  btn.click(fn=search, inputs=[query, num_results], outputs=out)
 
12
  query, normalize_embeddings=True, convert_to_numpy=True
13
  )
14
  items, scores = knn.neighbors(query_embeddings, k=k)
15
+ df = pd.DataFrame(items)
16
+ df["distance"] = scores.round(2)
17
+ df = df[["id", "distance", "title", "text"]]
18
+ return df
19
 
20
 
21
  def search_duplicate_news(evt: gr.SelectData):
22
+ return search(evt.row_value[3].replace(" ...", "")[:1500], k=10)
23
 
24
 
25
  with gr.Blocks() as demo:
 
27
  """
28
  ## Demo of [jangedoo/all-MiniLM-L6-v2-nepali](https://huggingface.co/jangedoo/all-MiniLM-L6-v2-nepali) model.
29
 
30
+ 5,000 [Nepali Wikipedia articles](https://huggingface.co/datasets/wikimedia/wikipedia/viewer/20231101.ne) have been embedded using this model.
31
 
32
  FAISS library is used for similarity search and the embeddings have been quantized to 8bit integers to tradeoff performance vs resource usage.
33
 
 
54
  )
55
  btn = gr.Button("Search")
56
  out = gr.DataFrame(headers=["article", "distance"])
57
+ # out = gr.Blocks()
58
+ gr.Markdown(
59
+ "**Select an article above to see similar articles.** content from 'text' is used for similarity search"
60
+ )
61
  duplicate_news = gr.DataFrame(headers=["article", "distance"])
62
 
63
  btn.click(fn=search, inputs=[query, num_results], outputs=out)
create_index.py CHANGED
@@ -3,17 +3,22 @@ import easyknn
3
  from sentence_transformers import SentenceTransformer
4
 
5
  ds = datasets.load_dataset(
6
- "mridul3301/nepali-text-corpus-64", split="train", streaming=True
7
  )
8
- ds = ds.take(5000)
9
  model = SentenceTransformer("jangedoo/all-MiniLM-L6-v2-nepali")
10
 
11
- texts = [row["Article"] for row in ds]
 
 
12
  embeddings = model.encode(
13
- texts, normalize_embeddings=True, convert_to_numpy=True, show_progress_bar=True
 
 
 
14
  )
15
 
16
  builder = easyknn.EmbeddingsIndexBuilder()
17
- builder.add(embeddings=embeddings, items=texts)
18
  knn = easyknn.EasyKNN.from_builder_with_faiss(builder=builder)
19
  knn.save("./data/knn_index")
 
3
  from sentence_transformers import SentenceTransformer
4
 
5
  ds = datasets.load_dataset(
6
+ "wikimedia/wikipedia", "20231101.ne", split="train", streaming=True
7
  )
8
+ ds = list(ds.take(5000))
9
  model = SentenceTransformer("jangedoo/all-MiniLM-L6-v2-nepali")
10
 
11
+ texts = [row["text"] for row in ds]
12
+ urls = [row["url"] for row in ds]
13
+
14
  embeddings = model.encode(
15
+ [text[:1500] for text in texts],
16
+ normalize_embeddings=True,
17
+ convert_to_numpy=True,
18
+ show_progress_bar=True,
19
  )
20
 
21
  builder = easyknn.EmbeddingsIndexBuilder()
22
+ builder.add(embeddings=embeddings, item_keys=urls, items=ds)
23
  knn = easyknn.EasyKNN.from_builder_with_faiss(builder=builder)
24
  knn.save("./data/knn_index")
data/knn_index/easyknn.pkl CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:a4500e3cec68f0d08b783aac4b551090677338f25c0872a764bf71eda61bb583
3
- size 21583646
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6ad5c35d664aef360844b3a0ae5e8277d84a0b043ef7a644b33497f25b82ec5c
3
+ size 704794
data/knn_index/faiss.index CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:96dd007ee93d8c5835f4fbca20fe24821bd104dbe31038dd9707d133824c4ac6
3
- size 7620141
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:57a06f3e15835ddddfa1bb978b09362348cb9eb7e0acfb4456a5a3c181734fdd
3
+ size 7680045
data/knn_index/item_data.meta ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fb7d239d2e21d2467cbd717319c95b287443b67599830ac40e1212c6dfb9cb61
3
+ size 49920
data/knn_index/item_data.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:85def541701ec242f91b1b1bec99ea06ff3fabc7f532dd4ae42ce09bfcaa0d25
3
+ size 6083308
poetry.lock CHANGED
@@ -334,66 +334,87 @@ files = [
334
 
335
  [[package]]
336
  name = "contourpy"
337
- version = "1.2.1"
338
  description = "Python library for calculating contours of 2D quadrilateral grids"
339
  optional = false
340
  python-versions = ">=3.9"
341
  files = [
342
- {file = "contourpy-1.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bd7c23df857d488f418439686d3b10ae2fbf9bc256cd045b37a8c16575ea1040"},
343
- {file = "contourpy-1.2.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5b9eb0ca724a241683c9685a484da9d35c872fd42756574a7cfbf58af26677fd"},
344
- {file = "contourpy-1.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4c75507d0a55378240f781599c30e7776674dbaf883a46d1c90f37e563453480"},
345
- {file = "contourpy-1.2.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:11959f0ce4a6f7b76ec578576a0b61a28bdc0696194b6347ba3f1c53827178b9"},
346
- {file = "contourpy-1.2.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eb3315a8a236ee19b6df481fc5f997436e8ade24a9f03dfdc6bd490fea20c6da"},
347
- {file = "contourpy-1.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:39f3ecaf76cd98e802f094e0d4fbc6dc9c45a8d0c4d185f0f6c2234e14e5f75b"},
348
- {file = "contourpy-1.2.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:94b34f32646ca0414237168d68a9157cb3889f06b096612afdd296003fdd32fd"},
349
- {file = "contourpy-1.2.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:457499c79fa84593f22454bbd27670227874cd2ff5d6c84e60575c8b50a69619"},
350
- {file = "contourpy-1.2.1-cp310-cp310-win32.whl", hash = "sha256:ac58bdee53cbeba2ecad824fa8159493f0bf3b8ea4e93feb06c9a465d6c87da8"},
351
- {file = "contourpy-1.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:9cffe0f850e89d7c0012a1fb8730f75edd4320a0a731ed0c183904fe6ecfc3a9"},
352
- {file = "contourpy-1.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6022cecf8f44e36af10bd9118ca71f371078b4c168b6e0fab43d4a889985dbb5"},
353
- {file = "contourpy-1.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ef5adb9a3b1d0c645ff694f9bca7702ec2c70f4d734f9922ea34de02294fdf72"},
354
- {file = "contourpy-1.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6150ffa5c767bc6332df27157d95442c379b7dce3a38dff89c0f39b63275696f"},
355
- {file = "contourpy-1.2.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4c863140fafc615c14a4bf4efd0f4425c02230eb8ef02784c9a156461e62c965"},
356
- {file = "contourpy-1.2.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:00e5388f71c1a0610e6fe56b5c44ab7ba14165cdd6d695429c5cd94021e390b2"},
357
- {file = "contourpy-1.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d4492d82b3bc7fbb7e3610747b159869468079fe149ec5c4d771fa1f614a14df"},
358
- {file = "contourpy-1.2.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:49e70d111fee47284d9dd867c9bb9a7058a3c617274900780c43e38d90fe1205"},
359
- {file = "contourpy-1.2.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:b59c0ffceff8d4d3996a45f2bb6f4c207f94684a96bf3d9728dbb77428dd8cb8"},
360
- {file = "contourpy-1.2.1-cp311-cp311-win32.whl", hash = "sha256:7b4182299f251060996af5249c286bae9361fa8c6a9cda5efc29fe8bfd6062ec"},
361
- {file = "contourpy-1.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2855c8b0b55958265e8b5888d6a615ba02883b225f2227461aa9127c578a4922"},
362
- {file = "contourpy-1.2.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:62828cada4a2b850dbef89c81f5a33741898b305db244904de418cc957ff05dc"},
363
- {file = "contourpy-1.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:309be79c0a354afff9ff7da4aaed7c3257e77edf6c1b448a779329431ee79d7e"},
364
- {file = "contourpy-1.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e785e0f2ef0d567099b9ff92cbfb958d71c2d5b9259981cd9bee81bd194c9a4"},
365
- {file = "contourpy-1.2.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1cac0a8f71a041aa587410424ad46dfa6a11f6149ceb219ce7dd48f6b02b87a7"},
366
- {file = "contourpy-1.2.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:af3f4485884750dddd9c25cb7e3915d83c2db92488b38ccb77dd594eac84c4a0"},
367
- {file = "contourpy-1.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ce6889abac9a42afd07a562c2d6d4b2b7134f83f18571d859b25624a331c90b"},
368
- {file = "contourpy-1.2.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:a1eea9aecf761c661d096d39ed9026574de8adb2ae1c5bd7b33558af884fb2ce"},
369
- {file = "contourpy-1.2.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:187fa1d4c6acc06adb0fae5544c59898ad781409e61a926ac7e84b8f276dcef4"},
370
- {file = "contourpy-1.2.1-cp312-cp312-win32.whl", hash = "sha256:c2528d60e398c7c4c799d56f907664673a807635b857df18f7ae64d3e6ce2d9f"},
371
- {file = "contourpy-1.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:1a07fc092a4088ee952ddae19a2b2a85757b923217b7eed584fdf25f53a6e7ce"},
372
- {file = "contourpy-1.2.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bb6834cbd983b19f06908b45bfc2dad6ac9479ae04abe923a275b5f48f1a186b"},
373
- {file = "contourpy-1.2.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1d59e739ab0e3520e62a26c60707cc3ab0365d2f8fecea74bfe4de72dc56388f"},
374
- {file = "contourpy-1.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd3db01f59fdcbce5b22afad19e390260d6d0222f35a1023d9adc5690a889364"},
375
- {file = "contourpy-1.2.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a12a813949e5066148712a0626895c26b2578874e4cc63160bb007e6df3436fe"},
376
- {file = "contourpy-1.2.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fe0ccca550bb8e5abc22f530ec0466136379c01321fd94f30a22231e8a48d985"},
377
- {file = "contourpy-1.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e1d59258c3c67c865435d8fbeb35f8c59b8bef3d6f46c1f29f6123556af28445"},
378
- {file = "contourpy-1.2.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f32c38afb74bd98ce26de7cc74a67b40afb7b05aae7b42924ea990d51e4dac02"},
379
- {file = "contourpy-1.2.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d31a63bc6e6d87f77d71e1abbd7387ab817a66733734883d1fc0021ed9bfa083"},
380
- {file = "contourpy-1.2.1-cp39-cp39-win32.whl", hash = "sha256:ddcb8581510311e13421b1f544403c16e901c4e8f09083c881fab2be80ee31ba"},
381
- {file = "contourpy-1.2.1-cp39-cp39-win_amd64.whl", hash = "sha256:10a37ae557aabf2509c79715cd20b62e4c7c28b8cd62dd7d99e5ed3ce28c3fd9"},
382
- {file = "contourpy-1.2.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a31f94983fecbac95e58388210427d68cd30fe8a36927980fab9c20062645609"},
383
- {file = "contourpy-1.2.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef2b055471c0eb466033760a521efb9d8a32b99ab907fc8358481a1dd29e3bd3"},
384
- {file = "contourpy-1.2.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:b33d2bc4f69caedcd0a275329eb2198f560b325605810895627be5d4b876bf7f"},
385
- {file = "contourpy-1.2.1.tar.gz", hash = "sha256:4d8908b3bee1c889e547867ca4cdc54e5ab6be6d3e078556814a22457f49423c"},
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
386
  ]
387
 
388
  [package.dependencies]
389
- numpy = ">=1.20"
390
 
391
  [package.extras]
392
  bokeh = ["bokeh", "selenium"]
393
  docs = ["furo", "sphinx (>=7.2)", "sphinx-copybutton"]
394
- mypy = ["contourpy[bokeh,docs]", "docutils-stubs", "mypy (==1.8.0)", "types-Pillow"]
395
  test = ["Pillow", "contourpy[test-no-images]", "matplotlib"]
396
- test-no-images = ["pytest", "pytest-cov", "pytest-xdist", "wurlitzer"]
397
 
398
  [[package]]
399
  name = "cycler"
@@ -471,13 +492,13 @@ profile = ["gprof2dot (>=2022.7.29)"]
471
 
472
  [[package]]
473
  name = "easyknn"
474
- version = "0.4.1"
475
  description = "Easy nearest neighbors using Annoy or SKLearn"
476
  optional = false
477
  python-versions = "<4.0,>=3.8.1"
478
  files = [
479
- {file = "easyknn-0.4.1-py3-none-any.whl", hash = "sha256:09ce2f2146135c208c3bd833dda0ad75506cfff1dd1e40f5b23799eaba8ff0e3"},
480
- {file = "easyknn-0.4.1.tar.gz", hash = "sha256:9f7a2723477fd9379560c14846eeae243ead63a505a00c003807a5d045c0e105"},
481
  ]
482
 
483
  [[package]]
@@ -521,13 +542,13 @@ packaging = "*"
521
 
522
  [[package]]
523
  name = "fastapi"
524
- version = "0.112.1"
525
  description = "FastAPI framework, high performance, easy to learn, fast to code, ready for production"
526
  optional = false
527
  python-versions = ">=3.8"
528
  files = [
529
- {file = "fastapi-0.112.1-py3-none-any.whl", hash = "sha256:bcbd45817fc2a1cd5da09af66815b84ec0d3d634eb173d1ab468ae3103e183e4"},
530
- {file = "fastapi-0.112.1.tar.gz", hash = "sha256:b2537146f8c23389a7faa8b03d0bd38d4986e6983874557d95eed2acc46448ef"},
531
  ]
532
 
533
  [package.dependencies]
@@ -536,8 +557,8 @@ starlette = ">=0.37.2,<0.39.0"
536
  typing-extensions = ">=4.8.0"
537
 
538
  [package.extras]
539
- all = ["email_validator (>=2.0.0)", "fastapi-cli[standard] (>=0.0.5)", "httpx (>=0.23.0)", "itsdangerous (>=1.1.0)", "jinja2 (>=2.11.2)", "orjson (>=3.2.1)", "pydantic-extra-types (>=2.0.0)", "pydantic-settings (>=2.0.0)", "python-multipart (>=0.0.7)", "pyyaml (>=5.3.1)", "ujson (>=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0)", "uvicorn[standard] (>=0.12.0)"]
540
- standard = ["email_validator (>=2.0.0)", "fastapi-cli[standard] (>=0.0.5)", "httpx (>=0.23.0)", "jinja2 (>=2.11.2)", "python-multipart (>=0.0.7)", "uvicorn[standard] (>=0.12.0)"]
541
 
542
  [[package]]
543
  name = "ffmpy"
@@ -855,13 +876,13 @@ trio = ["trio (>=0.22.0,<0.26.0)"]
855
 
856
  [[package]]
857
  name = "httpx"
858
- version = "0.27.0"
859
  description = "The next generation HTTP client."
860
  optional = false
861
  python-versions = ">=3.8"
862
  files = [
863
- {file = "httpx-0.27.0-py3-none-any.whl", hash = "sha256:71d5465162c13681bff01ad59b2cc68dd838ea1f10e51574bac27103f00c91a5"},
864
- {file = "httpx-0.27.0.tar.gz", hash = "sha256:a0cb88a46f32dc874e04ee956e4c2764aba2aa228f650b06788ba6bda2962ab5"},
865
  ]
866
 
867
  [package.dependencies]
@@ -876,6 +897,7 @@ brotli = ["brotli", "brotlicffi"]
876
  cli = ["click (==8.*)", "pygments (==2.*)", "rich (>=10,<14)"]
877
  http2 = ["h2 (>=3,<5)"]
878
  socks = ["socksio (==1.*)"]
 
879
 
880
  [[package]]
881
  name = "huggingface-hub"
@@ -913,13 +935,13 @@ typing = ["types-PyYAML", "types-requests", "types-simplejson", "types-toml", "t
913
 
914
  [[package]]
915
  name = "idna"
916
- version = "3.7"
917
  description = "Internationalized Domain Names in Applications (IDNA)"
918
  optional = false
919
- python-versions = ">=3.5"
920
  files = [
921
- {file = "idna-3.7-py3-none-any.whl", hash = "sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0"},
922
- {file = "idna-3.7.tar.gz", hash = "sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc"},
923
  ]
924
 
925
  [[package]]
@@ -1569,8 +1591,8 @@ files = [
1569
 
1570
  [package.dependencies]
1571
  numpy = [
1572
- {version = ">=1.23.2", markers = "python_version == \"3.11\""},
1573
  {version = ">=1.26.0", markers = "python_version >= \"3.12\""},
 
1574
  ]
1575
  python-dateutil = ">=2.8.2"
1576
  pytz = ">=2020.1"
@@ -1764,8 +1786,8 @@ files = [
1764
  annotated-types = ">=0.4.0"
1765
  pydantic-core = "2.20.1"
1766
  typing-extensions = [
1767
- {version = ">=4.6.1", markers = "python_version < \"3.13\""},
1768
  {version = ">=4.12.2", markers = "python_version >= \"3.13\""},
 
1769
  ]
1770
 
1771
  [package.extras]
@@ -1899,13 +1921,13 @@ windows-terminal = ["colorama (>=0.4.6)"]
1899
 
1900
  [[package]]
1901
  name = "pyparsing"
1902
- version = "3.1.2"
1903
  description = "pyparsing module - Classes and methods to define and execute parsing grammars"
1904
  optional = false
1905
  python-versions = ">=3.6.8"
1906
  files = [
1907
- {file = "pyparsing-3.1.2-py3-none-any.whl", hash = "sha256:f9db75911801ed778fe61bb643079ff86601aca99fcae6345aa67292038fb742"},
1908
- {file = "pyparsing-3.1.2.tar.gz", hash = "sha256:a1bac0ce561155ecc3ed78ca94d3c9378656ad4c94c1270de543f621420f94ad"},
1909
  ]
1910
 
1911
  [package.extras]
@@ -2123,13 +2145,13 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"]
2123
 
2124
  [[package]]
2125
  name = "rich"
2126
- version = "13.7.1"
2127
  description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal"
2128
  optional = false
2129
  python-versions = ">=3.7.0"
2130
  files = [
2131
- {file = "rich-13.7.1-py3-none-any.whl", hash = "sha256:4edbae314f59eb482f54e9e30bf00d33350aaa94f4bfcd4e9e3110e64d0d7222"},
2132
- {file = "rich-13.7.1.tar.gz", hash = "sha256:9be308cb1fe2f1f57d67ce99e95af38a1e2bc71ad9813b0e247cf7ffbcc3a432"},
2133
  ]
2134
 
2135
  [package.dependencies]
@@ -2141,29 +2163,29 @@ jupyter = ["ipywidgets (>=7.5.1,<9)"]
2141
 
2142
  [[package]]
2143
  name = "ruff"
2144
- version = "0.6.1"
2145
  description = "An extremely fast Python linter and code formatter, written in Rust."
2146
  optional = false
2147
  python-versions = ">=3.7"
2148
  files = [
2149
- {file = "ruff-0.6.1-py3-none-linux_armv6l.whl", hash = "sha256:b4bb7de6a24169dc023f992718a9417380301b0c2da0fe85919f47264fb8add9"},
2150
- {file = "ruff-0.6.1-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:45efaae53b360c81043e311cdec8a7696420b3d3e8935202c2846e7a97d4edae"},
2151
- {file = "ruff-0.6.1-py3-none-macosx_11_0_arm64.whl", hash = "sha256:bc60c7d71b732c8fa73cf995efc0c836a2fd8b9810e115be8babb24ae87e0850"},
2152
- {file = "ruff-0.6.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2c7477c3b9da822e2db0b4e0b59e61b8a23e87886e727b327e7dcaf06213c5cf"},
2153
- {file = "ruff-0.6.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3a0af7ab3f86e3dc9f157a928e08e26c4b40707d0612b01cd577cc84b8905cc9"},
2154
- {file = "ruff-0.6.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:392688dbb50fecf1bf7126731c90c11a9df1c3a4cdc3f481b53e851da5634fa5"},
2155
- {file = "ruff-0.6.1-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:5278d3e095ccc8c30430bcc9bc550f778790acc211865520f3041910a28d0024"},
2156
- {file = "ruff-0.6.1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fe6d5f65d6f276ee7a0fc50a0cecaccb362d30ef98a110f99cac1c7872df2f18"},
2157
- {file = "ruff-0.6.1-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2e0dd11e2ae553ee5c92a81731d88a9883af8db7408db47fc81887c1f8b672e"},
2158
- {file = "ruff-0.6.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d812615525a34ecfc07fd93f906ef5b93656be01dfae9a819e31caa6cfe758a1"},
2159
- {file = "ruff-0.6.1-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:faaa4060f4064c3b7aaaa27328080c932fa142786f8142aff095b42b6a2eb631"},
2160
- {file = "ruff-0.6.1-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:99d7ae0df47c62729d58765c593ea54c2546d5de213f2af2a19442d50a10cec9"},
2161
- {file = "ruff-0.6.1-py3-none-musllinux_1_2_i686.whl", hash = "sha256:9eb18dfd7b613eec000e3738b3f0e4398bf0153cb80bfa3e351b3c1c2f6d7b15"},
2162
- {file = "ruff-0.6.1-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:c62bc04c6723a81e25e71715aa59489f15034d69bf641df88cb38bdc32fd1dbb"},
2163
- {file = "ruff-0.6.1-py3-none-win32.whl", hash = "sha256:9fb4c4e8b83f19c9477a8745e56d2eeef07a7ff50b68a6998f7d9e2e3887bdc4"},
2164
- {file = "ruff-0.6.1-py3-none-win_amd64.whl", hash = "sha256:c2ebfc8f51ef4aca05dad4552bbcf6fe8d1f75b2f6af546cc47cc1c1ca916b5b"},
2165
- {file = "ruff-0.6.1-py3-none-win_arm64.whl", hash = "sha256:3bc81074971b0ffad1bd0c52284b22411f02a11a012082a76ac6da153536e014"},
2166
- {file = "ruff-0.6.1.tar.gz", hash = "sha256:af3ffd8c6563acb8848d33cd19a69b9bfe943667f0419ca083f8ebe4224a3436"},
2167
  ]
2168
 
2169
  [[package]]
@@ -2701,13 +2723,13 @@ telegram = ["requests"]
2701
 
2702
  [[package]]
2703
  name = "transformers"
2704
- version = "4.44.1"
2705
  description = "State-of-the-art Machine Learning for JAX, PyTorch and TensorFlow"
2706
  optional = false
2707
  python-versions = ">=3.8.0"
2708
  files = [
2709
- {file = "transformers-4.44.1-py3-none-any.whl", hash = "sha256:bd2642da18b4e6d29b135c17650cd7ca8e874f2d092d2eddd3ed6b71a93a155c"},
2710
- {file = "transformers-4.44.1.tar.gz", hash = "sha256:3b9a1a07ca65c665c7bf6109b7da76182184d10bb58d9ab14e6892e7b9e073a2"},
2711
  ]
2712
 
2713
  [package.dependencies]
@@ -2769,13 +2791,13 @@ vision = ["Pillow (>=10.0.1,<=15.0)"]
2769
 
2770
  [[package]]
2771
  name = "typer"
2772
- version = "0.12.4"
2773
  description = "Typer, build great CLIs. Easy to code. Based on Python type hints."
2774
  optional = false
2775
  python-versions = ">=3.7"
2776
  files = [
2777
- {file = "typer-0.12.4-py3-none-any.whl", hash = "sha256:819aa03699f438397e876aa12b0d63766864ecba1b579092cc9fe35d886e34b6"},
2778
- {file = "typer-0.12.4.tar.gz", hash = "sha256:c9c1613ed6a166162705b3347b8d10b661ccc5d95692654d0fb628118f2c34e6"},
2779
  ]
2780
 
2781
  [package.dependencies]
@@ -3160,4 +3182,4 @@ multidict = ">=4.0"
3160
  [metadata]
3161
  lock-version = "2.0"
3162
  python-versions = "^3.11"
3163
- content-hash = "2f4c08c9633768f949a0a2d3e82b2b1f5d91d9065e51486d654165579b95dc88"
 
334
 
335
  [[package]]
336
  name = "contourpy"
337
+ version = "1.3.0"
338
  description = "Python library for calculating contours of 2D quadrilateral grids"
339
  optional = false
340
  python-versions = ">=3.9"
341
  files = [
342
+ {file = "contourpy-1.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:880ea32e5c774634f9fcd46504bf9f080a41ad855f4fef54f5380f5133d343c7"},
343
+ {file = "contourpy-1.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:76c905ef940a4474a6289c71d53122a4f77766eef23c03cd57016ce19d0f7b42"},
344
+ {file = "contourpy-1.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:92f8557cbb07415a4d6fa191f20fd9d2d9eb9c0b61d1b2f52a8926e43c6e9af7"},
345
+ {file = "contourpy-1.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:36f965570cff02b874773c49bfe85562b47030805d7d8360748f3eca570f4cab"},
346
+ {file = "contourpy-1.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cacd81e2d4b6f89c9f8a5b69b86490152ff39afc58a95af002a398273e5ce589"},
347
+ {file = "contourpy-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:69375194457ad0fad3a839b9e29aa0b0ed53bb54db1bfb6c3ae43d111c31ce41"},
348
+ {file = "contourpy-1.3.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7a52040312b1a858b5e31ef28c2e865376a386c60c0e248370bbea2d3f3b760d"},
349
+ {file = "contourpy-1.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3faeb2998e4fcb256542e8a926d08da08977f7f5e62cf733f3c211c2a5586223"},
350
+ {file = "contourpy-1.3.0-cp310-cp310-win32.whl", hash = "sha256:36e0cff201bcb17a0a8ecc7f454fe078437fa6bda730e695a92f2d9932bd507f"},
351
+ {file = "contourpy-1.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:87ddffef1dbe5e669b5c2440b643d3fdd8622a348fe1983fad7a0f0ccb1cd67b"},
352
+ {file = "contourpy-1.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0fa4c02abe6c446ba70d96ece336e621efa4aecae43eaa9b030ae5fb92b309ad"},
353
+ {file = "contourpy-1.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:834e0cfe17ba12f79963861e0f908556b2cedd52e1f75e6578801febcc6a9f49"},
354
+ {file = "contourpy-1.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbc4c3217eee163fa3984fd1567632b48d6dfd29216da3ded3d7b844a8014a66"},
355
+ {file = "contourpy-1.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4865cd1d419e0c7a7bf6de1777b185eebdc51470800a9f42b9e9decf17762081"},
356
+ {file = "contourpy-1.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:303c252947ab4b14c08afeb52375b26781ccd6a5ccd81abcdfc1fafd14cf93c1"},
357
+ {file = "contourpy-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:637f674226be46f6ba372fd29d9523dd977a291f66ab2a74fbeb5530bb3f445d"},
358
+ {file = "contourpy-1.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:76a896b2f195b57db25d6b44e7e03f221d32fe318d03ede41f8b4d9ba1bff53c"},
359
+ {file = "contourpy-1.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e1fd23e9d01591bab45546c089ae89d926917a66dceb3abcf01f6105d927e2cb"},
360
+ {file = "contourpy-1.3.0-cp311-cp311-win32.whl", hash = "sha256:d402880b84df3bec6eab53cd0cf802cae6a2ef9537e70cf75e91618a3801c20c"},
361
+ {file = "contourpy-1.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:6cb6cc968059db9c62cb35fbf70248f40994dfcd7aa10444bbf8b3faeb7c2d67"},
362
+ {file = "contourpy-1.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:570ef7cf892f0afbe5b2ee410c507ce12e15a5fa91017a0009f79f7d93a1268f"},
363
+ {file = "contourpy-1.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:da84c537cb8b97d153e9fb208c221c45605f73147bd4cadd23bdae915042aad6"},
364
+ {file = "contourpy-1.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0be4d8425bfa755e0fd76ee1e019636ccc7c29f77a7c86b4328a9eb6a26d0639"},
365
+ {file = "contourpy-1.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9c0da700bf58f6e0b65312d0a5e695179a71d0163957fa381bb3c1f72972537c"},
366
+ {file = "contourpy-1.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eb8b141bb00fa977d9122636b16aa67d37fd40a3d8b52dd837e536d64b9a4d06"},
367
+ {file = "contourpy-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3634b5385c6716c258d0419c46d05c8aa7dc8cb70326c9a4fb66b69ad2b52e09"},
368
+ {file = "contourpy-1.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0dce35502151b6bd35027ac39ba6e5a44be13a68f55735c3612c568cac3805fd"},
369
+ {file = "contourpy-1.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:aea348f053c645100612b333adc5983d87be69acdc6d77d3169c090d3b01dc35"},
370
+ {file = "contourpy-1.3.0-cp312-cp312-win32.whl", hash = "sha256:90f73a5116ad1ba7174341ef3ea5c3150ddf20b024b98fb0c3b29034752c8aeb"},
371
+ {file = "contourpy-1.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:b11b39aea6be6764f84360fce6c82211a9db32a7c7de8fa6dd5397cf1d079c3b"},
372
+ {file = "contourpy-1.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3e1c7fa44aaae40a2247e2e8e0627f4bea3dd257014764aa644f319a5f8600e3"},
373
+ {file = "contourpy-1.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:364174c2a76057feef647c802652f00953b575723062560498dc7930fc9b1cb7"},
374
+ {file = "contourpy-1.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32b238b3b3b649e09ce9aaf51f0c261d38644bdfa35cbaf7b263457850957a84"},
375
+ {file = "contourpy-1.3.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d51fca85f9f7ad0b65b4b9fe800406d0d77017d7270d31ec3fb1cc07358fdea0"},
376
+ {file = "contourpy-1.3.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:732896af21716b29ab3e988d4ce14bc5133733b85956316fb0c56355f398099b"},
377
+ {file = "contourpy-1.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d73f659398a0904e125280836ae6f88ba9b178b2fed6884f3b1f95b989d2c8da"},
378
+ {file = "contourpy-1.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c6c7c2408b7048082932cf4e641fa3b8ca848259212f51c8c59c45aa7ac18f14"},
379
+ {file = "contourpy-1.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f317576606de89da6b7e0861cf6061f6146ead3528acabff9236458a6ba467f8"},
380
+ {file = "contourpy-1.3.0-cp313-cp313-win32.whl", hash = "sha256:31cd3a85dbdf1fc002280c65caa7e2b5f65e4a973fcdf70dd2fdcb9868069294"},
381
+ {file = "contourpy-1.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:4553c421929ec95fb07b3aaca0fae668b2eb5a5203d1217ca7c34c063c53d087"},
382
+ {file = "contourpy-1.3.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:345af746d7766821d05d72cb8f3845dfd08dd137101a2cb9b24de277d716def8"},
383
+ {file = "contourpy-1.3.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3bb3808858a9dc68f6f03d319acd5f1b8a337e6cdda197f02f4b8ff67ad2057b"},
384
+ {file = "contourpy-1.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:420d39daa61aab1221567b42eecb01112908b2cab7f1b4106a52caaec8d36973"},
385
+ {file = "contourpy-1.3.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4d63ee447261e963af02642ffcb864e5a2ee4cbfd78080657a9880b8b1868e18"},
386
+ {file = "contourpy-1.3.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:167d6c890815e1dac9536dca00828b445d5d0df4d6a8c6adb4a7ec3166812fa8"},
387
+ {file = "contourpy-1.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:710a26b3dc80c0e4febf04555de66f5fd17e9cf7170a7b08000601a10570bda6"},
388
+ {file = "contourpy-1.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:75ee7cb1a14c617f34a51d11fa7524173e56551646828353c4af859c56b766e2"},
389
+ {file = "contourpy-1.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:33c92cdae89ec5135d036e7218e69b0bb2851206077251f04a6c4e0e21f03927"},
390
+ {file = "contourpy-1.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a11077e395f67ffc2c44ec2418cfebed032cd6da3022a94fc227b6faf8e2acb8"},
391
+ {file = "contourpy-1.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e8134301d7e204c88ed7ab50028ba06c683000040ede1d617298611f9dc6240c"},
392
+ {file = "contourpy-1.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e12968fdfd5bb45ffdf6192a590bd8ddd3ba9e58360b29683c6bb71a7b41edca"},
393
+ {file = "contourpy-1.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fd2a0fc506eccaaa7595b7e1418951f213cf8255be2600f1ea1b61e46a60c55f"},
394
+ {file = "contourpy-1.3.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4cfb5c62ce023dfc410d6059c936dcf96442ba40814aefbfa575425a3a7f19dc"},
395
+ {file = "contourpy-1.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68a32389b06b82c2fdd68276148d7b9275b5f5cf13e5417e4252f6d1a34f72a2"},
396
+ {file = "contourpy-1.3.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:94e848a6b83da10898cbf1311a815f770acc9b6a3f2d646f330d57eb4e87592e"},
397
+ {file = "contourpy-1.3.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:d78ab28a03c854a873787a0a42254a0ccb3cb133c672f645c9f9c8f3ae9d0800"},
398
+ {file = "contourpy-1.3.0-cp39-cp39-win32.whl", hash = "sha256:81cb5ed4952aae6014bc9d0421dec7c5835c9c8c31cdf51910b708f548cf58e5"},
399
+ {file = "contourpy-1.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:14e262f67bd7e6eb6880bc564dcda30b15e351a594657e55b7eec94b6ef72843"},
400
+ {file = "contourpy-1.3.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:fe41b41505a5a33aeaed2a613dccaeaa74e0e3ead6dd6fd3a118fb471644fd6c"},
401
+ {file = "contourpy-1.3.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eca7e17a65f72a5133bdbec9ecf22401c62bcf4821361ef7811faee695799779"},
402
+ {file = "contourpy-1.3.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:1ec4dc6bf570f5b22ed0d7efba0dfa9c5b9e0431aeea7581aa217542d9e809a4"},
403
+ {file = "contourpy-1.3.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:00ccd0dbaad6d804ab259820fa7cb0b8036bda0686ef844d24125d8287178ce0"},
404
+ {file = "contourpy-1.3.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ca947601224119117f7c19c9cdf6b3ab54c5726ef1d906aa4a69dfb6dd58102"},
405
+ {file = "contourpy-1.3.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:c6ec93afeb848a0845a18989da3beca3eec2c0f852322efe21af1931147d12cb"},
406
+ {file = "contourpy-1.3.0.tar.gz", hash = "sha256:7ffa0db17717a8ffb127efd0c95a4362d996b892c2904db72428d5b52e1938a4"},
407
  ]
408
 
409
  [package.dependencies]
410
+ numpy = ">=1.23"
411
 
412
  [package.extras]
413
  bokeh = ["bokeh", "selenium"]
414
  docs = ["furo", "sphinx (>=7.2)", "sphinx-copybutton"]
415
+ mypy = ["contourpy[bokeh,docs]", "docutils-stubs", "mypy (==1.11.1)", "types-Pillow"]
416
  test = ["Pillow", "contourpy[test-no-images]", "matplotlib"]
417
+ test-no-images = ["pytest", "pytest-cov", "pytest-rerunfailures", "pytest-xdist", "wurlitzer"]
418
 
419
  [[package]]
420
  name = "cycler"
 
492
 
493
  [[package]]
494
  name = "easyknn"
495
+ version = "0.5.0"
496
  description = "Easy nearest neighbors using Annoy or SKLearn"
497
  optional = false
498
  python-versions = "<4.0,>=3.8.1"
499
  files = [
500
+ {file = "easyknn-0.5.0-py3-none-any.whl", hash = "sha256:2b6d242cf4396f4736de0006f5c8a1836486ccbc1237f82e058d05adb5ea7e8b"},
501
+ {file = "easyknn-0.5.0.tar.gz", hash = "sha256:c3c31a4886cddf1b99611ddc9a91bbdbc9845e69cd1355e09a361e6adf25ca18"},
502
  ]
503
 
504
  [[package]]
 
542
 
543
  [[package]]
544
  name = "fastapi"
545
+ version = "0.112.2"
546
  description = "FastAPI framework, high performance, easy to learn, fast to code, ready for production"
547
  optional = false
548
  python-versions = ">=3.8"
549
  files = [
550
+ {file = "fastapi-0.112.2-py3-none-any.whl", hash = "sha256:db84b470bd0e2b1075942231e90e3577e12a903c4dc8696f0d206a7904a7af1c"},
551
+ {file = "fastapi-0.112.2.tar.gz", hash = "sha256:3d4729c038414d5193840706907a41839d839523da6ed0c2811f1168cac1798c"},
552
  ]
553
 
554
  [package.dependencies]
 
557
  typing-extensions = ">=4.8.0"
558
 
559
  [package.extras]
560
+ all = ["email-validator (>=2.0.0)", "fastapi-cli[standard] (>=0.0.5)", "httpx (>=0.23.0)", "itsdangerous (>=1.1.0)", "jinja2 (>=2.11.2)", "orjson (>=3.2.1)", "pydantic-extra-types (>=2.0.0)", "pydantic-settings (>=2.0.0)", "python-multipart (>=0.0.7)", "pyyaml (>=5.3.1)", "ujson (>=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0)", "uvicorn[standard] (>=0.12.0)"]
561
+ standard = ["email-validator (>=2.0.0)", "fastapi-cli[standard] (>=0.0.5)", "httpx (>=0.23.0)", "jinja2 (>=2.11.2)", "python-multipart (>=0.0.7)", "uvicorn[standard] (>=0.12.0)"]
562
 
563
  [[package]]
564
  name = "ffmpy"
 
876
 
877
  [[package]]
878
  name = "httpx"
879
+ version = "0.27.2"
880
  description = "The next generation HTTP client."
881
  optional = false
882
  python-versions = ">=3.8"
883
  files = [
884
+ {file = "httpx-0.27.2-py3-none-any.whl", hash = "sha256:7bb2708e112d8fdd7829cd4243970f0c223274051cb35ee80c03301ee29a3df0"},
885
+ {file = "httpx-0.27.2.tar.gz", hash = "sha256:f7c2be1d2f3c3c3160d441802406b206c2b76f5947b11115e6df10c6c65e66c2"},
886
  ]
887
 
888
  [package.dependencies]
 
897
  cli = ["click (==8.*)", "pygments (==2.*)", "rich (>=10,<14)"]
898
  http2 = ["h2 (>=3,<5)"]
899
  socks = ["socksio (==1.*)"]
900
+ zstd = ["zstandard (>=0.18.0)"]
901
 
902
  [[package]]
903
  name = "huggingface-hub"
 
935
 
936
  [[package]]
937
  name = "idna"
938
+ version = "3.8"
939
  description = "Internationalized Domain Names in Applications (IDNA)"
940
  optional = false
941
+ python-versions = ">=3.6"
942
  files = [
943
+ {file = "idna-3.8-py3-none-any.whl", hash = "sha256:050b4e5baadcd44d760cedbd2b8e639f2ff89bbc7a5730fcc662954303377aac"},
944
+ {file = "idna-3.8.tar.gz", hash = "sha256:d838c2c0ed6fced7693d5e8ab8e734d5f8fda53a039c0164afb0b82e771e3603"},
945
  ]
946
 
947
  [[package]]
 
1591
 
1592
  [package.dependencies]
1593
  numpy = [
 
1594
  {version = ">=1.26.0", markers = "python_version >= \"3.12\""},
1595
+ {version = ">=1.23.2", markers = "python_version == \"3.11\""},
1596
  ]
1597
  python-dateutil = ">=2.8.2"
1598
  pytz = ">=2020.1"
 
1786
  annotated-types = ">=0.4.0"
1787
  pydantic-core = "2.20.1"
1788
  typing-extensions = [
 
1789
  {version = ">=4.12.2", markers = "python_version >= \"3.13\""},
1790
+ {version = ">=4.6.1", markers = "python_version < \"3.13\""},
1791
  ]
1792
 
1793
  [package.extras]
 
1921
 
1922
  [[package]]
1923
  name = "pyparsing"
1924
+ version = "3.1.4"
1925
  description = "pyparsing module - Classes and methods to define and execute parsing grammars"
1926
  optional = false
1927
  python-versions = ">=3.6.8"
1928
  files = [
1929
+ {file = "pyparsing-3.1.4-py3-none-any.whl", hash = "sha256:a6a7ee4235a3f944aa1fa2249307708f893fe5717dc603503c6c7969c070fb7c"},
1930
+ {file = "pyparsing-3.1.4.tar.gz", hash = "sha256:f86ec8d1a83f11977c9a6ea7598e8c27fc5cddfa5b07ea2241edbbde1d7bc032"},
1931
  ]
1932
 
1933
  [package.extras]
 
2145
 
2146
  [[package]]
2147
  name = "rich"
2148
+ version = "13.8.0"
2149
  description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal"
2150
  optional = false
2151
  python-versions = ">=3.7.0"
2152
  files = [
2153
+ {file = "rich-13.8.0-py3-none-any.whl", hash = "sha256:2e85306a063b9492dffc86278197a60cbece75bcb766022f3436f567cae11bdc"},
2154
+ {file = "rich-13.8.0.tar.gz", hash = "sha256:a5ac1f1cd448ade0d59cc3356f7db7a7ccda2c8cbae9c7a90c28ff463d3e91f4"},
2155
  ]
2156
 
2157
  [package.dependencies]
 
2163
 
2164
  [[package]]
2165
  name = "ruff"
2166
+ version = "0.6.2"
2167
  description = "An extremely fast Python linter and code formatter, written in Rust."
2168
  optional = false
2169
  python-versions = ">=3.7"
2170
  files = [
2171
+ {file = "ruff-0.6.2-py3-none-linux_armv6l.whl", hash = "sha256:5c8cbc6252deb3ea840ad6a20b0f8583caab0c5ef4f9cca21adc5a92b8f79f3c"},
2172
+ {file = "ruff-0.6.2-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:17002fe241e76544448a8e1e6118abecbe8cd10cf68fde635dad480dba594570"},
2173
+ {file = "ruff-0.6.2-py3-none-macosx_11_0_arm64.whl", hash = "sha256:3dbeac76ed13456f8158b8f4fe087bf87882e645c8e8b606dd17b0b66c2c1158"},
2174
+ {file = "ruff-0.6.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:094600ee88cda325988d3f54e3588c46de5c18dae09d683ace278b11f9d4d534"},
2175
+ {file = "ruff-0.6.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:316d418fe258c036ba05fbf7dfc1f7d3d4096db63431546163b472285668132b"},
2176
+ {file = "ruff-0.6.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d72b8b3abf8a2d51b7b9944a41307d2f442558ccb3859bbd87e6ae9be1694a5d"},
2177
+ {file = "ruff-0.6.2-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:2aed7e243be68487aa8982e91c6e260982d00da3f38955873aecd5a9204b1d66"},
2178
+ {file = "ruff-0.6.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d371f7fc9cec83497fe7cf5eaf5b76e22a8efce463de5f775a1826197feb9df8"},
2179
+ {file = "ruff-0.6.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8f310d63af08f583363dfb844ba8f9417b558199c58a5999215082036d795a1"},
2180
+ {file = "ruff-0.6.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7db6880c53c56addb8638fe444818183385ec85eeada1d48fc5abe045301b2f1"},
2181
+ {file = "ruff-0.6.2-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:1175d39faadd9a50718f478d23bfc1d4da5743f1ab56af81a2b6caf0a2394f23"},
2182
+ {file = "ruff-0.6.2-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:5b939f9c86d51635fe486585389f54582f0d65b8238e08c327c1534844b3bb9a"},
2183
+ {file = "ruff-0.6.2-py3-none-musllinux_1_2_i686.whl", hash = "sha256:d0d62ca91219f906caf9b187dea50d17353f15ec9bb15aae4a606cd697b49b4c"},
2184
+ {file = "ruff-0.6.2-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:7438a7288f9d67ed3c8ce4d059e67f7ed65e9fe3aa2ab6f5b4b3610e57e3cb56"},
2185
+ {file = "ruff-0.6.2-py3-none-win32.whl", hash = "sha256:279d5f7d86696df5f9549b56b9b6a7f6c72961b619022b5b7999b15db392a4da"},
2186
+ {file = "ruff-0.6.2-py3-none-win_amd64.whl", hash = "sha256:d9f3469c7dd43cd22eb1c3fc16926fb8258d50cb1b216658a07be95dd117b0f2"},
2187
+ {file = "ruff-0.6.2-py3-none-win_arm64.whl", hash = "sha256:f28fcd2cd0e02bdf739297516d5643a945cc7caf09bd9bcb4d932540a5ea4fa9"},
2188
+ {file = "ruff-0.6.2.tar.gz", hash = "sha256:239ee6beb9e91feb8e0ec384204a763f36cb53fb895a1a364618c6abb076b3be"},
2189
  ]
2190
 
2191
  [[package]]
 
2723
 
2724
  [[package]]
2725
  name = "transformers"
2726
+ version = "4.44.2"
2727
  description = "State-of-the-art Machine Learning for JAX, PyTorch and TensorFlow"
2728
  optional = false
2729
  python-versions = ">=3.8.0"
2730
  files = [
2731
+ {file = "transformers-4.44.2-py3-none-any.whl", hash = "sha256:1c02c65e7bfa5e52a634aff3da52138b583fc6f263c1f28d547dc144ba3d412d"},
2732
+ {file = "transformers-4.44.2.tar.gz", hash = "sha256:36aa17cc92ee154058e426d951684a2dab48751b35b49437896f898931270826"},
2733
  ]
2734
 
2735
  [package.dependencies]
 
2791
 
2792
  [[package]]
2793
  name = "typer"
2794
+ version = "0.12.5"
2795
  description = "Typer, build great CLIs. Easy to code. Based on Python type hints."
2796
  optional = false
2797
  python-versions = ">=3.7"
2798
  files = [
2799
+ {file = "typer-0.12.5-py3-none-any.whl", hash = "sha256:62fe4e471711b147e3365034133904df3e235698399bc4de2b36c8579298d52b"},
2800
+ {file = "typer-0.12.5.tar.gz", hash = "sha256:f592f089bedcc8ec1b974125d64851029c3b1af145f04aca64d69410f0c9b722"},
2801
  ]
2802
 
2803
  [package.dependencies]
 
3182
  [metadata]
3183
  lock-version = "2.0"
3184
  python-versions = "^3.11"
3185
+ content-hash = "9bbc60efad41c6790a3f5060392ea11caef4821307aeb324c2cf141d26c026fe"
pyproject.toml CHANGED
@@ -4,7 +4,7 @@ version = "0.1.0"
4
  description = ""
5
  authors = ["Sanjaya Subedi <[email protected]>"]
6
  readme = "README.md"
7
- packages = [{include = "nepali_minilm_demo"}]
8
 
9
  [tool.poetry.dependencies]
10
  python = "^3.11"
@@ -14,7 +14,7 @@ sentence-transformers = "^3.0.1"
14
  datasets = "^2.21.0"
15
  faiss-cpu = "^1.8.0.post1"
16
  torch = "2.1"
17
- easyknn = "^0.4.1"
18
 
19
 
20
  [build-system]
 
4
  description = ""
5
  authors = ["Sanjaya Subedi <[email protected]>"]
6
  readme = "README.md"
7
+ packages = [{ include = "nepali_minilm_demo" }]
8
 
9
  [tool.poetry.dependencies]
10
  python = "^3.11"
 
14
  datasets = "^2.21.0"
15
  faiss-cpu = "^1.8.0.post1"
16
  torch = "2.1"
17
+ easyknn = "^0.5.0"
18
 
19
 
20
  [build-system]