variphx commited on
Commit
a8c4fcf
·
1 Parent(s): 4b3edef

add/fix: refactor some error handling and add keyframes semantic search functionalities

Browse files
Cargo.lock CHANGED
@@ -17,6 +17,20 @@ version = "2.0.1"
17
  source = "registry+https://github.com/rust-lang/crates.io-index"
18
  checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa"
19
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
20
  [[package]]
21
  name = "aho-corasick"
22
  version = "1.1.3"
@@ -32,15 +46,21 @@ version = "0.1.0"
32
  dependencies = [
33
  "anyhow",
34
  "axum 0.8.4",
 
 
35
  "deadpool-diesel",
36
  "diesel",
37
  "futures",
 
38
  "qdrant-client",
 
39
  "serde",
 
40
  "tokio",
41
  "tower 0.5.2",
42
  "tower-http",
43
  "tracing",
 
44
  "utoipa",
45
  "utoipa-axum",
46
  "utoipa-swagger-ui",
@@ -219,15 +239,53 @@ dependencies = [
219
  "miniz_oxide",
220
  "object",
221
  "rustc-demangle",
222
- "windows-targets",
223
  ]
224
 
 
 
 
 
 
 
225
  [[package]]
226
  name = "base64"
227
  version = "0.22.1"
228
  source = "registry+https://github.com/rust-lang/crates.io-index"
229
  checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
230
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
231
  [[package]]
232
  name = "bitflags"
233
  version = "2.9.2"
@@ -249,6 +307,26 @@ version = "3.19.0"
249
  source = "registry+https://github.com/rust-lang/crates.io-index"
250
  checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43"
251
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
252
  [[package]]
253
  name = "byteorder"
254
  version = "1.5.0"
@@ -261,6 +339,83 @@ version = "1.10.1"
261
  source = "registry+https://github.com/rust-lang/crates.io-index"
262
  checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a"
263
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
264
  [[package]]
265
  name = "cc"
266
  version = "1.2.33"
@@ -272,9 +427,9 @@ dependencies = [
272
 
273
  [[package]]
274
  name = "cfg-if"
275
- version = "1.0.1"
276
  source = "registry+https://github.com/rust-lang/crates.io-index"
277
- checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268"
278
 
279
  [[package]]
280
  name = "cfg_aliases"
@@ -282,6 +437,44 @@ version = "0.2.1"
282
  source = "registry+https://github.com/rust-lang/crates.io-index"
283
  checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
284
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
285
  [[package]]
286
  name = "core-foundation"
287
  version = "0.10.1"
@@ -316,6 +509,37 @@ dependencies = [
316
  "cfg-if",
317
  ]
318
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
319
  [[package]]
320
  name = "crypto-common"
321
  version = "0.1.6"
@@ -326,6 +550,16 @@ dependencies = [
326
  "typenum",
327
  ]
328
 
 
 
 
 
 
 
 
 
 
 
329
  [[package]]
330
  name = "darling"
331
  version = "0.20.11"
@@ -361,6 +595,15 @@ dependencies = [
361
  "syn",
362
  ]
363
 
 
 
 
 
 
 
 
 
 
364
  [[package]]
365
  name = "deadpool"
366
  version = "0.12.2"
@@ -449,7 +692,7 @@ version = "2.2.12"
449
  source = "registry+https://github.com/rust-lang/crates.io-index"
450
  checksum = "229850a212cd9b84d4f0290ad9d294afc0ae70fccaa8949dbe8b43ffafa1e20c"
451
  dependencies = [
452
- "bitflags",
453
  "byteorder",
454
  "diesel_derives",
455
  "itoa",
@@ -488,6 +731,27 @@ dependencies = [
488
  "crypto-common",
489
  ]
490
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
491
  [[package]]
492
  name = "displaydoc"
493
  version = "0.2.5"
@@ -513,18 +777,100 @@ dependencies = [
513
  "syn",
514
  ]
515
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
516
  [[package]]
517
  name = "either"
518
  version = "1.15.0"
519
  source = "registry+https://github.com/rust-lang/crates.io-index"
520
  checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
521
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
522
  [[package]]
523
  name = "equivalent"
524
  version = "1.0.2"
525
  source = "registry+https://github.com/rust-lang/crates.io-index"
526
  checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
527
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
528
  [[package]]
529
  name = "flate2"
530
  version = "1.1.2"
@@ -542,6 +888,21 @@ version = "1.0.7"
542
  source = "registry+https://github.com/rust-lang/crates.io-index"
543
  checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
544
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
545
  [[package]]
546
  name = "form_urlencoded"
547
  version = "1.2.1"
@@ -641,65 +1002,322 @@ dependencies = [
641
  ]
642
 
643
  [[package]]
644
- name = "generic-array"
645
- version = "0.14.7"
646
  source = "registry+https://github.com/rust-lang/crates.io-index"
647
- checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
648
  dependencies = [
649
- "typenum",
650
- "version_check",
 
 
 
 
 
 
 
 
 
 
651
  ]
652
 
653
  [[package]]
654
- name = "getrandom"
655
- version = "0.2.16"
656
  source = "registry+https://github.com/rust-lang/crates.io-index"
657
- checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592"
658
  dependencies = [
659
- "cfg-if",
660
- "js-sys",
661
- "libc",
662
- "wasi 0.11.1+wasi-snapshot-preview1",
663
- "wasm-bindgen",
 
 
 
 
 
 
 
664
  ]
665
 
666
  [[package]]
667
- name = "getrandom"
668
- version = "0.3.3"
669
  source = "registry+https://github.com/rust-lang/crates.io-index"
670
- checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4"
671
  dependencies = [
672
- "cfg-if",
673
- "js-sys",
674
- "libc",
675
- "r-efi",
676
- "wasi 0.14.2+wasi-0.2.4",
677
- "wasm-bindgen",
 
678
  ]
679
 
680
  [[package]]
681
- name = "gimli"
682
- version = "0.31.1"
683
  source = "registry+https://github.com/rust-lang/crates.io-index"
684
- checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f"
 
 
 
 
 
 
 
 
 
685
 
686
  [[package]]
687
- name = "h2"
688
- version = "0.4.12"
689
  source = "registry+https://github.com/rust-lang/crates.io-index"
690
- checksum = "f3c0b69cfcb4e1b9f1bf2f53f95f766e4661169728ec61cd3fe5a0166f2d1386"
691
  dependencies = [
692
- "atomic-waker",
693
- "bytes",
694
- "fnv",
695
- "futures-core",
696
- "futures-sink",
697
- "http",
698
- "indexmap 2.10.0",
699
- "slab",
700
- "tokio",
701
- "tokio-util",
702
- "tracing",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
703
  ]
704
 
705
  [[package]]
@@ -726,6 +1344,30 @@ version = "0.5.2"
726
  source = "registry+https://github.com/rust-lang/crates.io-index"
727
  checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c"
728
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
729
  [[package]]
730
  name = "http"
731
  version = "1.3.1"
@@ -774,13 +1416,14 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
774
 
775
  [[package]]
776
  name = "hyper"
777
- version = "1.6.0"
778
  source = "registry+https://github.com/rust-lang/crates.io-index"
779
- checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80"
780
  dependencies = [
 
781
  "bytes",
782
  "futures-channel",
783
- "futures-util",
784
  "h2",
785
  "http",
786
  "http-body",
@@ -788,6 +1431,7 @@ dependencies = [
788
  "httpdate",
789
  "itoa",
790
  "pin-project-lite",
 
791
  "smallvec",
792
  "tokio",
793
  "want",
@@ -807,7 +1451,7 @@ dependencies = [
807
  "tokio",
808
  "tokio-rustls",
809
  "tower-service",
810
- "webpki-roots",
811
  ]
812
 
813
  [[package]]
@@ -823,13 +1467,29 @@ dependencies = [
823
  "tower-service",
824
  ]
825
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
826
  [[package]]
827
  name = "hyper-util"
828
  version = "0.1.16"
829
  source = "registry+https://github.com/rust-lang/crates.io-index"
830
  checksum = "8d9b05277c7e8da2c93a568989bb6207bef0112e8d17df7a6eda4a3cf143bc5e"
831
  dependencies = [
832
- "base64",
833
  "bytes",
834
  "futures-channel",
835
  "futures-core",
@@ -842,9 +1502,11 @@ dependencies = [
842
  "percent-encoding",
843
  "pin-project-lite",
844
  "socket2 0.6.0",
 
845
  "tokio",
846
  "tower-service",
847
  "tracing",
 
848
  ]
849
 
850
  [[package]]
@@ -855,7 +1517,7 @@ checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47"
855
  dependencies = [
856
  "displaydoc",
857
  "potential_utf",
858
- "yoke",
859
  "zerofrom",
860
  "zerovec",
861
  ]
@@ -927,7 +1589,7 @@ dependencies = [
927
  "stable_deref_trait",
928
  "tinystr",
929
  "writeable",
930
- "yoke",
931
  "zerofrom",
932
  "zerotrie",
933
  "zerovec",
@@ -981,13 +1643,26 @@ dependencies = [
981
  "serde",
982
  ]
983
 
 
 
 
 
 
 
 
 
 
 
 
 
 
984
  [[package]]
985
  name = "io-uring"
986
  version = "0.7.9"
987
  source = "registry+https://github.com/rust-lang/crates.io-index"
988
  checksum = "d93587f37623a1a17d94ef2bc9ada592f5465fe7732084ab7beefabe5c77c0c4"
989
  dependencies = [
990
- "bitflags",
991
  "cfg-if",
992
  "libc",
993
  ]
@@ -1033,12 +1708,44 @@ dependencies = [
1033
  "wasm-bindgen",
1034
  ]
1035
 
 
 
 
 
 
 
1036
  [[package]]
1037
  name = "libc"
1038
  version = "0.2.175"
1039
  source = "registry+https://github.com/rust-lang/crates.io-index"
1040
  checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543"
1041
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1042
  [[package]]
1043
  name = "libz-rs-sys"
1044
  version = "0.5.1"
@@ -1048,6 +1755,12 @@ dependencies = [
1048
  "zlib-rs",
1049
  ]
1050
 
 
 
 
 
 
 
1051
  [[package]]
1052
  name = "litemap"
1053
  version = "0.8.0"
@@ -1066,90 +1779,364 @@ version = "0.1.2"
1066
  source = "registry+https://github.com/rust-lang/crates.io-index"
1067
  checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154"
1068
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1069
  [[package]]
1070
  name = "matchit"
1071
  version = "0.7.3"
1072
  source = "registry+https://github.com/rust-lang/crates.io-index"
1073
- checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1074
 
1075
  [[package]]
1076
- name = "matchit"
1077
- version = "0.8.4"
1078
  source = "registry+https://github.com/rust-lang/crates.io-index"
1079
- checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3"
1080
 
1081
  [[package]]
1082
- name = "memchr"
1083
- version = "2.7.5"
1084
  source = "registry+https://github.com/rust-lang/crates.io-index"
1085
- checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0"
 
 
 
1086
 
1087
  [[package]]
1088
- name = "mime"
1089
- version = "0.3.17"
1090
  source = "registry+https://github.com/rust-lang/crates.io-index"
1091
- checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
1092
 
1093
  [[package]]
1094
- name = "mime_guess"
1095
- version = "2.0.5"
1096
  source = "registry+https://github.com/rust-lang/crates.io-index"
1097
- checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e"
1098
  dependencies = [
1099
- "mime",
1100
- "unicase",
 
 
1101
  ]
1102
 
1103
  [[package]]
1104
- name = "miniz_oxide"
1105
- version = "0.8.9"
1106
  source = "registry+https://github.com/rust-lang/crates.io-index"
1107
- checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316"
1108
  dependencies = [
1109
- "adler2",
 
1110
  ]
1111
 
1112
  [[package]]
1113
- name = "mio"
1114
- version = "1.0.4"
1115
  source = "registry+https://github.com/rust-lang/crates.io-index"
1116
- checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c"
1117
  dependencies = [
 
 
 
1118
  "libc",
1119
- "wasi 0.11.1+wasi-snapshot-preview1",
1120
- "windows-sys 0.59.0",
 
1121
  ]
1122
 
1123
  [[package]]
1124
- name = "num_cpus"
1125
- version = "1.17.0"
1126
  source = "registry+https://github.com/rust-lang/crates.io-index"
1127
- checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b"
1128
  dependencies = [
1129
- "hermit-abi",
1130
- "libc",
 
1131
  ]
1132
 
1133
  [[package]]
1134
- name = "object"
1135
- version = "0.36.7"
1136
  source = "registry+https://github.com/rust-lang/crates.io-index"
1137
- checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87"
 
 
 
 
 
 
1138
  dependencies = [
1139
- "memchr",
 
 
 
1140
  ]
1141
 
1142
  [[package]]
1143
- name = "once_cell"
1144
- version = "1.21.3"
1145
  source = "registry+https://github.com/rust-lang/crates.io-index"
1146
- checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
1147
 
1148
  [[package]]
1149
- name = "openssl-probe"
1150
- version = "0.1.6"
1151
  source = "registry+https://github.com/rust-lang/crates.io-index"
1152
- checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e"
1153
 
1154
  [[package]]
1155
  name = "paste"
@@ -1195,6 +2182,18 @@ version = "0.1.0"
1195
  source = "registry+https://github.com/rust-lang/crates.io-index"
1196
  checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
1197
 
 
 
 
 
 
 
 
 
 
 
 
 
1198
  [[package]]
1199
  name = "potential_utf"
1200
  version = "0.1.2"
@@ -1223,6 +2222,15 @@ dependencies = [
1223
  "vcpkg",
1224
  ]
1225
 
 
 
 
 
 
 
 
 
 
1226
  [[package]]
1227
  name = "proc-macro2"
1228
  version = "1.0.101"
@@ -1264,6 +2272,32 @@ dependencies = [
1264
  "prost",
1265
  ]
1266
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1267
  [[package]]
1268
  name = "qdrant-client"
1269
  version = "1.15.0"
@@ -1414,6 +2448,82 @@ dependencies = [
1414
  "getrandom 0.3.3",
1415
  ]
1416
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1417
  [[package]]
1418
  name = "regex"
1419
  version = "1.11.1"
@@ -1422,8 +2532,17 @@ checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191"
1422
  dependencies = [
1423
  "aho-corasick",
1424
  "memchr",
1425
- "regex-automata",
1426
- "regex-syntax",
 
 
 
 
 
 
 
 
 
1427
  ]
1428
 
1429
  [[package]]
@@ -1434,9 +2553,15 @@ checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908"
1434
  dependencies = [
1435
  "aho-corasick",
1436
  "memchr",
1437
- "regex-syntax",
1438
  ]
1439
 
 
 
 
 
 
 
1440
  [[package]]
1441
  name = "regex-syntax"
1442
  version = "0.8.5"
@@ -1449,8 +2574,9 @@ version = "0.12.23"
1449
  source = "registry+https://github.com/rust-lang/crates.io-index"
1450
  checksum = "d429f34c8092b2d42c7c93cec323bb4adeb7c67698f70839adec842ec10c7ceb"
1451
  dependencies = [
1452
- "base64",
1453
  "bytes",
 
1454
  "futures-core",
1455
  "futures-util",
1456
  "h2",
@@ -1459,9 +2585,12 @@ dependencies = [
1459
  "http-body-util",
1460
  "hyper",
1461
  "hyper-rustls",
 
1462
  "hyper-util",
1463
  "js-sys",
1464
  "log",
 
 
1465
  "percent-encoding",
1466
  "pin-project-lite",
1467
  "quinn",
@@ -1472,6 +2601,7 @@ dependencies = [
1472
  "serde_urlencoded",
1473
  "sync_wrapper",
1474
  "tokio",
 
1475
  "tokio-rustls",
1476
  "tokio-util",
1477
  "tower 0.5.2",
@@ -1482,7 +2612,7 @@ dependencies = [
1482
  "wasm-bindgen-futures",
1483
  "wasm-streams",
1484
  "web-sys",
1485
- "webpki-roots",
1486
  ]
1487
 
1488
  [[package]]
@@ -1545,6 +2675,19 @@ version = "2.1.1"
1545
  source = "registry+https://github.com/rust-lang/crates.io-index"
1546
  checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d"
1547
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1548
  [[package]]
1549
  name = "rustls"
1550
  version = "0.23.31"
@@ -1569,7 +2712,7 @@ dependencies = [
1569
  "openssl-probe",
1570
  "rustls-pki-types",
1571
  "schannel",
1572
- "security-framework",
1573
  ]
1574
 
1575
  [[package]]
@@ -1614,6 +2757,16 @@ version = "1.0.20"
1614
  source = "registry+https://github.com/rust-lang/crates.io-index"
1615
  checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f"
1616
 
 
 
 
 
 
 
 
 
 
 
1617
  [[package]]
1618
  name = "same-file"
1619
  version = "1.0.6"
@@ -1632,14 +2785,27 @@ dependencies = [
1632
  "windows-sys 0.59.0",
1633
  ]
1634
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1635
  [[package]]
1636
  name = "security-framework"
1637
  version = "3.3.0"
1638
  source = "registry+https://github.com/rust-lang/crates.io-index"
1639
  checksum = "80fb1d92c5028aa318b4b8bd7302a5bfcf48be96a37fc6fc790f806b0004ee0c"
1640
  dependencies = [
1641
- "bitflags",
1642
- "core-foundation",
1643
  "core-foundation-sys",
1644
  "libc",
1645
  "security-framework-sys",
@@ -1661,6 +2827,12 @@ version = "1.0.26"
1661
  source = "registry+https://github.com/rust-lang/crates.io-index"
1662
  checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0"
1663
 
 
 
 
 
 
 
1664
  [[package]]
1665
  name = "serde"
1666
  version = "1.0.219"
@@ -1683,9 +2855,9 @@ dependencies = [
1683
 
1684
  [[package]]
1685
  name = "serde_json"
1686
- version = "1.0.142"
1687
  source = "registry+https://github.com/rust-lang/crates.io-index"
1688
- checksum = "030fedb782600dcbd6f02d479bf0d817ac3bb40d644745b769d6a96bc3afc5a7"
1689
  dependencies = [
1690
  "itoa",
1691
  "memchr",
@@ -1703,6 +2875,15 @@ dependencies = [
1703
  "serde",
1704
  ]
1705
 
 
 
 
 
 
 
 
 
 
1706
  [[package]]
1707
  name = "serde_urlencoded"
1708
  version = "0.7.1"
@@ -1726,6 +2907,15 @@ dependencies = [
1726
  "digest",
1727
  ]
1728
 
 
 
 
 
 
 
 
 
 
1729
  [[package]]
1730
  name = "shlex"
1731
  version = "1.3.0"
@@ -1770,12 +2960,41 @@ dependencies = [
1770
  "windows-sys 0.59.0",
1771
  ]
1772
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1773
  [[package]]
1774
  name = "stable_deref_trait"
1775
  version = "1.2.0"
1776
  source = "registry+https://github.com/rust-lang/crates.io-index"
1777
  checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
1778
 
 
 
 
 
 
 
1779
  [[package]]
1780
  name = "strsim"
1781
  version = "0.11.1"
@@ -1789,34 +3008,96 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1789
  checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
1790
 
1791
  [[package]]
1792
- name = "syn"
1793
- version = "2.0.106"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1794
  source = "registry+https://github.com/rust-lang/crates.io-index"
1795
- checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6"
1796
  dependencies = [
1797
- "proc-macro2",
1798
- "quote",
1799
- "unicode-ident",
1800
  ]
1801
 
1802
  [[package]]
1803
- name = "sync_wrapper"
1804
- version = "1.0.2"
1805
  source = "registry+https://github.com/rust-lang/crates.io-index"
1806
- checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263"
1807
  dependencies = [
1808
- "futures-core",
 
1809
  ]
1810
 
1811
  [[package]]
1812
- name = "synstructure"
1813
- version = "0.13.2"
1814
  source = "registry+https://github.com/rust-lang/crates.io-index"
1815
- checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2"
1816
  dependencies = [
1817
- "proc-macro2",
1818
- "quote",
1819
- "syn",
 
 
1820
  ]
1821
 
1822
  [[package]]
@@ -1859,6 +3140,15 @@ dependencies = [
1859
  "syn",
1860
  ]
1861
 
 
 
 
 
 
 
 
 
 
1862
  [[package]]
1863
  name = "tinystr"
1864
  version = "0.8.1"
@@ -1884,6 +3174,40 @@ version = "0.1.1"
1884
  source = "registry+https://github.com/rust-lang/crates.io-index"
1885
  checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
1886
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1887
  [[package]]
1888
  name = "tokio"
1889
  version = "1.47.1"
@@ -1913,6 +3237,16 @@ dependencies = [
1913
  "syn",
1914
  ]
1915
 
 
 
 
 
 
 
 
 
 
 
1916
  [[package]]
1917
  name = "tokio-rustls"
1918
  version = "0.26.2"
@@ -1947,6 +3281,23 @@ dependencies = [
1947
  "tokio",
1948
  ]
1949
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1950
  [[package]]
1951
  name = "tonic"
1952
  version = "0.12.3"
@@ -1956,7 +3307,7 @@ dependencies = [
1956
  "async-stream",
1957
  "async-trait",
1958
  "axum 0.7.9",
1959
- "base64",
1960
  "bytes",
1961
  "flate2",
1962
  "h2",
@@ -2023,7 +3374,7 @@ version = "0.6.6"
2023
  source = "registry+https://github.com/rust-lang/crates.io-index"
2024
  checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2"
2025
  dependencies = [
2026
- "bitflags",
2027
  "bytes",
2028
  "futures-util",
2029
  "http",
@@ -2033,6 +3384,7 @@ dependencies = [
2033
  "tower 0.5.2",
2034
  "tower-layer",
2035
  "tower-service",
 
2036
  ]
2037
 
2038
  [[package]]
@@ -2077,6 +3429,36 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
2077
  checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678"
2078
  dependencies = [
2079
  "once_cell",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2080
  ]
2081
 
2082
  [[package]]
@@ -2091,6 +3473,40 @@ version = "1.18.0"
2091
  source = "registry+https://github.com/rust-lang/crates.io-index"
2092
  checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f"
2093
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2094
  [[package]]
2095
  name = "unicase"
2096
  version = "2.8.1"
@@ -2103,12 +3519,59 @@ version = "1.0.18"
2103
  source = "registry+https://github.com/rust-lang/crates.io-index"
2104
  checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"
2105
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2106
  [[package]]
2107
  name = "untrusted"
2108
  version = "0.9.0"
2109
  source = "registry+https://github.com/rust-lang/crates.io-index"
2110
  checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
2111
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2112
  [[package]]
2113
  name = "url"
2114
  version = "2.5.4"
@@ -2169,7 +3632,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
2169
  checksum = "d047458f1b5b65237c2f6dc6db136945667f40a7668627b3490b9513a3d43a55"
2170
  dependencies = [
2171
  "axum 0.8.4",
2172
- "base64",
2173
  "mime_guess",
2174
  "regex",
2175
  "rust-embed",
@@ -2177,9 +3640,15 @@ dependencies = [
2177
  "serde_json",
2178
  "url",
2179
  "utoipa",
2180
- "zip",
2181
  ]
2182
 
 
 
 
 
 
 
2183
  [[package]]
2184
  name = "vcpkg"
2185
  version = "0.2.15"
@@ -2330,6 +3799,15 @@ dependencies = [
2330
  "wasm-bindgen",
2331
  ]
2332
 
 
 
 
 
 
 
 
 
 
2333
  [[package]]
2334
  name = "webpki-roots"
2335
  version = "1.0.2"
@@ -2339,13 +3817,70 @@ dependencies = [
2339
  "rustls-pki-types",
2340
  ]
2341
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2342
  [[package]]
2343
  name = "winapi-util"
2344
- version = "0.1.9"
2345
  source = "registry+https://github.com/rust-lang/crates.io-index"
2346
- checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
2347
  dependencies = [
2348
- "windows-sys 0.59.0",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2349
  ]
2350
 
2351
  [[package]]
@@ -2354,7 +3889,7 @@ version = "0.52.0"
2354
  source = "registry+https://github.com/rust-lang/crates.io-index"
2355
  checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
2356
  dependencies = [
2357
- "windows-targets",
2358
  ]
2359
 
2360
  [[package]]
@@ -2363,7 +3898,16 @@ version = "0.59.0"
2363
  source = "registry+https://github.com/rust-lang/crates.io-index"
2364
  checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
2365
  dependencies = [
2366
- "windows-targets",
 
 
 
 
 
 
 
 
 
2367
  ]
2368
 
2369
  [[package]]
@@ -2372,14 +3916,31 @@ version = "0.52.6"
2372
  source = "registry+https://github.com/rust-lang/crates.io-index"
2373
  checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
2374
  dependencies = [
2375
- "windows_aarch64_gnullvm",
2376
- "windows_aarch64_msvc",
2377
- "windows_i686_gnu",
2378
- "windows_i686_gnullvm",
2379
- "windows_i686_msvc",
2380
- "windows_x86_64_gnu",
2381
- "windows_x86_64_gnullvm",
2382
- "windows_x86_64_msvc",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2383
  ]
2384
 
2385
  [[package]]
@@ -2388,55 +3949,112 @@ version = "0.52.6"
2388
  source = "registry+https://github.com/rust-lang/crates.io-index"
2389
  checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
2390
 
 
 
 
 
 
 
2391
  [[package]]
2392
  name = "windows_aarch64_msvc"
2393
  version = "0.52.6"
2394
  source = "registry+https://github.com/rust-lang/crates.io-index"
2395
  checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
2396
 
 
 
 
 
 
 
2397
  [[package]]
2398
  name = "windows_i686_gnu"
2399
  version = "0.52.6"
2400
  source = "registry+https://github.com/rust-lang/crates.io-index"
2401
  checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
2402
 
 
 
 
 
 
 
2403
  [[package]]
2404
  name = "windows_i686_gnullvm"
2405
  version = "0.52.6"
2406
  source = "registry+https://github.com/rust-lang/crates.io-index"
2407
  checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
2408
 
 
 
 
 
 
 
2409
  [[package]]
2410
  name = "windows_i686_msvc"
2411
  version = "0.52.6"
2412
  source = "registry+https://github.com/rust-lang/crates.io-index"
2413
  checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
2414
 
 
 
 
 
 
 
2415
  [[package]]
2416
  name = "windows_x86_64_gnu"
2417
  version = "0.52.6"
2418
  source = "registry+https://github.com/rust-lang/crates.io-index"
2419
  checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
2420
 
 
 
 
 
 
 
2421
  [[package]]
2422
  name = "windows_x86_64_gnullvm"
2423
  version = "0.52.6"
2424
  source = "registry+https://github.com/rust-lang/crates.io-index"
2425
  checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
2426
 
 
 
 
 
 
 
2427
  [[package]]
2428
  name = "windows_x86_64_msvc"
2429
  version = "0.52.6"
2430
  source = "registry+https://github.com/rust-lang/crates.io-index"
2431
  checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
2432
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2433
  [[package]]
2434
  name = "wit-bindgen-rt"
2435
  version = "0.39.0"
2436
  source = "registry+https://github.com/rust-lang/crates.io-index"
2437
  checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1"
2438
  dependencies = [
2439
- "bitflags",
2440
  ]
2441
 
2442
  [[package]]
@@ -2445,6 +4063,18 @@ version = "0.6.1"
2445
  source = "registry+https://github.com/rust-lang/crates.io-index"
2446
  checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb"
2447
 
 
 
 
 
 
 
 
 
 
 
 
 
2448
  [[package]]
2449
  name = "yoke"
2450
  version = "0.8.0"
@@ -2453,10 +4083,22 @@ checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc"
2453
  dependencies = [
2454
  "serde",
2455
  "stable_deref_trait",
2456
- "yoke-derive",
2457
  "zerofrom",
2458
  ]
2459
 
 
 
 
 
 
 
 
 
 
 
 
 
2460
  [[package]]
2461
  name = "yoke-derive"
2462
  version = "0.8.0"
@@ -2523,7 +4165,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
2523
  checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595"
2524
  dependencies = [
2525
  "displaydoc",
2526
- "yoke",
2527
  "zerofrom",
2528
  ]
2529
 
@@ -2533,7 +4175,7 @@ version = "0.11.4"
2533
  source = "registry+https://github.com/rust-lang/crates.io-index"
2534
  checksum = "e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b"
2535
  dependencies = [
2536
- "yoke",
2537
  "zerofrom",
2538
  "zerovec-derive",
2539
  ]
@@ -2549,6 +4191,21 @@ dependencies = [
2549
  "syn",
2550
  ]
2551
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2552
  [[package]]
2553
  name = "zip"
2554
  version = "3.0.0"
 
17
  source = "registry+https://github.com/rust-lang/crates.io-index"
18
  checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa"
19
 
20
+ [[package]]
21
+ name = "ahash"
22
+ version = "0.8.12"
23
+ source = "registry+https://github.com/rust-lang/crates.io-index"
24
+ checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75"
25
+ dependencies = [
26
+ "cfg-if",
27
+ "getrandom 0.3.3",
28
+ "once_cell",
29
+ "serde",
30
+ "version_check",
31
+ "zerocopy",
32
+ ]
33
+
34
  [[package]]
35
  name = "aho-corasick"
36
  version = "1.1.3"
 
46
  dependencies = [
47
  "anyhow",
48
  "axum 0.8.4",
49
+ "candle-core",
50
+ "candle-transformers",
51
  "deadpool-diesel",
52
  "diesel",
53
  "futures",
54
+ "hf-hub",
55
  "qdrant-client",
56
+ "rayon",
57
  "serde",
58
+ "tokenizers",
59
  "tokio",
60
  "tower 0.5.2",
61
  "tower-http",
62
  "tracing",
63
+ "tracing-subscriber",
64
  "utoipa",
65
  "utoipa-axum",
66
  "utoipa-swagger-ui",
 
239
  "miniz_oxide",
240
  "object",
241
  "rustc-demangle",
242
+ "windows-targets 0.52.6",
243
  ]
244
 
245
+ [[package]]
246
+ name = "base64"
247
+ version = "0.13.1"
248
+ source = "registry+https://github.com/rust-lang/crates.io-index"
249
+ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
250
+
251
  [[package]]
252
  name = "base64"
253
  version = "0.22.1"
254
  source = "registry+https://github.com/rust-lang/crates.io-index"
255
  checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
256
 
257
+ [[package]]
258
+ name = "bindgen_cuda"
259
+ version = "0.1.5"
260
+ source = "registry+https://github.com/rust-lang/crates.io-index"
261
+ checksum = "1f8489af5b7d17a81bffe37e0f4d6e1e4de87c87329d05447f22c35d95a1227d"
262
+ dependencies = [
263
+ "glob",
264
+ "num_cpus",
265
+ "rayon",
266
+ ]
267
+
268
+ [[package]]
269
+ name = "bit-set"
270
+ version = "0.5.3"
271
+ source = "registry+https://github.com/rust-lang/crates.io-index"
272
+ checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1"
273
+ dependencies = [
274
+ "bit-vec",
275
+ ]
276
+
277
+ [[package]]
278
+ name = "bit-vec"
279
+ version = "0.6.3"
280
+ source = "registry+https://github.com/rust-lang/crates.io-index"
281
+ checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb"
282
+
283
+ [[package]]
284
+ name = "bitflags"
285
+ version = "1.3.2"
286
+ source = "registry+https://github.com/rust-lang/crates.io-index"
287
+ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
288
+
289
  [[package]]
290
  name = "bitflags"
291
  version = "2.9.2"
 
307
  source = "registry+https://github.com/rust-lang/crates.io-index"
308
  checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43"
309
 
310
+ [[package]]
311
+ name = "bytemuck"
312
+ version = "1.23.2"
313
+ source = "registry+https://github.com/rust-lang/crates.io-index"
314
+ checksum = "3995eaeebcdf32f91f980d360f78732ddc061097ab4e39991ae7a6ace9194677"
315
+ dependencies = [
316
+ "bytemuck_derive",
317
+ ]
318
+
319
+ [[package]]
320
+ name = "bytemuck_derive"
321
+ version = "1.10.1"
322
+ source = "registry+https://github.com/rust-lang/crates.io-index"
323
+ checksum = "4f154e572231cb6ba2bd1176980827e3d5dc04cc183a75dea38109fbdd672d29"
324
+ dependencies = [
325
+ "proc-macro2",
326
+ "quote",
327
+ "syn",
328
+ ]
329
+
330
  [[package]]
331
  name = "byteorder"
332
  version = "1.5.0"
 
339
  source = "registry+https://github.com/rust-lang/crates.io-index"
340
  checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a"
341
 
342
+ [[package]]
343
+ name = "candle-core"
344
+ version = "0.9.1"
345
+ source = "registry+https://github.com/rust-lang/crates.io-index"
346
+ checksum = "a9f51e2ecf6efe9737af8f993433c839f956d2b6ed4fd2dd4a7c6d8b0fa667ff"
347
+ dependencies = [
348
+ "byteorder",
349
+ "candle-kernels",
350
+ "cudarc",
351
+ "gemm 0.17.1",
352
+ "half",
353
+ "memmap2",
354
+ "num-traits",
355
+ "num_cpus",
356
+ "rand 0.9.2",
357
+ "rand_distr",
358
+ "rayon",
359
+ "safetensors",
360
+ "thiserror 1.0.69",
361
+ "ug",
362
+ "ug-cuda",
363
+ "yoke 0.7.5",
364
+ "zip 1.1.4",
365
+ ]
366
+
367
+ [[package]]
368
+ name = "candle-kernels"
369
+ version = "0.9.1"
370
+ source = "registry+https://github.com/rust-lang/crates.io-index"
371
+ checksum = "9fcd989c2143aa754370b5bfee309e35fbd259e83d9ecf7a73d23d8508430775"
372
+ dependencies = [
373
+ "bindgen_cuda",
374
+ ]
375
+
376
+ [[package]]
377
+ name = "candle-nn"
378
+ version = "0.9.1"
379
+ source = "registry+https://github.com/rust-lang/crates.io-index"
380
+ checksum = "c1980d53280c8f9e2c6cbe1785855d7ff8010208b46e21252b978badf13ad69d"
381
+ dependencies = [
382
+ "candle-core",
383
+ "half",
384
+ "num-traits",
385
+ "rayon",
386
+ "safetensors",
387
+ "serde",
388
+ "thiserror 1.0.69",
389
+ ]
390
+
391
+ [[package]]
392
+ name = "candle-transformers"
393
+ version = "0.9.1"
394
+ source = "registry+https://github.com/rust-lang/crates.io-index"
395
+ checksum = "186cb80045dbe47e0b387ea6d3e906f02fb3056297080d9922984c90e90a72b0"
396
+ dependencies = [
397
+ "byteorder",
398
+ "candle-core",
399
+ "candle-nn",
400
+ "fancy-regex",
401
+ "num-traits",
402
+ "rand 0.9.2",
403
+ "rayon",
404
+ "serde",
405
+ "serde_json",
406
+ "serde_plain",
407
+ "tracing",
408
+ ]
409
+
410
+ [[package]]
411
+ name = "castaway"
412
+ version = "0.2.4"
413
+ source = "registry+https://github.com/rust-lang/crates.io-index"
414
+ checksum = "dec551ab6e7578819132c713a93c022a05d60159dc86e7a7050223577484c55a"
415
+ dependencies = [
416
+ "rustversion",
417
+ ]
418
+
419
  [[package]]
420
  name = "cc"
421
  version = "1.2.33"
 
427
 
428
  [[package]]
429
  name = "cfg-if"
430
+ version = "1.0.3"
431
  source = "registry+https://github.com/rust-lang/crates.io-index"
432
+ checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9"
433
 
434
  [[package]]
435
  name = "cfg_aliases"
 
437
  source = "registry+https://github.com/rust-lang/crates.io-index"
438
  checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
439
 
440
+ [[package]]
441
+ name = "compact_str"
442
+ version = "0.9.0"
443
+ source = "registry+https://github.com/rust-lang/crates.io-index"
444
+ checksum = "3fdb1325a1cece981e8a296ab8f0f9b63ae357bd0784a9faaf548cc7b480707a"
445
+ dependencies = [
446
+ "castaway",
447
+ "cfg-if",
448
+ "itoa",
449
+ "rustversion",
450
+ "ryu",
451
+ "serde",
452
+ "static_assertions",
453
+ ]
454
+
455
+ [[package]]
456
+ name = "console"
457
+ version = "0.15.11"
458
+ source = "registry+https://github.com/rust-lang/crates.io-index"
459
+ checksum = "054ccb5b10f9f2cbf51eb355ca1d05c2d279ce1804688d0db74b4733a5aeafd8"
460
+ dependencies = [
461
+ "encode_unicode",
462
+ "libc",
463
+ "once_cell",
464
+ "unicode-width",
465
+ "windows-sys 0.59.0",
466
+ ]
467
+
468
+ [[package]]
469
+ name = "core-foundation"
470
+ version = "0.9.4"
471
+ source = "registry+https://github.com/rust-lang/crates.io-index"
472
+ checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"
473
+ dependencies = [
474
+ "core-foundation-sys",
475
+ "libc",
476
+ ]
477
+
478
  [[package]]
479
  name = "core-foundation"
480
  version = "0.10.1"
 
509
  "cfg-if",
510
  ]
511
 
512
+ [[package]]
513
+ name = "crossbeam-deque"
514
+ version = "0.8.6"
515
+ source = "registry+https://github.com/rust-lang/crates.io-index"
516
+ checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51"
517
+ dependencies = [
518
+ "crossbeam-epoch",
519
+ "crossbeam-utils",
520
+ ]
521
+
522
+ [[package]]
523
+ name = "crossbeam-epoch"
524
+ version = "0.9.18"
525
+ source = "registry+https://github.com/rust-lang/crates.io-index"
526
+ checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
527
+ dependencies = [
528
+ "crossbeam-utils",
529
+ ]
530
+
531
+ [[package]]
532
+ name = "crossbeam-utils"
533
+ version = "0.8.21"
534
+ source = "registry+https://github.com/rust-lang/crates.io-index"
535
+ checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
536
+
537
+ [[package]]
538
+ name = "crunchy"
539
+ version = "0.2.4"
540
+ source = "registry+https://github.com/rust-lang/crates.io-index"
541
+ checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5"
542
+
543
  [[package]]
544
  name = "crypto-common"
545
  version = "0.1.6"
 
550
  "typenum",
551
  ]
552
 
553
+ [[package]]
554
+ name = "cudarc"
555
+ version = "0.16.6"
556
+ source = "registry+https://github.com/rust-lang/crates.io-index"
557
+ checksum = "17200eb07e7d85a243aa1bf4569a7aa998385ba98d14833973a817a63cc86e92"
558
+ dependencies = [
559
+ "half",
560
+ "libloading",
561
+ ]
562
+
563
  [[package]]
564
  name = "darling"
565
  version = "0.20.11"
 
595
  "syn",
596
  ]
597
 
598
+ [[package]]
599
+ name = "dary_heap"
600
+ version = "0.3.7"
601
+ source = "registry+https://github.com/rust-lang/crates.io-index"
602
+ checksum = "04d2cd9c18b9f454ed67da600630b021a8a80bf33f8c95896ab33aaf1c26b728"
603
+ dependencies = [
604
+ "serde",
605
+ ]
606
+
607
  [[package]]
608
  name = "deadpool"
609
  version = "0.12.2"
 
692
  source = "registry+https://github.com/rust-lang/crates.io-index"
693
  checksum = "229850a212cd9b84d4f0290ad9d294afc0ae70fccaa8949dbe8b43ffafa1e20c"
694
  dependencies = [
695
+ "bitflags 2.9.2",
696
  "byteorder",
697
  "diesel_derives",
698
  "itoa",
 
731
  "crypto-common",
732
  ]
733
 
734
+ [[package]]
735
+ name = "dirs"
736
+ version = "6.0.0"
737
+ source = "registry+https://github.com/rust-lang/crates.io-index"
738
+ checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e"
739
+ dependencies = [
740
+ "dirs-sys",
741
+ ]
742
+
743
+ [[package]]
744
+ name = "dirs-sys"
745
+ version = "0.5.0"
746
+ source = "registry+https://github.com/rust-lang/crates.io-index"
747
+ checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab"
748
+ dependencies = [
749
+ "libc",
750
+ "option-ext",
751
+ "redox_users",
752
+ "windows-sys 0.60.2",
753
+ ]
754
+
755
  [[package]]
756
  name = "displaydoc"
757
  version = "0.2.5"
 
777
  "syn",
778
  ]
779
 
780
+ [[package]]
781
+ name = "dyn-stack"
782
+ version = "0.10.0"
783
+ source = "registry+https://github.com/rust-lang/crates.io-index"
784
+ checksum = "56e53799688f5632f364f8fb387488dd05db9fe45db7011be066fc20e7027f8b"
785
+ dependencies = [
786
+ "bytemuck",
787
+ "reborrow",
788
+ ]
789
+
790
+ [[package]]
791
+ name = "dyn-stack"
792
+ version = "0.13.0"
793
+ source = "registry+https://github.com/rust-lang/crates.io-index"
794
+ checksum = "490bd48eb68fffcfed519b4edbfd82c69cbe741d175b84f0e0cbe8c57cbe0bdd"
795
+ dependencies = [
796
+ "bytemuck",
797
+ ]
798
+
799
  [[package]]
800
  name = "either"
801
  version = "1.15.0"
802
  source = "registry+https://github.com/rust-lang/crates.io-index"
803
  checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
804
 
805
+ [[package]]
806
+ name = "encode_unicode"
807
+ version = "1.0.0"
808
+ source = "registry+https://github.com/rust-lang/crates.io-index"
809
+ checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0"
810
+
811
+ [[package]]
812
+ name = "encoding_rs"
813
+ version = "0.8.35"
814
+ source = "registry+https://github.com/rust-lang/crates.io-index"
815
+ checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3"
816
+ dependencies = [
817
+ "cfg-if",
818
+ ]
819
+
820
+ [[package]]
821
+ name = "enum-as-inner"
822
+ version = "0.6.1"
823
+ source = "registry+https://github.com/rust-lang/crates.io-index"
824
+ checksum = "a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc"
825
+ dependencies = [
826
+ "heck",
827
+ "proc-macro2",
828
+ "quote",
829
+ "syn",
830
+ ]
831
+
832
  [[package]]
833
  name = "equivalent"
834
  version = "1.0.2"
835
  source = "registry+https://github.com/rust-lang/crates.io-index"
836
  checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
837
 
838
+ [[package]]
839
+ name = "errno"
840
+ version = "0.3.13"
841
+ source = "registry+https://github.com/rust-lang/crates.io-index"
842
+ checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad"
843
+ dependencies = [
844
+ "libc",
845
+ "windows-sys 0.60.2",
846
+ ]
847
+
848
+ [[package]]
849
+ name = "esaxx-rs"
850
+ version = "0.1.10"
851
+ source = "registry+https://github.com/rust-lang/crates.io-index"
852
+ checksum = "d817e038c30374a4bcb22f94d0a8a0e216958d4c3dcde369b1439fec4bdda6e6"
853
+ dependencies = [
854
+ "cc",
855
+ ]
856
+
857
+ [[package]]
858
+ name = "fancy-regex"
859
+ version = "0.13.0"
860
+ source = "registry+https://github.com/rust-lang/crates.io-index"
861
+ checksum = "531e46835a22af56d1e3b66f04844bed63158bc094a628bec1d321d9b4c44bf2"
862
+ dependencies = [
863
+ "bit-set",
864
+ "regex-automata 0.4.9",
865
+ "regex-syntax 0.8.5",
866
+ ]
867
+
868
+ [[package]]
869
+ name = "fastrand"
870
+ version = "2.3.0"
871
+ source = "registry+https://github.com/rust-lang/crates.io-index"
872
+ checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be"
873
+
874
  [[package]]
875
  name = "flate2"
876
  version = "1.1.2"
 
888
  source = "registry+https://github.com/rust-lang/crates.io-index"
889
  checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
890
 
891
+ [[package]]
892
+ name = "foreign-types"
893
+ version = "0.3.2"
894
+ source = "registry+https://github.com/rust-lang/crates.io-index"
895
+ checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
896
+ dependencies = [
897
+ "foreign-types-shared",
898
+ ]
899
+
900
+ [[package]]
901
+ name = "foreign-types-shared"
902
+ version = "0.1.1"
903
+ source = "registry+https://github.com/rust-lang/crates.io-index"
904
+ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
905
+
906
  [[package]]
907
  name = "form_urlencoded"
908
  version = "1.2.1"
 
1002
  ]
1003
 
1004
  [[package]]
1005
+ name = "gemm"
1006
+ version = "0.17.1"
1007
  source = "registry+https://github.com/rust-lang/crates.io-index"
1008
+ checksum = "6ab24cc62135b40090e31a76a9b2766a501979f3070fa27f689c27ec04377d32"
1009
  dependencies = [
1010
+ "dyn-stack 0.10.0",
1011
+ "gemm-c32 0.17.1",
1012
+ "gemm-c64 0.17.1",
1013
+ "gemm-common 0.17.1",
1014
+ "gemm-f16 0.17.1",
1015
+ "gemm-f32 0.17.1",
1016
+ "gemm-f64 0.17.1",
1017
+ "num-complex",
1018
+ "num-traits",
1019
+ "paste",
1020
+ "raw-cpuid 10.7.0",
1021
+ "seq-macro",
1022
  ]
1023
 
1024
  [[package]]
1025
+ name = "gemm"
1026
+ version = "0.18.2"
1027
  source = "registry+https://github.com/rust-lang/crates.io-index"
1028
+ checksum = "ab96b703d31950f1aeddded248bc95543c9efc7ac9c4a21fda8703a83ee35451"
1029
  dependencies = [
1030
+ "dyn-stack 0.13.0",
1031
+ "gemm-c32 0.18.2",
1032
+ "gemm-c64 0.18.2",
1033
+ "gemm-common 0.18.2",
1034
+ "gemm-f16 0.18.2",
1035
+ "gemm-f32 0.18.2",
1036
+ "gemm-f64 0.18.2",
1037
+ "num-complex",
1038
+ "num-traits",
1039
+ "paste",
1040
+ "raw-cpuid 11.5.0",
1041
+ "seq-macro",
1042
  ]
1043
 
1044
  [[package]]
1045
+ name = "gemm-c32"
1046
+ version = "0.17.1"
1047
  source = "registry+https://github.com/rust-lang/crates.io-index"
1048
+ checksum = "b9c030d0b983d1e34a546b86e08f600c11696fde16199f971cd46c12e67512c0"
1049
  dependencies = [
1050
+ "dyn-stack 0.10.0",
1051
+ "gemm-common 0.17.1",
1052
+ "num-complex",
1053
+ "num-traits",
1054
+ "paste",
1055
+ "raw-cpuid 10.7.0",
1056
+ "seq-macro",
1057
  ]
1058
 
1059
  [[package]]
1060
+ name = "gemm-c32"
1061
+ version = "0.18.2"
1062
  source = "registry+https://github.com/rust-lang/crates.io-index"
1063
+ checksum = "f6db9fd9f40421d00eea9dd0770045a5603b8d684654816637732463f4073847"
1064
+ dependencies = [
1065
+ "dyn-stack 0.13.0",
1066
+ "gemm-common 0.18.2",
1067
+ "num-complex",
1068
+ "num-traits",
1069
+ "paste",
1070
+ "raw-cpuid 11.5.0",
1071
+ "seq-macro",
1072
+ ]
1073
 
1074
  [[package]]
1075
+ name = "gemm-c64"
1076
+ version = "0.17.1"
1077
  source = "registry+https://github.com/rust-lang/crates.io-index"
1078
+ checksum = "fbb5f2e79fefb9693d18e1066a557b4546cd334b226beadc68b11a8f9431852a"
1079
  dependencies = [
1080
+ "dyn-stack 0.10.0",
1081
+ "gemm-common 0.17.1",
1082
+ "num-complex",
1083
+ "num-traits",
1084
+ "paste",
1085
+ "raw-cpuid 10.7.0",
1086
+ "seq-macro",
1087
+ ]
1088
+
1089
+ [[package]]
1090
+ name = "gemm-c64"
1091
+ version = "0.18.2"
1092
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1093
+ checksum = "dfcad8a3d35a43758330b635d02edad980c1e143dc2f21e6fd25f9e4eada8edf"
1094
+ dependencies = [
1095
+ "dyn-stack 0.13.0",
1096
+ "gemm-common 0.18.2",
1097
+ "num-complex",
1098
+ "num-traits",
1099
+ "paste",
1100
+ "raw-cpuid 11.5.0",
1101
+ "seq-macro",
1102
+ ]
1103
+
1104
+ [[package]]
1105
+ name = "gemm-common"
1106
+ version = "0.17.1"
1107
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1108
+ checksum = "a2e7ea062c987abcd8db95db917b4ffb4ecdfd0668471d8dc54734fdff2354e8"
1109
+ dependencies = [
1110
+ "bytemuck",
1111
+ "dyn-stack 0.10.0",
1112
+ "half",
1113
+ "num-complex",
1114
+ "num-traits",
1115
+ "once_cell",
1116
+ "paste",
1117
+ "pulp 0.18.22",
1118
+ "raw-cpuid 10.7.0",
1119
+ "rayon",
1120
+ "seq-macro",
1121
+ "sysctl 0.5.5",
1122
+ ]
1123
+
1124
+ [[package]]
1125
+ name = "gemm-common"
1126
+ version = "0.18.2"
1127
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1128
+ checksum = "a352d4a69cbe938b9e2a9cb7a3a63b7e72f9349174a2752a558a8a563510d0f3"
1129
+ dependencies = [
1130
+ "bytemuck",
1131
+ "dyn-stack 0.13.0",
1132
+ "half",
1133
+ "libm",
1134
+ "num-complex",
1135
+ "num-traits",
1136
+ "once_cell",
1137
+ "paste",
1138
+ "pulp 0.21.5",
1139
+ "raw-cpuid 11.5.0",
1140
+ "rayon",
1141
+ "seq-macro",
1142
+ "sysctl 0.6.0",
1143
+ ]
1144
+
1145
+ [[package]]
1146
+ name = "gemm-f16"
1147
+ version = "0.17.1"
1148
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1149
+ checksum = "7ca4c06b9b11952071d317604acb332e924e817bd891bec8dfb494168c7cedd4"
1150
+ dependencies = [
1151
+ "dyn-stack 0.10.0",
1152
+ "gemm-common 0.17.1",
1153
+ "gemm-f32 0.17.1",
1154
+ "half",
1155
+ "num-complex",
1156
+ "num-traits",
1157
+ "paste",
1158
+ "raw-cpuid 10.7.0",
1159
+ "rayon",
1160
+ "seq-macro",
1161
+ ]
1162
+
1163
+ [[package]]
1164
+ name = "gemm-f16"
1165
+ version = "0.18.2"
1166
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1167
+ checksum = "cff95ae3259432f3c3410eaa919033cd03791d81cebd18018393dc147952e109"
1168
+ dependencies = [
1169
+ "dyn-stack 0.13.0",
1170
+ "gemm-common 0.18.2",
1171
+ "gemm-f32 0.18.2",
1172
+ "half",
1173
+ "num-complex",
1174
+ "num-traits",
1175
+ "paste",
1176
+ "raw-cpuid 11.5.0",
1177
+ "rayon",
1178
+ "seq-macro",
1179
+ ]
1180
+
1181
+ [[package]]
1182
+ name = "gemm-f32"
1183
+ version = "0.17.1"
1184
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1185
+ checksum = "e9a69f51aaefbd9cf12d18faf273d3e982d9d711f60775645ed5c8047b4ae113"
1186
+ dependencies = [
1187
+ "dyn-stack 0.10.0",
1188
+ "gemm-common 0.17.1",
1189
+ "num-complex",
1190
+ "num-traits",
1191
+ "paste",
1192
+ "raw-cpuid 10.7.0",
1193
+ "seq-macro",
1194
+ ]
1195
+
1196
+ [[package]]
1197
+ name = "gemm-f32"
1198
+ version = "0.18.2"
1199
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1200
+ checksum = "bc8d3d4385393304f407392f754cd2dc4b315d05063f62cf09f47b58de276864"
1201
+ dependencies = [
1202
+ "dyn-stack 0.13.0",
1203
+ "gemm-common 0.18.2",
1204
+ "num-complex",
1205
+ "num-traits",
1206
+ "paste",
1207
+ "raw-cpuid 11.5.0",
1208
+ "seq-macro",
1209
+ ]
1210
+
1211
+ [[package]]
1212
+ name = "gemm-f64"
1213
+ version = "0.17.1"
1214
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1215
+ checksum = "aa397a48544fadf0b81ec8741e5c0fba0043008113f71f2034def1935645d2b0"
1216
+ dependencies = [
1217
+ "dyn-stack 0.10.0",
1218
+ "gemm-common 0.17.1",
1219
+ "num-complex",
1220
+ "num-traits",
1221
+ "paste",
1222
+ "raw-cpuid 10.7.0",
1223
+ "seq-macro",
1224
+ ]
1225
+
1226
+ [[package]]
1227
+ name = "gemm-f64"
1228
+ version = "0.18.2"
1229
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1230
+ checksum = "35b2a4f76ce4b8b16eadc11ccf2e083252d8237c1b589558a49b0183545015bd"
1231
+ dependencies = [
1232
+ "dyn-stack 0.13.0",
1233
+ "gemm-common 0.18.2",
1234
+ "num-complex",
1235
+ "num-traits",
1236
+ "paste",
1237
+ "raw-cpuid 11.5.0",
1238
+ "seq-macro",
1239
+ ]
1240
+
1241
+ [[package]]
1242
+ name = "generic-array"
1243
+ version = "0.14.7"
1244
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1245
+ checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
1246
+ dependencies = [
1247
+ "typenum",
1248
+ "version_check",
1249
+ ]
1250
+
1251
+ [[package]]
1252
+ name = "getrandom"
1253
+ version = "0.2.16"
1254
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1255
+ checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592"
1256
+ dependencies = [
1257
+ "cfg-if",
1258
+ "js-sys",
1259
+ "libc",
1260
+ "wasi 0.11.1+wasi-snapshot-preview1",
1261
+ "wasm-bindgen",
1262
+ ]
1263
+
1264
+ [[package]]
1265
+ name = "getrandom"
1266
+ version = "0.3.3"
1267
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1268
+ checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4"
1269
+ dependencies = [
1270
+ "cfg-if",
1271
+ "js-sys",
1272
+ "libc",
1273
+ "r-efi",
1274
+ "wasi 0.14.2+wasi-0.2.4",
1275
+ "wasm-bindgen",
1276
+ ]
1277
+
1278
+ [[package]]
1279
+ name = "gimli"
1280
+ version = "0.31.1"
1281
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1282
+ checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f"
1283
+
1284
+ [[package]]
1285
+ name = "glob"
1286
+ version = "0.3.3"
1287
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1288
+ checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280"
1289
+
1290
+ [[package]]
1291
+ name = "h2"
1292
+ version = "0.4.12"
1293
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1294
+ checksum = "f3c0b69cfcb4e1b9f1bf2f53f95f766e4661169728ec61cd3fe5a0166f2d1386"
1295
+ dependencies = [
1296
+ "atomic-waker",
1297
+ "bytes",
1298
+ "fnv",
1299
+ "futures-core",
1300
+ "futures-sink",
1301
+ "http",
1302
+ "indexmap 2.10.0",
1303
+ "slab",
1304
+ "tokio",
1305
+ "tokio-util",
1306
+ "tracing",
1307
+ ]
1308
+
1309
+ [[package]]
1310
+ name = "half"
1311
+ version = "2.6.0"
1312
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1313
+ checksum = "459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9"
1314
+ dependencies = [
1315
+ "bytemuck",
1316
+ "cfg-if",
1317
+ "crunchy",
1318
+ "num-traits",
1319
+ "rand 0.9.2",
1320
+ "rand_distr",
1321
  ]
1322
 
1323
  [[package]]
 
1344
  source = "registry+https://github.com/rust-lang/crates.io-index"
1345
  checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c"
1346
 
1347
+ [[package]]
1348
+ name = "hf-hub"
1349
+ version = "0.4.3"
1350
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1351
+ checksum = "629d8f3bbeda9d148036d6b0de0a3ab947abd08ce90626327fc3547a49d59d97"
1352
+ dependencies = [
1353
+ "dirs",
1354
+ "futures",
1355
+ "http",
1356
+ "indicatif",
1357
+ "libc",
1358
+ "log",
1359
+ "native-tls",
1360
+ "num_cpus",
1361
+ "rand 0.9.2",
1362
+ "reqwest",
1363
+ "serde",
1364
+ "serde_json",
1365
+ "thiserror 2.0.16",
1366
+ "tokio",
1367
+ "ureq",
1368
+ "windows-sys 0.60.2",
1369
+ ]
1370
+
1371
  [[package]]
1372
  name = "http"
1373
  version = "1.3.1"
 
1416
 
1417
  [[package]]
1418
  name = "hyper"
1419
+ version = "1.7.0"
1420
  source = "registry+https://github.com/rust-lang/crates.io-index"
1421
+ checksum = "eb3aa54a13a0dfe7fbe3a59e0c76093041720fdc77b110cc0fc260fafb4dc51e"
1422
  dependencies = [
1423
+ "atomic-waker",
1424
  "bytes",
1425
  "futures-channel",
1426
+ "futures-core",
1427
  "h2",
1428
  "http",
1429
  "http-body",
 
1431
  "httpdate",
1432
  "itoa",
1433
  "pin-project-lite",
1434
+ "pin-utils",
1435
  "smallvec",
1436
  "tokio",
1437
  "want",
 
1451
  "tokio",
1452
  "tokio-rustls",
1453
  "tower-service",
1454
+ "webpki-roots 1.0.2",
1455
  ]
1456
 
1457
  [[package]]
 
1467
  "tower-service",
1468
  ]
1469
 
1470
+ [[package]]
1471
+ name = "hyper-tls"
1472
+ version = "0.6.0"
1473
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1474
+ checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0"
1475
+ dependencies = [
1476
+ "bytes",
1477
+ "http-body-util",
1478
+ "hyper",
1479
+ "hyper-util",
1480
+ "native-tls",
1481
+ "tokio",
1482
+ "tokio-native-tls",
1483
+ "tower-service",
1484
+ ]
1485
+
1486
  [[package]]
1487
  name = "hyper-util"
1488
  version = "0.1.16"
1489
  source = "registry+https://github.com/rust-lang/crates.io-index"
1490
  checksum = "8d9b05277c7e8da2c93a568989bb6207bef0112e8d17df7a6eda4a3cf143bc5e"
1491
  dependencies = [
1492
+ "base64 0.22.1",
1493
  "bytes",
1494
  "futures-channel",
1495
  "futures-core",
 
1502
  "percent-encoding",
1503
  "pin-project-lite",
1504
  "socket2 0.6.0",
1505
+ "system-configuration",
1506
  "tokio",
1507
  "tower-service",
1508
  "tracing",
1509
+ "windows-registry",
1510
  ]
1511
 
1512
  [[package]]
 
1517
  dependencies = [
1518
  "displaydoc",
1519
  "potential_utf",
1520
+ "yoke 0.8.0",
1521
  "zerofrom",
1522
  "zerovec",
1523
  ]
 
1589
  "stable_deref_trait",
1590
  "tinystr",
1591
  "writeable",
1592
+ "yoke 0.8.0",
1593
  "zerofrom",
1594
  "zerotrie",
1595
  "zerovec",
 
1643
  "serde",
1644
  ]
1645
 
1646
+ [[package]]
1647
+ name = "indicatif"
1648
+ version = "0.17.11"
1649
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1650
+ checksum = "183b3088984b400f4cfac3620d5e076c84da5364016b4f49473de574b2586235"
1651
+ dependencies = [
1652
+ "console",
1653
+ "number_prefix",
1654
+ "portable-atomic",
1655
+ "unicode-width",
1656
+ "web-time",
1657
+ ]
1658
+
1659
  [[package]]
1660
  name = "io-uring"
1661
  version = "0.7.9"
1662
  source = "registry+https://github.com/rust-lang/crates.io-index"
1663
  checksum = "d93587f37623a1a17d94ef2bc9ada592f5465fe7732084ab7beefabe5c77c0c4"
1664
  dependencies = [
1665
+ "bitflags 2.9.2",
1666
  "cfg-if",
1667
  "libc",
1668
  ]
 
1708
  "wasm-bindgen",
1709
  ]
1710
 
1711
+ [[package]]
1712
+ name = "lazy_static"
1713
+ version = "1.5.0"
1714
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1715
+ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
1716
+
1717
  [[package]]
1718
  name = "libc"
1719
  version = "0.2.175"
1720
  source = "registry+https://github.com/rust-lang/crates.io-index"
1721
  checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543"
1722
 
1723
+ [[package]]
1724
+ name = "libloading"
1725
+ version = "0.8.8"
1726
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1727
+ checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667"
1728
+ dependencies = [
1729
+ "cfg-if",
1730
+ "windows-targets 0.53.3",
1731
+ ]
1732
+
1733
+ [[package]]
1734
+ name = "libm"
1735
+ version = "0.2.15"
1736
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1737
+ checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de"
1738
+
1739
+ [[package]]
1740
+ name = "libredox"
1741
+ version = "0.1.9"
1742
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1743
+ checksum = "391290121bad3d37fbddad76d8f5d1c1c314cfc646d143d7e07a3086ddff0ce3"
1744
+ dependencies = [
1745
+ "bitflags 2.9.2",
1746
+ "libc",
1747
+ ]
1748
+
1749
  [[package]]
1750
  name = "libz-rs-sys"
1751
  version = "0.5.1"
 
1755
  "zlib-rs",
1756
  ]
1757
 
1758
+ [[package]]
1759
+ name = "linux-raw-sys"
1760
+ version = "0.9.4"
1761
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1762
+ checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12"
1763
+
1764
  [[package]]
1765
  name = "litemap"
1766
  version = "0.8.0"
 
1779
  source = "registry+https://github.com/rust-lang/crates.io-index"
1780
  checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154"
1781
 
1782
+ [[package]]
1783
+ name = "macro_rules_attribute"
1784
+ version = "0.2.2"
1785
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1786
+ checksum = "65049d7923698040cd0b1ddcced9b0eb14dd22c5f86ae59c3740eab64a676520"
1787
+ dependencies = [
1788
+ "macro_rules_attribute-proc_macro",
1789
+ "paste",
1790
+ ]
1791
+
1792
+ [[package]]
1793
+ name = "macro_rules_attribute-proc_macro"
1794
+ version = "0.2.2"
1795
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1796
+ checksum = "670fdfda89751bc4a84ac13eaa63e205cf0fd22b4c9a5fbfa085b63c1f1d3a30"
1797
+
1798
+ [[package]]
1799
+ name = "matchers"
1800
+ version = "0.1.0"
1801
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1802
+ checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558"
1803
+ dependencies = [
1804
+ "regex-automata 0.1.10",
1805
+ ]
1806
+
1807
  [[package]]
1808
  name = "matchit"
1809
  version = "0.7.3"
1810
  source = "registry+https://github.com/rust-lang/crates.io-index"
1811
+ checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94"
1812
+
1813
+ [[package]]
1814
+ name = "matchit"
1815
+ version = "0.8.4"
1816
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1817
+ checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3"
1818
+
1819
+ [[package]]
1820
+ name = "memchr"
1821
+ version = "2.7.5"
1822
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1823
+ checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0"
1824
+
1825
+ [[package]]
1826
+ name = "memmap2"
1827
+ version = "0.9.7"
1828
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1829
+ checksum = "483758ad303d734cec05e5c12b41d7e93e6a6390c5e9dae6bdeb7c1259012d28"
1830
+ dependencies = [
1831
+ "libc",
1832
+ "stable_deref_trait",
1833
+ ]
1834
+
1835
+ [[package]]
1836
+ name = "mime"
1837
+ version = "0.3.17"
1838
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1839
+ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
1840
+
1841
+ [[package]]
1842
+ name = "mime_guess"
1843
+ version = "2.0.5"
1844
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1845
+ checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e"
1846
+ dependencies = [
1847
+ "mime",
1848
+ "unicase",
1849
+ ]
1850
+
1851
+ [[package]]
1852
+ name = "minimal-lexical"
1853
+ version = "0.2.1"
1854
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1855
+ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
1856
+
1857
+ [[package]]
1858
+ name = "miniz_oxide"
1859
+ version = "0.8.9"
1860
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1861
+ checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316"
1862
+ dependencies = [
1863
+ "adler2",
1864
+ ]
1865
+
1866
+ [[package]]
1867
+ name = "mio"
1868
+ version = "1.0.4"
1869
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1870
+ checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c"
1871
+ dependencies = [
1872
+ "libc",
1873
+ "wasi 0.11.1+wasi-snapshot-preview1",
1874
+ "windows-sys 0.59.0",
1875
+ ]
1876
+
1877
+ [[package]]
1878
+ name = "monostate"
1879
+ version = "0.1.14"
1880
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1881
+ checksum = "aafe1be9d0c75642e3e50fedc7ecadf1ef1cbce6eb66462153fc44245343fbee"
1882
+ dependencies = [
1883
+ "monostate-impl",
1884
+ "serde",
1885
+ ]
1886
+
1887
+ [[package]]
1888
+ name = "monostate-impl"
1889
+ version = "0.1.14"
1890
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1891
+ checksum = "c402a4092d5e204f32c9e155431046831fa712637043c58cb73bc6bc6c9663b5"
1892
+ dependencies = [
1893
+ "proc-macro2",
1894
+ "quote",
1895
+ "syn",
1896
+ ]
1897
+
1898
+ [[package]]
1899
+ name = "native-tls"
1900
+ version = "0.2.14"
1901
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1902
+ checksum = "87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e"
1903
+ dependencies = [
1904
+ "libc",
1905
+ "log",
1906
+ "openssl",
1907
+ "openssl-probe",
1908
+ "openssl-sys",
1909
+ "schannel",
1910
+ "security-framework 2.11.1",
1911
+ "security-framework-sys",
1912
+ "tempfile",
1913
+ ]
1914
+
1915
+ [[package]]
1916
+ name = "nom"
1917
+ version = "7.1.3"
1918
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1919
+ checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
1920
+ dependencies = [
1921
+ "memchr",
1922
+ "minimal-lexical",
1923
+ ]
1924
+
1925
+ [[package]]
1926
+ name = "nu-ansi-term"
1927
+ version = "0.46.0"
1928
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1929
+ checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
1930
+ dependencies = [
1931
+ "overload",
1932
+ "winapi",
1933
+ ]
1934
+
1935
+ [[package]]
1936
+ name = "num"
1937
+ version = "0.4.3"
1938
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1939
+ checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23"
1940
+ dependencies = [
1941
+ "num-bigint",
1942
+ "num-complex",
1943
+ "num-integer",
1944
+ "num-iter",
1945
+ "num-rational",
1946
+ "num-traits",
1947
+ ]
1948
+
1949
+ [[package]]
1950
+ name = "num-bigint"
1951
+ version = "0.4.6"
1952
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1953
+ checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9"
1954
+ dependencies = [
1955
+ "num-integer",
1956
+ "num-traits",
1957
+ ]
1958
+
1959
+ [[package]]
1960
+ name = "num-complex"
1961
+ version = "0.4.6"
1962
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1963
+ checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495"
1964
+ dependencies = [
1965
+ "bytemuck",
1966
+ "num-traits",
1967
+ ]
1968
+
1969
+ [[package]]
1970
+ name = "num-integer"
1971
+ version = "0.1.46"
1972
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1973
+ checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f"
1974
+ dependencies = [
1975
+ "num-traits",
1976
+ ]
1977
+
1978
+ [[package]]
1979
+ name = "num-iter"
1980
+ version = "0.1.45"
1981
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1982
+ checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf"
1983
+ dependencies = [
1984
+ "autocfg",
1985
+ "num-integer",
1986
+ "num-traits",
1987
+ ]
1988
+
1989
+ [[package]]
1990
+ name = "num-rational"
1991
+ version = "0.4.2"
1992
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1993
+ checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824"
1994
+ dependencies = [
1995
+ "num-bigint",
1996
+ "num-integer",
1997
+ "num-traits",
1998
+ ]
1999
+
2000
+ [[package]]
2001
+ name = "num-traits"
2002
+ version = "0.2.19"
2003
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2004
+ checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
2005
+ dependencies = [
2006
+ "autocfg",
2007
+ "libm",
2008
+ ]
2009
+
2010
+ [[package]]
2011
+ name = "num_cpus"
2012
+ version = "1.17.0"
2013
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2014
+ checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b"
2015
+ dependencies = [
2016
+ "hermit-abi",
2017
+ "libc",
2018
+ ]
2019
+
2020
+ [[package]]
2021
+ name = "num_enum"
2022
+ version = "0.7.4"
2023
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2024
+ checksum = "a973b4e44ce6cad84ce69d797acf9a044532e4184c4f267913d1b546a0727b7a"
2025
+ dependencies = [
2026
+ "num_enum_derive",
2027
+ "rustversion",
2028
+ ]
2029
+
2030
+ [[package]]
2031
+ name = "num_enum_derive"
2032
+ version = "0.7.4"
2033
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2034
+ checksum = "77e878c846a8abae00dd069496dbe8751b16ac1c3d6bd2a7283a938e8228f90d"
2035
+ dependencies = [
2036
+ "proc-macro-crate",
2037
+ "proc-macro2",
2038
+ "quote",
2039
+ "syn",
2040
+ ]
2041
 
2042
  [[package]]
2043
+ name = "number_prefix"
2044
+ version = "0.4.0"
2045
  source = "registry+https://github.com/rust-lang/crates.io-index"
2046
+ checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
2047
 
2048
  [[package]]
2049
+ name = "object"
2050
+ version = "0.36.7"
2051
  source = "registry+https://github.com/rust-lang/crates.io-index"
2052
+ checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87"
2053
+ dependencies = [
2054
+ "memchr",
2055
+ ]
2056
 
2057
  [[package]]
2058
+ name = "once_cell"
2059
+ version = "1.21.3"
2060
  source = "registry+https://github.com/rust-lang/crates.io-index"
2061
+ checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
2062
 
2063
  [[package]]
2064
+ name = "onig"
2065
+ version = "6.5.1"
2066
  source = "registry+https://github.com/rust-lang/crates.io-index"
2067
+ checksum = "336b9c63443aceef14bea841b899035ae3abe89b7c486aaf4c5bd8aafedac3f0"
2068
  dependencies = [
2069
+ "bitflags 2.9.2",
2070
+ "libc",
2071
+ "once_cell",
2072
+ "onig_sys",
2073
  ]
2074
 
2075
  [[package]]
2076
+ name = "onig_sys"
2077
+ version = "69.9.1"
2078
  source = "registry+https://github.com/rust-lang/crates.io-index"
2079
+ checksum = "c7f86c6eef3d6df15f23bcfb6af487cbd2fed4e5581d58d5bf1f5f8b7f6727dc"
2080
  dependencies = [
2081
+ "cc",
2082
+ "pkg-config",
2083
  ]
2084
 
2085
  [[package]]
2086
+ name = "openssl"
2087
+ version = "0.10.73"
2088
  source = "registry+https://github.com/rust-lang/crates.io-index"
2089
+ checksum = "8505734d46c8ab1e19a1dce3aef597ad87dcb4c37e7188231769bd6bd51cebf8"
2090
  dependencies = [
2091
+ "bitflags 2.9.2",
2092
+ "cfg-if",
2093
+ "foreign-types",
2094
  "libc",
2095
+ "once_cell",
2096
+ "openssl-macros",
2097
+ "openssl-sys",
2098
  ]
2099
 
2100
  [[package]]
2101
+ name = "openssl-macros"
2102
+ version = "0.1.1"
2103
  source = "registry+https://github.com/rust-lang/crates.io-index"
2104
+ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
2105
  dependencies = [
2106
+ "proc-macro2",
2107
+ "quote",
2108
+ "syn",
2109
  ]
2110
 
2111
  [[package]]
2112
+ name = "openssl-probe"
2113
+ version = "0.1.6"
2114
  source = "registry+https://github.com/rust-lang/crates.io-index"
2115
+ checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e"
2116
+
2117
+ [[package]]
2118
+ name = "openssl-sys"
2119
+ version = "0.9.109"
2120
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2121
+ checksum = "90096e2e47630d78b7d1c20952dc621f957103f8bc2c8359ec81290d75238571"
2122
  dependencies = [
2123
+ "cc",
2124
+ "libc",
2125
+ "pkg-config",
2126
+ "vcpkg",
2127
  ]
2128
 
2129
  [[package]]
2130
+ name = "option-ext"
2131
+ version = "0.2.0"
2132
  source = "registry+https://github.com/rust-lang/crates.io-index"
2133
+ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
2134
 
2135
  [[package]]
2136
+ name = "overload"
2137
+ version = "0.1.1"
2138
  source = "registry+https://github.com/rust-lang/crates.io-index"
2139
+ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
2140
 
2141
  [[package]]
2142
  name = "paste"
 
2182
  source = "registry+https://github.com/rust-lang/crates.io-index"
2183
  checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
2184
 
2185
+ [[package]]
2186
+ name = "pkg-config"
2187
+ version = "0.3.32"
2188
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2189
+ checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c"
2190
+
2191
+ [[package]]
2192
+ name = "portable-atomic"
2193
+ version = "1.11.1"
2194
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2195
+ checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483"
2196
+
2197
  [[package]]
2198
  name = "potential_utf"
2199
  version = "0.1.2"
 
2222
  "vcpkg",
2223
  ]
2224
 
2225
+ [[package]]
2226
+ name = "proc-macro-crate"
2227
+ version = "3.3.0"
2228
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2229
+ checksum = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35"
2230
+ dependencies = [
2231
+ "toml_edit",
2232
+ ]
2233
+
2234
  [[package]]
2235
  name = "proc-macro2"
2236
  version = "1.0.101"
 
2272
  "prost",
2273
  ]
2274
 
2275
+ [[package]]
2276
+ name = "pulp"
2277
+ version = "0.18.22"
2278
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2279
+ checksum = "a0a01a0dc67cf4558d279f0c25b0962bd08fc6dec0137699eae304103e882fe6"
2280
+ dependencies = [
2281
+ "bytemuck",
2282
+ "libm",
2283
+ "num-complex",
2284
+ "reborrow",
2285
+ ]
2286
+
2287
+ [[package]]
2288
+ name = "pulp"
2289
+ version = "0.21.5"
2290
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2291
+ checksum = "96b86df24f0a7ddd5e4b95c94fc9ed8a98f1ca94d3b01bdce2824097e7835907"
2292
+ dependencies = [
2293
+ "bytemuck",
2294
+ "cfg-if",
2295
+ "libm",
2296
+ "num-complex",
2297
+ "reborrow",
2298
+ "version_check",
2299
+ ]
2300
+
2301
  [[package]]
2302
  name = "qdrant-client"
2303
  version = "1.15.0"
 
2448
  "getrandom 0.3.3",
2449
  ]
2450
 
2451
+ [[package]]
2452
+ name = "rand_distr"
2453
+ version = "0.5.1"
2454
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2455
+ checksum = "6a8615d50dcf34fa31f7ab52692afec947c4dd0ab803cc87cb3b0b4570ff7463"
2456
+ dependencies = [
2457
+ "num-traits",
2458
+ "rand 0.9.2",
2459
+ ]
2460
+
2461
+ [[package]]
2462
+ name = "raw-cpuid"
2463
+ version = "10.7.0"
2464
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2465
+ checksum = "6c297679cb867470fa8c9f67dbba74a78d78e3e98d7cf2b08d6d71540f797332"
2466
+ dependencies = [
2467
+ "bitflags 1.3.2",
2468
+ ]
2469
+
2470
+ [[package]]
2471
+ name = "raw-cpuid"
2472
+ version = "11.5.0"
2473
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2474
+ checksum = "c6df7ab838ed27997ba19a4664507e6f82b41fe6e20be42929332156e5e85146"
2475
+ dependencies = [
2476
+ "bitflags 2.9.2",
2477
+ ]
2478
+
2479
+ [[package]]
2480
+ name = "rayon"
2481
+ version = "1.11.0"
2482
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2483
+ checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f"
2484
+ dependencies = [
2485
+ "either",
2486
+ "rayon-core",
2487
+ ]
2488
+
2489
+ [[package]]
2490
+ name = "rayon-cond"
2491
+ version = "0.4.0"
2492
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2493
+ checksum = "2964d0cf57a3e7a06e8183d14a8b527195c706b7983549cd5462d5aa3747438f"
2494
+ dependencies = [
2495
+ "either",
2496
+ "itertools",
2497
+ "rayon",
2498
+ ]
2499
+
2500
+ [[package]]
2501
+ name = "rayon-core"
2502
+ version = "1.13.0"
2503
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2504
+ checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91"
2505
+ dependencies = [
2506
+ "crossbeam-deque",
2507
+ "crossbeam-utils",
2508
+ ]
2509
+
2510
+ [[package]]
2511
+ name = "reborrow"
2512
+ version = "0.5.5"
2513
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2514
+ checksum = "03251193000f4bd3b042892be858ee50e8b3719f2b08e5833ac4353724632430"
2515
+
2516
+ [[package]]
2517
+ name = "redox_users"
2518
+ version = "0.5.2"
2519
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2520
+ checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac"
2521
+ dependencies = [
2522
+ "getrandom 0.2.16",
2523
+ "libredox",
2524
+ "thiserror 2.0.16",
2525
+ ]
2526
+
2527
  [[package]]
2528
  name = "regex"
2529
  version = "1.11.1"
 
2532
  dependencies = [
2533
  "aho-corasick",
2534
  "memchr",
2535
+ "regex-automata 0.4.9",
2536
+ "regex-syntax 0.8.5",
2537
+ ]
2538
+
2539
+ [[package]]
2540
+ name = "regex-automata"
2541
+ version = "0.1.10"
2542
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2543
+ checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
2544
+ dependencies = [
2545
+ "regex-syntax 0.6.29",
2546
  ]
2547
 
2548
  [[package]]
 
2553
  dependencies = [
2554
  "aho-corasick",
2555
  "memchr",
2556
+ "regex-syntax 0.8.5",
2557
  ]
2558
 
2559
+ [[package]]
2560
+ name = "regex-syntax"
2561
+ version = "0.6.29"
2562
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2563
+ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
2564
+
2565
  [[package]]
2566
  name = "regex-syntax"
2567
  version = "0.8.5"
 
2574
  source = "registry+https://github.com/rust-lang/crates.io-index"
2575
  checksum = "d429f34c8092b2d42c7c93cec323bb4adeb7c67698f70839adec842ec10c7ceb"
2576
  dependencies = [
2577
+ "base64 0.22.1",
2578
  "bytes",
2579
+ "encoding_rs",
2580
  "futures-core",
2581
  "futures-util",
2582
  "h2",
 
2585
  "http-body-util",
2586
  "hyper",
2587
  "hyper-rustls",
2588
+ "hyper-tls",
2589
  "hyper-util",
2590
  "js-sys",
2591
  "log",
2592
+ "mime",
2593
+ "native-tls",
2594
  "percent-encoding",
2595
  "pin-project-lite",
2596
  "quinn",
 
2601
  "serde_urlencoded",
2602
  "sync_wrapper",
2603
  "tokio",
2604
+ "tokio-native-tls",
2605
  "tokio-rustls",
2606
  "tokio-util",
2607
  "tower 0.5.2",
 
2612
  "wasm-bindgen-futures",
2613
  "wasm-streams",
2614
  "web-sys",
2615
+ "webpki-roots 1.0.2",
2616
  ]
2617
 
2618
  [[package]]
 
2675
  source = "registry+https://github.com/rust-lang/crates.io-index"
2676
  checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d"
2677
 
2678
+ [[package]]
2679
+ name = "rustix"
2680
+ version = "1.0.8"
2681
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2682
+ checksum = "11181fbabf243db407ef8df94a6ce0b2f9a733bd8be4ad02b4eda9602296cac8"
2683
+ dependencies = [
2684
+ "bitflags 2.9.2",
2685
+ "errno",
2686
+ "libc",
2687
+ "linux-raw-sys",
2688
+ "windows-sys 0.60.2",
2689
+ ]
2690
+
2691
  [[package]]
2692
  name = "rustls"
2693
  version = "0.23.31"
 
2712
  "openssl-probe",
2713
  "rustls-pki-types",
2714
  "schannel",
2715
+ "security-framework 3.3.0",
2716
  ]
2717
 
2718
  [[package]]
 
2757
  source = "registry+https://github.com/rust-lang/crates.io-index"
2758
  checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f"
2759
 
2760
+ [[package]]
2761
+ name = "safetensors"
2762
+ version = "0.4.5"
2763
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2764
+ checksum = "44560c11236a6130a46ce36c836a62936dc81ebf8c36a37947423571be0e55b6"
2765
+ dependencies = [
2766
+ "serde",
2767
+ "serde_json",
2768
+ ]
2769
+
2770
  [[package]]
2771
  name = "same-file"
2772
  version = "1.0.6"
 
2785
  "windows-sys 0.59.0",
2786
  ]
2787
 
2788
+ [[package]]
2789
+ name = "security-framework"
2790
+ version = "2.11.1"
2791
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2792
+ checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02"
2793
+ dependencies = [
2794
+ "bitflags 2.9.2",
2795
+ "core-foundation 0.9.4",
2796
+ "core-foundation-sys",
2797
+ "libc",
2798
+ "security-framework-sys",
2799
+ ]
2800
+
2801
  [[package]]
2802
  name = "security-framework"
2803
  version = "3.3.0"
2804
  source = "registry+https://github.com/rust-lang/crates.io-index"
2805
  checksum = "80fb1d92c5028aa318b4b8bd7302a5bfcf48be96a37fc6fc790f806b0004ee0c"
2806
  dependencies = [
2807
+ "bitflags 2.9.2",
2808
+ "core-foundation 0.10.1",
2809
  "core-foundation-sys",
2810
  "libc",
2811
  "security-framework-sys",
 
2827
  source = "registry+https://github.com/rust-lang/crates.io-index"
2828
  checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0"
2829
 
2830
+ [[package]]
2831
+ name = "seq-macro"
2832
+ version = "0.3.6"
2833
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2834
+ checksum = "1bc711410fbe7399f390ca1c3b60ad0f53f80e95c5eb935e52268a0e2cd49acc"
2835
+
2836
  [[package]]
2837
  name = "serde"
2838
  version = "1.0.219"
 
2855
 
2856
  [[package]]
2857
  name = "serde_json"
2858
+ version = "1.0.143"
2859
  source = "registry+https://github.com/rust-lang/crates.io-index"
2860
+ checksum = "d401abef1d108fbd9cbaebc3e46611f4b1021f714a0597a71f41ee463f5f4a5a"
2861
  dependencies = [
2862
  "itoa",
2863
  "memchr",
 
2875
  "serde",
2876
  ]
2877
 
2878
+ [[package]]
2879
+ name = "serde_plain"
2880
+ version = "1.0.2"
2881
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2882
+ checksum = "9ce1fc6db65a611022b23a0dec6975d63fb80a302cb3388835ff02c097258d50"
2883
+ dependencies = [
2884
+ "serde",
2885
+ ]
2886
+
2887
  [[package]]
2888
  name = "serde_urlencoded"
2889
  version = "0.7.1"
 
2907
  "digest",
2908
  ]
2909
 
2910
+ [[package]]
2911
+ name = "sharded-slab"
2912
+ version = "0.1.7"
2913
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2914
+ checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6"
2915
+ dependencies = [
2916
+ "lazy_static",
2917
+ ]
2918
+
2919
  [[package]]
2920
  name = "shlex"
2921
  version = "1.3.0"
 
2960
  "windows-sys 0.59.0",
2961
  ]
2962
 
2963
+ [[package]]
2964
+ name = "socks"
2965
+ version = "0.3.4"
2966
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2967
+ checksum = "f0c3dbbd9ae980613c6dd8e28a9407b50509d3803b57624d5dfe8315218cd58b"
2968
+ dependencies = [
2969
+ "byteorder",
2970
+ "libc",
2971
+ "winapi",
2972
+ ]
2973
+
2974
+ [[package]]
2975
+ name = "spm_precompiled"
2976
+ version = "0.1.4"
2977
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2978
+ checksum = "5851699c4033c63636f7ea4cf7b7c1f1bf06d0cc03cfb42e711de5a5c46cf326"
2979
+ dependencies = [
2980
+ "base64 0.13.1",
2981
+ "nom",
2982
+ "serde",
2983
+ "unicode-segmentation",
2984
+ ]
2985
+
2986
  [[package]]
2987
  name = "stable_deref_trait"
2988
  version = "1.2.0"
2989
  source = "registry+https://github.com/rust-lang/crates.io-index"
2990
  checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
2991
 
2992
+ [[package]]
2993
+ name = "static_assertions"
2994
+ version = "1.1.0"
2995
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2996
+ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
2997
+
2998
  [[package]]
2999
  name = "strsim"
3000
  version = "0.11.1"
 
3008
  checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
3009
 
3010
  [[package]]
3011
+ name = "syn"
3012
+ version = "2.0.106"
3013
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3014
+ checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6"
3015
+ dependencies = [
3016
+ "proc-macro2",
3017
+ "quote",
3018
+ "unicode-ident",
3019
+ ]
3020
+
3021
+ [[package]]
3022
+ name = "sync_wrapper"
3023
+ version = "1.0.2"
3024
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3025
+ checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263"
3026
+ dependencies = [
3027
+ "futures-core",
3028
+ ]
3029
+
3030
+ [[package]]
3031
+ name = "synstructure"
3032
+ version = "0.13.2"
3033
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3034
+ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2"
3035
+ dependencies = [
3036
+ "proc-macro2",
3037
+ "quote",
3038
+ "syn",
3039
+ ]
3040
+
3041
+ [[package]]
3042
+ name = "sysctl"
3043
+ version = "0.5.5"
3044
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3045
+ checksum = "ec7dddc5f0fee506baf8b9fdb989e242f17e4b11c61dfbb0635b705217199eea"
3046
+ dependencies = [
3047
+ "bitflags 2.9.2",
3048
+ "byteorder",
3049
+ "enum-as-inner",
3050
+ "libc",
3051
+ "thiserror 1.0.69",
3052
+ "walkdir",
3053
+ ]
3054
+
3055
+ [[package]]
3056
+ name = "sysctl"
3057
+ version = "0.6.0"
3058
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3059
+ checksum = "01198a2debb237c62b6826ec7081082d951f46dbb64b0e8c7649a452230d1dfc"
3060
+ dependencies = [
3061
+ "bitflags 2.9.2",
3062
+ "byteorder",
3063
+ "enum-as-inner",
3064
+ "libc",
3065
+ "thiserror 1.0.69",
3066
+ "walkdir",
3067
+ ]
3068
+
3069
+ [[package]]
3070
+ name = "system-configuration"
3071
+ version = "0.6.1"
3072
  source = "registry+https://github.com/rust-lang/crates.io-index"
3073
+ checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b"
3074
  dependencies = [
3075
+ "bitflags 2.9.2",
3076
+ "core-foundation 0.9.4",
3077
+ "system-configuration-sys",
3078
  ]
3079
 
3080
  [[package]]
3081
+ name = "system-configuration-sys"
3082
+ version = "0.6.0"
3083
  source = "registry+https://github.com/rust-lang/crates.io-index"
3084
+ checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4"
3085
  dependencies = [
3086
+ "core-foundation-sys",
3087
+ "libc",
3088
  ]
3089
 
3090
  [[package]]
3091
+ name = "tempfile"
3092
+ version = "3.21.0"
3093
  source = "registry+https://github.com/rust-lang/crates.io-index"
3094
+ checksum = "15b61f8f20e3a6f7e0649d825294eaf317edce30f82cf6026e7e4cb9222a7d1e"
3095
  dependencies = [
3096
+ "fastrand",
3097
+ "getrandom 0.3.3",
3098
+ "once_cell",
3099
+ "rustix",
3100
+ "windows-sys 0.60.2",
3101
  ]
3102
 
3103
  [[package]]
 
3140
  "syn",
3141
  ]
3142
 
3143
+ [[package]]
3144
+ name = "thread_local"
3145
+ version = "1.1.9"
3146
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3147
+ checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185"
3148
+ dependencies = [
3149
+ "cfg-if",
3150
+ ]
3151
+
3152
  [[package]]
3153
  name = "tinystr"
3154
  version = "0.8.1"
 
3174
  source = "registry+https://github.com/rust-lang/crates.io-index"
3175
  checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
3176
 
3177
+ [[package]]
3178
+ name = "tokenizers"
3179
+ version = "0.21.4"
3180
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3181
+ checksum = "a620b996116a59e184c2fa2dfd8251ea34a36d0a514758c6f966386bd2e03476"
3182
+ dependencies = [
3183
+ "ahash",
3184
+ "aho-corasick",
3185
+ "compact_str",
3186
+ "dary_heap",
3187
+ "derive_builder",
3188
+ "esaxx-rs",
3189
+ "getrandom 0.3.3",
3190
+ "indicatif",
3191
+ "itertools",
3192
+ "log",
3193
+ "macro_rules_attribute",
3194
+ "monostate",
3195
+ "onig",
3196
+ "paste",
3197
+ "rand 0.9.2",
3198
+ "rayon",
3199
+ "rayon-cond",
3200
+ "regex",
3201
+ "regex-syntax 0.8.5",
3202
+ "serde",
3203
+ "serde_json",
3204
+ "spm_precompiled",
3205
+ "thiserror 2.0.16",
3206
+ "unicode-normalization-alignments",
3207
+ "unicode-segmentation",
3208
+ "unicode_categories",
3209
+ ]
3210
+
3211
  [[package]]
3212
  name = "tokio"
3213
  version = "1.47.1"
 
3237
  "syn",
3238
  ]
3239
 
3240
+ [[package]]
3241
+ name = "tokio-native-tls"
3242
+ version = "0.3.1"
3243
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3244
+ checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2"
3245
+ dependencies = [
3246
+ "native-tls",
3247
+ "tokio",
3248
+ ]
3249
+
3250
  [[package]]
3251
  name = "tokio-rustls"
3252
  version = "0.26.2"
 
3281
  "tokio",
3282
  ]
3283
 
3284
+ [[package]]
3285
+ name = "toml_datetime"
3286
+ version = "0.6.11"
3287
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3288
+ checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c"
3289
+
3290
+ [[package]]
3291
+ name = "toml_edit"
3292
+ version = "0.22.27"
3293
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3294
+ checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a"
3295
+ dependencies = [
3296
+ "indexmap 2.10.0",
3297
+ "toml_datetime",
3298
+ "winnow",
3299
+ ]
3300
+
3301
  [[package]]
3302
  name = "tonic"
3303
  version = "0.12.3"
 
3307
  "async-stream",
3308
  "async-trait",
3309
  "axum 0.7.9",
3310
+ "base64 0.22.1",
3311
  "bytes",
3312
  "flate2",
3313
  "h2",
 
3374
  source = "registry+https://github.com/rust-lang/crates.io-index"
3375
  checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2"
3376
  dependencies = [
3377
+ "bitflags 2.9.2",
3378
  "bytes",
3379
  "futures-util",
3380
  "http",
 
3384
  "tower 0.5.2",
3385
  "tower-layer",
3386
  "tower-service",
3387
+ "tracing",
3388
  ]
3389
 
3390
  [[package]]
 
3429
  checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678"
3430
  dependencies = [
3431
  "once_cell",
3432
+ "valuable",
3433
+ ]
3434
+
3435
+ [[package]]
3436
+ name = "tracing-log"
3437
+ version = "0.2.0"
3438
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3439
+ checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3"
3440
+ dependencies = [
3441
+ "log",
3442
+ "once_cell",
3443
+ "tracing-core",
3444
+ ]
3445
+
3446
+ [[package]]
3447
+ name = "tracing-subscriber"
3448
+ version = "0.3.19"
3449
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3450
+ checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008"
3451
+ dependencies = [
3452
+ "matchers",
3453
+ "nu-ansi-term",
3454
+ "once_cell",
3455
+ "regex",
3456
+ "sharded-slab",
3457
+ "smallvec",
3458
+ "thread_local",
3459
+ "tracing",
3460
+ "tracing-core",
3461
+ "tracing-log",
3462
  ]
3463
 
3464
  [[package]]
 
3473
  source = "registry+https://github.com/rust-lang/crates.io-index"
3474
  checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f"
3475
 
3476
+ [[package]]
3477
+ name = "ug"
3478
+ version = "0.4.0"
3479
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3480
+ checksum = "90b70b37e9074642bc5f60bb23247fd072a84314ca9e71cdf8527593406a0dd3"
3481
+ dependencies = [
3482
+ "gemm 0.18.2",
3483
+ "half",
3484
+ "libloading",
3485
+ "memmap2",
3486
+ "num",
3487
+ "num-traits",
3488
+ "num_cpus",
3489
+ "rayon",
3490
+ "safetensors",
3491
+ "serde",
3492
+ "thiserror 1.0.69",
3493
+ "tracing",
3494
+ "yoke 0.7.5",
3495
+ ]
3496
+
3497
+ [[package]]
3498
+ name = "ug-cuda"
3499
+ version = "0.4.0"
3500
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3501
+ checksum = "14053653d0b7fa7b21015aa9a62edc8af2f60aa6f9c54e66386ecce55f22ed29"
3502
+ dependencies = [
3503
+ "cudarc",
3504
+ "half",
3505
+ "serde",
3506
+ "thiserror 1.0.69",
3507
+ "ug",
3508
+ ]
3509
+
3510
  [[package]]
3511
  name = "unicase"
3512
  version = "2.8.1"
 
3519
  source = "registry+https://github.com/rust-lang/crates.io-index"
3520
  checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"
3521
 
3522
+ [[package]]
3523
+ name = "unicode-normalization-alignments"
3524
+ version = "0.1.12"
3525
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3526
+ checksum = "43f613e4fa046e69818dd287fdc4bc78175ff20331479dab6e1b0f98d57062de"
3527
+ dependencies = [
3528
+ "smallvec",
3529
+ ]
3530
+
3531
+ [[package]]
3532
+ name = "unicode-segmentation"
3533
+ version = "1.12.0"
3534
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3535
+ checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493"
3536
+
3537
+ [[package]]
3538
+ name = "unicode-width"
3539
+ version = "0.2.1"
3540
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3541
+ checksum = "4a1a07cc7db3810833284e8d372ccdc6da29741639ecc70c9ec107df0fa6154c"
3542
+
3543
+ [[package]]
3544
+ name = "unicode_categories"
3545
+ version = "0.1.1"
3546
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3547
+ checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e"
3548
+
3549
  [[package]]
3550
  name = "untrusted"
3551
  version = "0.9.0"
3552
  source = "registry+https://github.com/rust-lang/crates.io-index"
3553
  checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
3554
 
3555
+ [[package]]
3556
+ name = "ureq"
3557
+ version = "2.12.1"
3558
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3559
+ checksum = "02d1a66277ed75f640d608235660df48c8e3c19f3b4edb6a263315626cc3c01d"
3560
+ dependencies = [
3561
+ "base64 0.22.1",
3562
+ "flate2",
3563
+ "log",
3564
+ "native-tls",
3565
+ "once_cell",
3566
+ "rustls",
3567
+ "rustls-pki-types",
3568
+ "serde",
3569
+ "serde_json",
3570
+ "socks",
3571
+ "url",
3572
+ "webpki-roots 0.26.11",
3573
+ ]
3574
+
3575
  [[package]]
3576
  name = "url"
3577
  version = "2.5.4"
 
3632
  checksum = "d047458f1b5b65237c2f6dc6db136945667f40a7668627b3490b9513a3d43a55"
3633
  dependencies = [
3634
  "axum 0.8.4",
3635
+ "base64 0.22.1",
3636
  "mime_guess",
3637
  "regex",
3638
  "rust-embed",
 
3640
  "serde_json",
3641
  "url",
3642
  "utoipa",
3643
+ "zip 3.0.0",
3644
  ]
3645
 
3646
+ [[package]]
3647
+ name = "valuable"
3648
+ version = "0.1.1"
3649
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3650
+ checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65"
3651
+
3652
  [[package]]
3653
  name = "vcpkg"
3654
  version = "0.2.15"
 
3799
  "wasm-bindgen",
3800
  ]
3801
 
3802
+ [[package]]
3803
+ name = "webpki-roots"
3804
+ version = "0.26.11"
3805
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3806
+ checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9"
3807
+ dependencies = [
3808
+ "webpki-roots 1.0.2",
3809
+ ]
3810
+
3811
  [[package]]
3812
  name = "webpki-roots"
3813
  version = "1.0.2"
 
3817
  "rustls-pki-types",
3818
  ]
3819
 
3820
+ [[package]]
3821
+ name = "winapi"
3822
+ version = "0.3.9"
3823
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3824
+ checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
3825
+ dependencies = [
3826
+ "winapi-i686-pc-windows-gnu",
3827
+ "winapi-x86_64-pc-windows-gnu",
3828
+ ]
3829
+
3830
+ [[package]]
3831
+ name = "winapi-i686-pc-windows-gnu"
3832
+ version = "0.4.0"
3833
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3834
+ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
3835
+
3836
  [[package]]
3837
  name = "winapi-util"
3838
+ version = "0.1.10"
3839
  source = "registry+https://github.com/rust-lang/crates.io-index"
3840
+ checksum = "0978bf7171b3d90bac376700cb56d606feb40f251a475a5d6634613564460b22"
3841
  dependencies = [
3842
+ "windows-sys 0.60.2",
3843
+ ]
3844
+
3845
+ [[package]]
3846
+ name = "winapi-x86_64-pc-windows-gnu"
3847
+ version = "0.4.0"
3848
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3849
+ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
3850
+
3851
+ [[package]]
3852
+ name = "windows-link"
3853
+ version = "0.1.3"
3854
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3855
+ checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a"
3856
+
3857
+ [[package]]
3858
+ name = "windows-registry"
3859
+ version = "0.5.3"
3860
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3861
+ checksum = "5b8a9ed28765efc97bbc954883f4e6796c33a06546ebafacbabee9696967499e"
3862
+ dependencies = [
3863
+ "windows-link",
3864
+ "windows-result",
3865
+ "windows-strings",
3866
+ ]
3867
+
3868
+ [[package]]
3869
+ name = "windows-result"
3870
+ version = "0.3.4"
3871
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3872
+ checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6"
3873
+ dependencies = [
3874
+ "windows-link",
3875
+ ]
3876
+
3877
+ [[package]]
3878
+ name = "windows-strings"
3879
+ version = "0.4.2"
3880
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3881
+ checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57"
3882
+ dependencies = [
3883
+ "windows-link",
3884
  ]
3885
 
3886
  [[package]]
 
3889
  source = "registry+https://github.com/rust-lang/crates.io-index"
3890
  checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
3891
  dependencies = [
3892
+ "windows-targets 0.52.6",
3893
  ]
3894
 
3895
  [[package]]
 
3898
  source = "registry+https://github.com/rust-lang/crates.io-index"
3899
  checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
3900
  dependencies = [
3901
+ "windows-targets 0.52.6",
3902
+ ]
3903
+
3904
+ [[package]]
3905
+ name = "windows-sys"
3906
+ version = "0.60.2"
3907
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3908
+ checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb"
3909
+ dependencies = [
3910
+ "windows-targets 0.53.3",
3911
  ]
3912
 
3913
  [[package]]
 
3916
  source = "registry+https://github.com/rust-lang/crates.io-index"
3917
  checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
3918
  dependencies = [
3919
+ "windows_aarch64_gnullvm 0.52.6",
3920
+ "windows_aarch64_msvc 0.52.6",
3921
+ "windows_i686_gnu 0.52.6",
3922
+ "windows_i686_gnullvm 0.52.6",
3923
+ "windows_i686_msvc 0.52.6",
3924
+ "windows_x86_64_gnu 0.52.6",
3925
+ "windows_x86_64_gnullvm 0.52.6",
3926
+ "windows_x86_64_msvc 0.52.6",
3927
+ ]
3928
+
3929
+ [[package]]
3930
+ name = "windows-targets"
3931
+ version = "0.53.3"
3932
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3933
+ checksum = "d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91"
3934
+ dependencies = [
3935
+ "windows-link",
3936
+ "windows_aarch64_gnullvm 0.53.0",
3937
+ "windows_aarch64_msvc 0.53.0",
3938
+ "windows_i686_gnu 0.53.0",
3939
+ "windows_i686_gnullvm 0.53.0",
3940
+ "windows_i686_msvc 0.53.0",
3941
+ "windows_x86_64_gnu 0.53.0",
3942
+ "windows_x86_64_gnullvm 0.53.0",
3943
+ "windows_x86_64_msvc 0.53.0",
3944
  ]
3945
 
3946
  [[package]]
 
3949
  source = "registry+https://github.com/rust-lang/crates.io-index"
3950
  checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
3951
 
3952
+ [[package]]
3953
+ name = "windows_aarch64_gnullvm"
3954
+ version = "0.53.0"
3955
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3956
+ checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764"
3957
+
3958
  [[package]]
3959
  name = "windows_aarch64_msvc"
3960
  version = "0.52.6"
3961
  source = "registry+https://github.com/rust-lang/crates.io-index"
3962
  checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
3963
 
3964
+ [[package]]
3965
+ name = "windows_aarch64_msvc"
3966
+ version = "0.53.0"
3967
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3968
+ checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c"
3969
+
3970
  [[package]]
3971
  name = "windows_i686_gnu"
3972
  version = "0.52.6"
3973
  source = "registry+https://github.com/rust-lang/crates.io-index"
3974
  checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
3975
 
3976
+ [[package]]
3977
+ name = "windows_i686_gnu"
3978
+ version = "0.53.0"
3979
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3980
+ checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3"
3981
+
3982
  [[package]]
3983
  name = "windows_i686_gnullvm"
3984
  version = "0.52.6"
3985
  source = "registry+https://github.com/rust-lang/crates.io-index"
3986
  checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
3987
 
3988
+ [[package]]
3989
+ name = "windows_i686_gnullvm"
3990
+ version = "0.53.0"
3991
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3992
+ checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11"
3993
+
3994
  [[package]]
3995
  name = "windows_i686_msvc"
3996
  version = "0.52.6"
3997
  source = "registry+https://github.com/rust-lang/crates.io-index"
3998
  checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
3999
 
4000
+ [[package]]
4001
+ name = "windows_i686_msvc"
4002
+ version = "0.53.0"
4003
+ source = "registry+https://github.com/rust-lang/crates.io-index"
4004
+ checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d"
4005
+
4006
  [[package]]
4007
  name = "windows_x86_64_gnu"
4008
  version = "0.52.6"
4009
  source = "registry+https://github.com/rust-lang/crates.io-index"
4010
  checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
4011
 
4012
+ [[package]]
4013
+ name = "windows_x86_64_gnu"
4014
+ version = "0.53.0"
4015
+ source = "registry+https://github.com/rust-lang/crates.io-index"
4016
+ checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba"
4017
+
4018
  [[package]]
4019
  name = "windows_x86_64_gnullvm"
4020
  version = "0.52.6"
4021
  source = "registry+https://github.com/rust-lang/crates.io-index"
4022
  checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
4023
 
4024
+ [[package]]
4025
+ name = "windows_x86_64_gnullvm"
4026
+ version = "0.53.0"
4027
+ source = "registry+https://github.com/rust-lang/crates.io-index"
4028
+ checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57"
4029
+
4030
  [[package]]
4031
  name = "windows_x86_64_msvc"
4032
  version = "0.52.6"
4033
  source = "registry+https://github.com/rust-lang/crates.io-index"
4034
  checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
4035
 
4036
+ [[package]]
4037
+ name = "windows_x86_64_msvc"
4038
+ version = "0.53.0"
4039
+ source = "registry+https://github.com/rust-lang/crates.io-index"
4040
+ checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486"
4041
+
4042
+ [[package]]
4043
+ name = "winnow"
4044
+ version = "0.7.12"
4045
+ source = "registry+https://github.com/rust-lang/crates.io-index"
4046
+ checksum = "f3edebf492c8125044983378ecb5766203ad3b4c2f7a922bd7dd207f6d443e95"
4047
+ dependencies = [
4048
+ "memchr",
4049
+ ]
4050
+
4051
  [[package]]
4052
  name = "wit-bindgen-rt"
4053
  version = "0.39.0"
4054
  source = "registry+https://github.com/rust-lang/crates.io-index"
4055
  checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1"
4056
  dependencies = [
4057
+ "bitflags 2.9.2",
4058
  ]
4059
 
4060
  [[package]]
 
4063
  source = "registry+https://github.com/rust-lang/crates.io-index"
4064
  checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb"
4065
 
4066
+ [[package]]
4067
+ name = "yoke"
4068
+ version = "0.7.5"
4069
+ source = "registry+https://github.com/rust-lang/crates.io-index"
4070
+ checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40"
4071
+ dependencies = [
4072
+ "serde",
4073
+ "stable_deref_trait",
4074
+ "yoke-derive 0.7.5",
4075
+ "zerofrom",
4076
+ ]
4077
+
4078
  [[package]]
4079
  name = "yoke"
4080
  version = "0.8.0"
 
4083
  dependencies = [
4084
  "serde",
4085
  "stable_deref_trait",
4086
+ "yoke-derive 0.8.0",
4087
  "zerofrom",
4088
  ]
4089
 
4090
+ [[package]]
4091
+ name = "yoke-derive"
4092
+ version = "0.7.5"
4093
+ source = "registry+https://github.com/rust-lang/crates.io-index"
4094
+ checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154"
4095
+ dependencies = [
4096
+ "proc-macro2",
4097
+ "quote",
4098
+ "syn",
4099
+ "synstructure",
4100
+ ]
4101
+
4102
  [[package]]
4103
  name = "yoke-derive"
4104
  version = "0.8.0"
 
4165
  checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595"
4166
  dependencies = [
4167
  "displaydoc",
4168
+ "yoke 0.8.0",
4169
  "zerofrom",
4170
  ]
4171
 
 
4175
  source = "registry+https://github.com/rust-lang/crates.io-index"
4176
  checksum = "e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b"
4177
  dependencies = [
4178
+ "yoke 0.8.0",
4179
  "zerofrom",
4180
  "zerovec-derive",
4181
  ]
 
4191
  "syn",
4192
  ]
4193
 
4194
+ [[package]]
4195
+ name = "zip"
4196
+ version = "1.1.4"
4197
+ source = "registry+https://github.com/rust-lang/crates.io-index"
4198
+ checksum = "9cc23c04387f4da0374be4533ad1208cbb091d5c11d070dfef13676ad6497164"
4199
+ dependencies = [
4200
+ "arbitrary",
4201
+ "crc32fast",
4202
+ "crossbeam-utils",
4203
+ "displaydoc",
4204
+ "indexmap 2.10.0",
4205
+ "num_enum",
4206
+ "thiserror 1.0.69",
4207
+ ]
4208
+
4209
  [[package]]
4210
  name = "zip"
4211
  version = "3.0.0"
Cargo.toml CHANGED
@@ -6,15 +6,21 @@ edition = "2024"
6
  [dependencies]
7
  anyhow = "1.0.99"
8
  axum = "0.8.4"
 
 
9
  deadpool-diesel = { version = "0.6.1", features = ["postgres"] }
10
  diesel = { version = "2.2.12", features = ["postgres"] }
11
  futures = "0.3.31"
 
12
  qdrant-client = "1.15.0"
 
13
  serde = { version = "1.0.219", features = ["derive"] }
 
14
  tokio = { version = "1.47.1", features = ["macros", "rt-multi-thread"] }
15
  tower = "0.5.2"
16
- tower-http = { version = "0.6.6", features = ["cors"] }
17
  tracing = "0.1.41"
 
18
  utoipa = "5.4.0"
19
  utoipa-axum = "0.2.0"
20
  utoipa-swagger-ui = { version = "9.0.2", features = ["axum"] }
 
6
  [dependencies]
7
  anyhow = "1.0.99"
8
  axum = "0.8.4"
9
+ candle-core = { version = "0.9.1", features = ["cuda"] }
10
+ candle-transformers = { version = "0.9.1", features = ["cuda"] }
11
  deadpool-diesel = { version = "0.6.1", features = ["postgres"] }
12
  diesel = { version = "2.2.12", features = ["postgres"] }
13
  futures = "0.3.31"
14
+ hf-hub = { version = "0.4.3", features = ["tokio"] }
15
  qdrant-client = "1.15.0"
16
+ rayon = "1.11.0"
17
  serde = { version = "1.0.219", features = ["derive"] }
18
+ tokenizers = "0.21.4"
19
  tokio = { version = "1.47.1", features = ["macros", "rt-multi-thread"] }
20
  tower = "0.5.2"
21
+ tower-http = { version = "0.6.6", features = ["cors", "trace"] }
22
  tracing = "0.1.41"
23
+ tracing-subscriber = { version = "0.3.19", features = ["env-filter"] }
24
  utoipa = "5.4.0"
25
  utoipa-axum = "0.2.0"
26
  utoipa-swagger-ui = { version = "9.0.2", features = ["axum"] }
README.md CHANGED
@@ -18,7 +18,10 @@ cargo build --release
18
 
19
  ```bash
20
  docker build -t aic-server .
21
- docker run -p 8080:8080 -e DATABASE_URL="your_database_url_here" aic-server
 
 
 
22
  ```
23
 
24
  ---
@@ -29,9 +32,11 @@ Before running, make sure to set:
29
 
30
  ```bash
31
  export DATABASE_URL="postgres://user:password@localhost:5432/db_name"
 
32
  ```
33
 
34
- This is required for database connectivity.
 
35
 
36
  ---
37
 
@@ -61,6 +66,7 @@ AIC Server/
61
  - 🐳 Dockerized for easy deployment
62
  - 📚 Interactive Swagger UI
63
  - 🗄️ PostgreSQL database support
 
64
 
65
  ---
66
 
 
18
 
19
  ```bash
20
  docker build -t aic-server .
21
+ docker run -p 8080:8080 \
22
+ -e DATABASE_URL="your_database_url_here" \
23
+ -e QDRANT_URL="http://localhost:6333" \
24
+ aic-server
25
  ```
26
 
27
  ---
 
32
 
33
  ```bash
34
  export DATABASE_URL="postgres://user:password@localhost:5432/db_name"
35
+ export QDRANT_URL="http://localhost:6334"
36
  ```
37
 
38
+ - `DATABASE_URL` PostgreSQL database connection string
39
+ - `QDRANT_URL` → Qdrant vector database endpoint (6333 for HTTP vs. 6334 for gRPC)
40
 
41
  ---
42
 
 
66
  - 🐳 Dockerized for easy deployment
67
  - 📚 Interactive Swagger UI
68
  - 🗄️ PostgreSQL database support
69
+ - 🔍 Qdrant vector database integration
70
 
71
  ---
72
 
src/controllers/v1/mod.rs CHANGED
@@ -3,10 +3,12 @@ use utoipa_axum::router::OpenApiRouter;
3
  use crate::models::states::AppState;
4
 
5
  mod keyframes;
 
6
  mod videos;
7
 
8
  pub fn router() -> OpenApiRouter<AppState> {
9
  OpenApiRouter::new()
10
  .nest("/keyframes", keyframes::router())
11
  .nest("/videos", videos::router())
 
12
  }
 
3
  use crate::models::states::AppState;
4
 
5
  mod keyframes;
6
+ mod vectors;
7
  mod videos;
8
 
9
  pub fn router() -> OpenApiRouter<AppState> {
10
  OpenApiRouter::new()
11
  .nest("/keyframes", keyframes::router())
12
  .nest("/videos", videos::router())
13
+ .nest("/vectors", vectors::router())
14
  }
src/controllers/v1/vectors/keyframes/mod.rs ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ use axum::{Json, extract::State, http::StatusCode};
2
+ use utoipa_axum::{router::OpenApiRouter, routes};
3
+
4
+ use crate::{
5
+ docs::OPENAPI_TAG,
6
+ models::{
7
+ dtos::vectors::keyframes::{VectorizedKeyframeDto, VectorizedKeyframeRequestDto},
8
+ states::AppState,
9
+ },
10
+ services::vectors::keyframes::VectorizedKeyframeService,
11
+ };
12
+
13
+ pub fn router() -> OpenApiRouter<AppState> {
14
+ OpenApiRouter::new().routes(routes!(find_nearest_top_k_by_text))
15
+ }
16
+
17
+ #[utoipa::path(
18
+ post,
19
+ path = "/searches",
20
+ tag = OPENAPI_TAG,
21
+ request_body = VectorizedKeyframeRequestDto,
22
+ responses(
23
+ (status = 200, description = "Top k documents nearest to prompt", body = Vec<VectorizedKeyframeDto>)
24
+ )
25
+ )]
26
+ async fn find_nearest_top_k_by_text(
27
+ State(state): State<AppState>,
28
+ Json(dto): Json<VectorizedKeyframeRequestDto>,
29
+ ) -> Result<Json<Vec<VectorizedKeyframeDto>>, StatusCode> {
30
+ let service = VectorizedKeyframeService::from(&state);
31
+ match service
32
+ .find_nearest_top_k_by_text(dto.prompt(), dto.top_k())
33
+ .await
34
+ .map(Json)
35
+ {
36
+ Ok(value) => Ok(value),
37
+ Err(e) => {
38
+ tracing::error!("{:?}", e);
39
+ Err(StatusCode::INTERNAL_SERVER_ERROR)
40
+ }
41
+ }
42
+ }
src/controllers/v1/vectors/mod.rs ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ use utoipa_axum::router::OpenApiRouter;
2
+
3
+ use crate::models::states::AppState;
4
+
5
+ mod keyframes;
6
+
7
+ pub fn router() -> OpenApiRouter<AppState> {
8
+ OpenApiRouter::new().nest("/keyframes", keyframes::router())
9
+ }
src/main.rs CHANGED
@@ -1,9 +1,20 @@
1
- use std::net::SocketAddr;
2
 
3
- use axum::http::Method;
 
 
 
 
 
4
  use tokio::net::TcpListener;
5
  use tower::ServiceBuilder;
6
- use tower_http::cors::{Any, CorsLayer};
 
 
 
 
 
 
7
  use utoipa::OpenApi;
8
  use utoipa_axum::router::OpenApiRouter;
9
  use utoipa_swagger_ui::SwaggerUi;
@@ -19,6 +30,21 @@ mod services;
19
 
20
  #[tokio::main]
21
  async fn main() -> anyhow::Result<()> {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
22
  let cors = CorsLayer::new()
23
  .allow_methods([Method::GET, Method::POST])
24
  .allow_origin(Any);
@@ -27,10 +53,49 @@ async fn main() -> anyhow::Result<()> {
27
  .nest("/api", controllers::router())
28
  .split_for_parts();
29
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30
  let app = router
31
  .merge(SwaggerUi::new("/swagger-ui").url("/api-docs/openapi.json", api.clone()))
 
32
  .layer(ServiceBuilder::new().layer(cors))
33
- .with_state(AppState::new()?);
34
 
35
  let listener = TcpListener::bind(SocketAddr::from(([127, 0, 0, 1], 8080))).await?;
36
 
 
1
+ use std::{net::SocketAddr, time::Duration};
2
 
3
+ use axum::{
4
+ body::Bytes,
5
+ extract::MatchedPath,
6
+ http::{HeaderMap, Method, Request},
7
+ response::Response,
8
+ };
9
  use tokio::net::TcpListener;
10
  use tower::ServiceBuilder;
11
+ use tower_http::{
12
+ classify::ServerErrorsFailureClass,
13
+ cors::{Any, CorsLayer},
14
+ trace::TraceLayer,
15
+ };
16
+ use tracing::{Span, info_span};
17
+ use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt};
18
  use utoipa::OpenApi;
19
  use utoipa_axum::router::OpenApiRouter;
20
  use utoipa_swagger_ui::SwaggerUi;
 
30
 
31
  #[tokio::main]
32
  async fn main() -> anyhow::Result<()> {
33
+ tracing_subscriber::registry()
34
+ .with(
35
+ tracing_subscriber::EnvFilter::try_from_default_env().unwrap_or_else(|_| {
36
+ // axum logs rejections from built-in extractors with the `axum::rejection`
37
+ // target, at `TRACE` level. `axum::rejection=trace` enables showing those events
38
+ format!(
39
+ "{}=debug,tower_http=debug,axum::rejection=trace",
40
+ env!("CARGO_CRATE_NAME")
41
+ )
42
+ .into()
43
+ }),
44
+ )
45
+ .with(tracing_subscriber::fmt::layer())
46
+ .init();
47
+
48
  let cors = CorsLayer::new()
49
  .allow_methods([Method::GET, Method::POST])
50
  .allow_origin(Any);
 
53
  .nest("/api", controllers::router())
54
  .split_for_parts();
55
 
56
+ let trace_layer = TraceLayer::new_for_http()
57
+ .make_span_with(|request: &Request<_>| {
58
+ // Log the matched route's path (with placeholders not filled in).
59
+ // Use request.uri() or OriginalUri if you want the real path.
60
+ let matched_path = request
61
+ .extensions()
62
+ .get::<MatchedPath>()
63
+ .map(MatchedPath::as_str);
64
+
65
+ info_span!(
66
+ "http_request",
67
+ method = ?request.method(),
68
+ matched_path,
69
+ some_other_field = tracing::field::Empty,
70
+ )
71
+ })
72
+ .on_request(|_request: &Request<_>, _span: &Span| {
73
+ // You can use `_span.record("some_other_field", value)` in one of these
74
+ // closures to attach a value to the initially empty field in the info_span
75
+ // created above.
76
+ })
77
+ .on_response(|_response: &Response, _latency: Duration, _span: &Span| {
78
+ // ...
79
+ })
80
+ .on_body_chunk(|_chunk: &Bytes, _latency: Duration, _span: &Span| {
81
+ // ...
82
+ })
83
+ .on_eos(
84
+ |_trailers: Option<&HeaderMap>, _stream_duration: Duration, _span: &Span| {
85
+ // ...
86
+ },
87
+ )
88
+ .on_failure(
89
+ |_error: ServerErrorsFailureClass, _latency: Duration, _span: &Span| {
90
+ // ...
91
+ },
92
+ );
93
+
94
  let app = router
95
  .merge(SwaggerUi::new("/swagger-ui").url("/api-docs/openapi.json", api.clone()))
96
+ .layer(trace_layer)
97
  .layer(ServiceBuilder::new().layer(cors))
98
+ .with_state(AppState::new().await?);
99
 
100
  let listener = TcpListener::bind(SocketAddr::from(([127, 0, 0, 1], 8080))).await?;
101
 
src/models/dtos/keyframes/mod.rs CHANGED
@@ -30,9 +30,3 @@ impl From<(VideoEntity, KeyframeEntity)> for KeyframeDto {
30
  Self::from((keyframe, video))
31
  }
32
  }
33
-
34
- #[derive(Debug, Clone, Copy, serde::Deserialize)]
35
- pub struct VectoredKeyframeDto {
36
- id: i64,
37
- score: f64,
38
- }
 
30
  Self::from((keyframe, video))
31
  }
32
  }
 
 
 
 
 
 
src/models/dtos/vectors/keyframes/mod.rs ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ use qdrant_client::qdrant::{ScoredPoint, point_id::PointIdOptions};
2
+
3
+ mod requests;
4
+
5
+ pub use requests::VectorizedKeyframeRequestDto;
6
+
7
+ #[derive(Debug, Clone, Copy, serde::Serialize, utoipa::ToSchema)]
8
+ pub struct VectorizedKeyframeDto {
9
+ id: u64,
10
+ score: f32,
11
+ }
12
+
13
+ impl TryFrom<ScoredPoint> for VectorizedKeyframeDto {
14
+ type Error = anyhow::Error;
15
+ fn try_from(value: ScoredPoint) -> Result<Self, Self::Error> {
16
+ Ok(Self {
17
+ id: value
18
+ .id
19
+ .and_then(|x| x.point_id_options)
20
+ .and_then(|x| {
21
+ if let PointIdOptions::Num(x) = x {
22
+ Some(x)
23
+ } else {
24
+ None
25
+ }
26
+ })
27
+ .ok_or_else(|| anyhow::anyhow!("scored point should have id"))?,
28
+ score: value.score,
29
+ })
30
+ }
31
+ }
src/models/dtos/vectors/keyframes/requests/mod.rs ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #[derive(Debug, Clone, serde::Deserialize, utoipa::ToSchema)]
2
+ pub struct VectorizedKeyframeRequestDto {
3
+ prompt: String,
4
+ top_k: u64,
5
+ }
6
+
7
+ impl VectorizedKeyframeRequestDto {
8
+ pub fn prompt(&self) -> &str {
9
+ &self.prompt
10
+ }
11
+
12
+ pub fn top_k(&self) -> u64 {
13
+ self.top_k
14
+ }
15
+ }
src/models/dtos/vectors/mod.rs ADDED
@@ -0,0 +1 @@
 
 
1
+ pub mod keyframes;
src/models/states/mod.rs CHANGED
@@ -1,48 +1,89 @@
1
  use std::sync::Arc;
2
 
 
 
 
 
 
3
  use deadpool_diesel::{
4
  Runtime,
5
  postgres::{Manager, Pool},
6
  };
 
7
  use qdrant_client::Qdrant;
 
 
 
8
 
9
  #[derive(Clone)]
10
  pub struct AppState {
 
11
  diesel_pool: Pool,
 
12
  qdrant_client: Arc<Qdrant>,
 
13
  }
14
 
15
  impl AppState {
16
- pub fn new() -> anyhow::Result<Self> {
 
 
 
17
  Ok(Self {
18
  diesel_pool: Self::diesel_pool_helper()?,
19
  qdrant_client: Self::qdrant_client_helper()?,
 
 
 
20
  })
21
  }
22
 
23
  fn diesel_pool_helper() -> anyhow::Result<Pool> {
24
- Pool::builder(Manager::new(
25
  std::env::var("DATABASE_URL")?,
26
  Runtime::Tokio1,
27
  ))
28
- .build()
29
- .map_err(Into::into)
30
  }
31
 
32
  fn qdrant_client_helper() -> anyhow::Result<Arc<Qdrant>> {
33
- Qdrant::from_url(&std::env::var("QDRANT_URL")?)
34
- .build()
35
- .map(Arc::new)
36
- .map_err(Into::into)
37
  }
38
- }
39
 
40
- impl AppState {
41
- pub fn pool(&self) -> &Pool {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
42
  &self.diesel_pool
43
  }
44
 
 
 
 
 
45
  pub fn qdrant_client(&self) -> &Qdrant {
46
  &self.qdrant_client
47
  }
 
 
 
 
48
  }
 
1
  use std::sync::Arc;
2
 
3
+ use candle_core::{DType, Device};
4
+ use candle_transformers::models::{
5
+ clip::{ClipConfig, ClipModel},
6
+ mimi::candle_nn::VarBuilder,
7
+ };
8
  use deadpool_diesel::{
9
  Runtime,
10
  postgres::{Manager, Pool},
11
  };
12
+ use hf_hub::api::tokio::ApiRepo;
13
  use qdrant_client::Qdrant;
14
+ use tokenizers::Tokenizer;
15
+
16
+ const MODEL_NAME: &str = "openai/clip-vit-base-patch32";
17
 
18
  #[derive(Clone)]
19
  pub struct AppState {
20
+ device: Arc<Device>,
21
  diesel_pool: Pool,
22
+ model: Arc<ClipModel>,
23
  qdrant_client: Arc<Qdrant>,
24
+ tokenizer: Arc<Tokenizer>,
25
  }
26
 
27
  impl AppState {
28
+ pub async fn new() -> anyhow::Result<Self> {
29
+ let api = hf_hub::api::tokio::Api::new()?.model(MODEL_NAME.to_owned());
30
+ let device = Device::cuda_if_available(0)?;
31
+
32
  Ok(Self {
33
  diesel_pool: Self::diesel_pool_helper()?,
34
  qdrant_client: Self::qdrant_client_helper()?,
35
+ model: Self::model_helper(&api, &device).await?,
36
+ tokenizer: Self::tokenizer_helper(&api).await?,
37
+ device: Arc::new(device),
38
  })
39
  }
40
 
41
  fn diesel_pool_helper() -> anyhow::Result<Pool> {
42
+ Ok(Pool::builder(Manager::new(
43
  std::env::var("DATABASE_URL")?,
44
  Runtime::Tokio1,
45
  ))
46
+ .build()?)
 
47
  }
48
 
49
  fn qdrant_client_helper() -> anyhow::Result<Arc<Qdrant>> {
50
+ Ok(Arc::new(
51
+ Qdrant::from_url(&std::env::var("QDRANT_URL")?).build()?,
52
+ ))
 
53
  }
 
54
 
55
+ async fn model_helper(api: &ApiRepo, device: &Device) -> anyhow::Result<Arc<ClipModel>> {
56
+ let model_path = api.get("pytorch_model.bin").await?;
57
+ let vb = VarBuilder::from_pth(model_path, DType::F32, device)?;
58
+ let config = ClipConfig::vit_base_patch32();
59
+
60
+ Ok(Arc::new(ClipModel::new(vb, &config)?))
61
+ }
62
+
63
+ async fn tokenizer_helper(api: &ApiRepo) -> anyhow::Result<Arc<Tokenizer>> {
64
+ let tokenizer_file = api.get("tokenizer.json").await?;
65
+ Ok(Arc::new(
66
+ Tokenizer::from_file(tokenizer_file).map_err(anyhow::Error::msg)?,
67
+ ))
68
+ }
69
+
70
+ pub fn device(&self) -> &Device {
71
+ &self.device
72
+ }
73
+
74
+ pub fn diesel_pool(&self) -> &Pool {
75
  &self.diesel_pool
76
  }
77
 
78
+ pub fn model(&self) -> &ClipModel {
79
+ &self.model
80
+ }
81
+
82
  pub fn qdrant_client(&self) -> &Qdrant {
83
  &self.qdrant_client
84
  }
85
+
86
+ pub fn tokenizer(&self) -> &Tokenizer {
87
+ &self.tokenizer
88
+ }
89
  }
src/services/keyframes/mod.rs CHANGED
@@ -12,7 +12,9 @@ pub struct KeyframeService<'a> {
12
 
13
  impl<'a> From<&'a AppState> for KeyframeService<'a> {
14
  fn from(value: &'a AppState) -> Self {
15
- Self { pool: value.pool() }
 
 
16
  }
17
  }
18
 
 
12
 
13
  impl<'a> From<&'a AppState> for KeyframeService<'a> {
14
  fn from(value: &'a AppState) -> Self {
15
+ Self {
16
+ pool: value.diesel_pool(),
17
+ }
18
  }
19
  }
20
 
src/services/mod.rs CHANGED
@@ -1,2 +1,3 @@
1
  pub mod keyframes;
 
2
  pub mod videos;
 
1
  pub mod keyframes;
2
+ pub mod vectors;
3
  pub mod videos;
src/services/vectors/keyframes/mod.rs ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ use candle_core::{Device, Tensor};
2
+ use candle_transformers::models::clip::ClipModel;
3
+ use qdrant_client::{Qdrant, qdrant::SearchPointsBuilder};
4
+ use rayon::iter::{IntoParallelIterator, ParallelIterator};
5
+ use tokenizers::Tokenizer;
6
+
7
+ use crate::models::{dtos::vectors::keyframes::VectorizedKeyframeDto, states::AppState};
8
+
9
+ #[derive(Clone, Copy)]
10
+ pub struct VectorizedKeyframeService<'a> {
11
+ client: &'a Qdrant,
12
+ device: &'a Device,
13
+ model: &'a ClipModel,
14
+ tokenizer: &'a Tokenizer,
15
+ }
16
+
17
+ impl<'a> From<&'a AppState> for VectorizedKeyframeService<'a> {
18
+ fn from(value: &'a AppState) -> Self {
19
+ Self {
20
+ model: value.model(),
21
+ tokenizer: value.tokenizer(),
22
+ device: value.device(),
23
+ client: value.qdrant_client(),
24
+ }
25
+ }
26
+ }
27
+
28
+ impl<'a> VectorizedKeyframeService<'a> {
29
+ fn embed_text(&self, text: &str) -> anyhow::Result<Tensor> {
30
+ let input_ids = {
31
+ let input_ids = self
32
+ .tokenizer
33
+ .encode_fast(text, true)
34
+ .map_err(anyhow::Error::msg)?;
35
+ Tensor::new(input_ids.get_ids(), self.device)?
36
+ };
37
+
38
+ Ok(self
39
+ .model
40
+ .get_text_features(&input_ids.unsqueeze(0)?)
41
+ .map(|x| x.squeeze(0))??)
42
+ }
43
+
44
+ pub async fn find_nearest_top_k_by_text(
45
+ &self,
46
+ text: &str,
47
+ top_k: u64,
48
+ ) -> anyhow::Result<Vec<VectorizedKeyframeDto>> {
49
+ let embeddings = self.embed_text(text)?;
50
+
51
+ let query_result = self
52
+ .client
53
+ .search_points(SearchPointsBuilder::new(
54
+ "keyframes",
55
+ embeddings.squeeze(0)?.to_vec1::<f32>()?,
56
+ top_k,
57
+ ))
58
+ .await?
59
+ .result;
60
+
61
+ query_result
62
+ .into_par_iter()
63
+ .map(VectorizedKeyframeDto::try_from)
64
+ .collect::<Result<_, _>>()
65
+ }
66
+ }
src/services/vectors/mod.rs ADDED
@@ -0,0 +1 @@
 
 
1
+ pub mod keyframes;
src/services/videos/mod.rs CHANGED
@@ -12,7 +12,9 @@ pub struct VideoService<'a> {
12
 
13
  impl<'a> From<&'a AppState> for VideoService<'a> {
14
  fn from(value: &'a AppState) -> Self {
15
- Self { pool: value.pool() }
 
 
16
  }
17
  }
18
 
@@ -25,6 +27,6 @@ impl<'a> VideoService<'a> {
25
  impl<'a> VideoService<'a> {
26
  pub async fn find_by_id(&self, id: i64) -> anyhow::Result<Option<VideoDto>> {
27
  let repository = VideoRepository::from(self);
28
- Ok(repository.find_by_id(id).await?.map(Into::into))
29
  }
30
  }
 
12
 
13
  impl<'a> From<&'a AppState> for VideoService<'a> {
14
  fn from(value: &'a AppState) -> Self {
15
+ Self {
16
+ pool: value.diesel_pool(),
17
+ }
18
  }
19
  }
20
 
 
27
  impl<'a> VideoService<'a> {
28
  pub async fn find_by_id(&self, id: i64) -> anyhow::Result<Option<VideoDto>> {
29
  let repository = VideoRepository::from(self);
30
+ Ok(repository.find_by_id(id).await?.map(VideoDto::from))
31
  }
32
  }