usearch 0.22.0 → 0.22.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/release.yml +12 -9
- package/Cargo.toml +1 -1
- package/README.md +36 -34
- package/conanfile.py +1 -1
- package/docs/golang/index.rst +1 -1
- package/docs/index.rst +3 -2
- package/docs/javascript/index.rst +1 -1
- package/docs/python/index.rst +1 -1
- package/docs/rust/index.rst +1 -1
- package/docs/swift/index.rst +1 -1
- package/javascript/README.md +9 -0
- package/package.json +1 -1
- package/wasm/README.md +13 -0
- package/wolfram/README.md +13 -0
|
@@ -271,11 +271,18 @@ jobs:
|
|
|
271
271
|
tags: ${{ steps.meta.outputs.tags }}
|
|
272
272
|
labels: ${{ steps.meta.outputs.labels }}
|
|
273
273
|
|
|
274
|
-
|
|
274
|
+
publish_wasm:
|
|
275
275
|
name: WASM Build
|
|
276
|
+
needs: versioning
|
|
276
277
|
runs-on: ubuntu-latest
|
|
278
|
+
permissions:
|
|
279
|
+
contents: read
|
|
280
|
+
packages: write
|
|
281
|
+
|
|
277
282
|
steps:
|
|
278
283
|
- uses: actions/checkout@v3
|
|
284
|
+
with:
|
|
285
|
+
ref: 'main'
|
|
279
286
|
- run: git submodule update --init --recursive
|
|
280
287
|
|
|
281
288
|
- name: Prepare WASM Environment
|
|
@@ -288,23 +295,19 @@ jobs:
|
|
|
288
295
|
./emsdk/emsdk activate latest && source ./emsdk/emsdk_env.sh
|
|
289
296
|
emcmake cmake -DUSEARCH_BUILD_TEST=0 -DUSEARCH_BUILD_BENCHMARK=0 -DUSEARCH_BUILD_WASM=1 -B ./build && emmake make -C ./build
|
|
290
297
|
|
|
291
|
-
- name:
|
|
298
|
+
- name: Trigger Wasmer.io CLI
|
|
292
299
|
run: |
|
|
293
300
|
curl https://get.wasmer.io -sSfL | sh
|
|
294
301
|
source ~/.wasmer/wasmer.sh
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
run: wasmer login --token "${{ secrets.WASMER_TOKEN }}"
|
|
298
|
-
|
|
299
|
-
- name: Publish binary to Wasmer.io
|
|
300
|
-
run: wasmer publish
|
|
302
|
+
wasmer login --token "${{ secrets.WASMER_TOKEN }}"
|
|
303
|
+
wasmer publish
|
|
301
304
|
|
|
302
305
|
|
|
303
306
|
build_docs:
|
|
304
307
|
name: Build Docs
|
|
305
308
|
runs-on: ubuntu-22.04
|
|
306
309
|
if: ${{ always() }}
|
|
307
|
-
needs: [publish_python, publish_javascript, publish_rust, publish_java, publish_swift, publish_docker]
|
|
310
|
+
needs: [publish_python, publish_javascript, publish_rust, publish_java, publish_swift, publish_docker, publish_wasm]
|
|
308
311
|
permissions:
|
|
309
312
|
contents: write
|
|
310
313
|
steps:
|
package/Cargo.toml
CHANGED
package/README.md
CHANGED
|
@@ -20,34 +20,35 @@ Vector Search Engine<br/>
|
|
|
20
20
|
<p align="center">
|
|
21
21
|
Euclidean • Angular • Jaccard • Hamming • Haversine • User-Defined Metrics
|
|
22
22
|
<br/>
|
|
23
|
-
<a href="
|
|
24
|
-
<a href="
|
|
25
|
-
<a href="
|
|
26
|
-
<a href="
|
|
27
|
-
<a href="
|
|
28
|
-
<a href="
|
|
29
|
-
<a href="
|
|
30
|
-
<a href="
|
|
31
|
-
<a href="
|
|
23
|
+
<a href="https://unum-cloud.github.io/usearch/cpp">C++11</a> •
|
|
24
|
+
<a href="https://unum-cloud.github.io/usearch/python">Python</a> •
|
|
25
|
+
<a href="https://unum-cloud.github.io/usearch/javascript">JavaScript</a> •
|
|
26
|
+
<a href="https://unum-cloud.github.io/usearch/java">Java</a> •
|
|
27
|
+
<a href="https://unum-cloud.github.io/usearch/rust">Rust</a> •
|
|
28
|
+
<a href="https://unum-cloud.github.io/usearch/c">C99</a> •
|
|
29
|
+
<a href="https://unum-cloud.github.io/usearch/objective-c">Objective-C</a> •
|
|
30
|
+
<a href="https://unum-cloud.github.io/usearch/swift">Swift</a> •
|
|
31
|
+
<a href="https://unum-cloud.github.io/usearch/golang">GoLang</a> •
|
|
32
|
+
<a href="https://unum-cloud.github.io/usearch/wolfram">Wolfram</a>
|
|
32
33
|
<br/>
|
|
33
|
-
Linux • MacOS • Windows • Docker • WebAssembly
|
|
34
|
+
Linux • MacOS • Windows • Docker • WebAssembly
|
|
34
35
|
</p>
|
|
35
36
|
|
|
36
37
|
---
|
|
37
38
|
|
|
38
|
-
-
|
|
39
|
-
-
|
|
40
|
-
-
|
|
41
|
-
-
|
|
42
|
-
-
|
|
43
|
-
-
|
|
44
|
-
-
|
|
45
|
-
-
|
|
46
|
-
-
|
|
47
|
-
-
|
|
48
|
-
-
|
|
49
|
-
-
|
|
50
|
-
-
|
|
39
|
+
- ✅ Benchmark-topping performance.
|
|
40
|
+
- ✅ Simple and extensible [single C++11 header][usearch-header] implementation.
|
|
41
|
+
- ✅ SIMD-optimized and [user-defined metrics](#user-defined-functions) with JIT-compilation.
|
|
42
|
+
- ✅ Variable dimensionality vectors for unique applications, including GIS and Chess.
|
|
43
|
+
- ✅ Advanced bitwise Tanimoto and Sorensen coefficients ideal for Genomics and Chemistry.
|
|
44
|
+
- ✅ On-the-fly support for [half-precision `f16` and quarter-precision `f8`](#memory-efficiency-downcasting-and-quantization), compatible with any hardware.
|
|
45
|
+
- ✅ [View large indexes from disk](#disk-based-indexes) without loading into RAM.
|
|
46
|
+
- ✅ Space-efficient point-clouds with `uint40_t`, accommodating 4B+ size.
|
|
47
|
+
- ✅ Optimized for concurrent threading, like OpenMP or C++23 executors with bring your threads.
|
|
48
|
+
- ✅ Support for multiple vectors per label.
|
|
49
|
+
- ✅ On-the-fly deletions.
|
|
50
|
+
- ✅ Utilize [USearch and UForm Transformers for Semantic Search](#usearch--ai--multi-modal-semantic-search).
|
|
51
|
+
- ✅ Combine [USearch and RDKit for Molecule Search](#usearch--rdkit--molecular-search).
|
|
51
52
|
|
|
52
53
|
[usearch-header]: https://github.com/unum-cloud/usearch/blob/main/include/usearch/index.hpp
|
|
53
54
|
[obscure-use-cases]: https://ashvardanian.com/posts/abusing-vector-search
|
|
@@ -153,9 +154,7 @@ This can result in **20x costs reduction** on AWS and other public clouds.
|
|
|
153
154
|
```py
|
|
154
155
|
index.save("index.usearch")
|
|
155
156
|
|
|
156
|
-
direct_copy = index.copy()
|
|
157
157
|
loaded_copy = index.load("index.usearch")
|
|
158
|
-
|
|
159
158
|
view = Index.restore("index.usearch", view=True)
|
|
160
159
|
|
|
161
160
|
other_view = Index(ndim=..., metric=CompiledMetric(...))
|
|
@@ -234,16 +233,19 @@ server.run()
|
|
|
234
233
|
|
|
235
234
|
We have pre-processed some commonly used datasets, cleaning the images, producing the vectors, and pre-building the index.
|
|
236
235
|
|
|
237
|
-
| Dataset
|
|
238
|
-
|
|
|
239
|
-
| [Unsplash 25K][unsplash-25k-origin]
|
|
240
|
-
| [
|
|
236
|
+
| Dataset | Modalities | Images | Download |
|
|
237
|
+
| :------------------------------------- | --------------------: | -----: | ------------------------------------: |
|
|
238
|
+
| [Unsplash 25K][unsplash-25k-origin] | Images & Descriptions | 25 K | [HuggingFace / Unum][unsplash-25k-hf] |
|
|
239
|
+
| [Conceptual Captions 3M][cc-3m-origin] | Images & Descriptions | 3 M | [HuggingFace / Unum][cc-3m-hf] |
|
|
240
|
+
| [Arxiv 2M][arxiv-2m-origin] | Titles & Abstracts | 2 M | [HuggingFace / Unum][arxiv-2m-hf] |
|
|
241
241
|
|
|
242
|
+
[unsplash-25k-origin]: https://github.com/unsplash/datasets
|
|
243
|
+
[cc-3m-origin]: https://huggingface.co/datasets/conceptual_captions
|
|
244
|
+
[arxiv-2m-origin]: https://www.kaggle.com/datasets/Cornell-University/arxiv
|
|
242
245
|
|
|
243
|
-
[unsplash-25k-
|
|
244
|
-
[cc-3m-
|
|
245
|
-
[
|
|
246
|
-
[cc-3m-hf]: https://unum.cloud
|
|
246
|
+
[unsplash-25k-hf]: https://huggingface.co/datasets/unum-cloud/ann-unsplash-25k
|
|
247
|
+
[cc-3m-hf]: https://huggingface.co/datasets/unum-cloud/ann-cc-3m
|
|
248
|
+
[arxiv-2m-hf]: https://huggingface.co/datasets/unum-cloud/ann-arxiv-2m
|
|
247
249
|
|
|
248
250
|
### USearch + RDKit = Molecular Search
|
|
249
251
|
|
|
@@ -286,7 +288,7 @@ matches = index.search(fingerprints, 10)
|
|
|
286
288
|
## Integrations
|
|
287
289
|
|
|
288
290
|
- [x] GPT-Cache.
|
|
289
|
-
- [ ]
|
|
291
|
+
- [ ] LangChain.
|
|
290
292
|
- [ ] Microsoft Semantic Kernel.
|
|
291
293
|
- [ ] PyTorch.
|
|
292
294
|
|
package/conanfile.py
CHANGED
|
@@ -4,7 +4,7 @@ from conans import ConanFile
|
|
|
4
4
|
class USearchConan(ConanFile):
|
|
5
5
|
|
|
6
6
|
name = 'USearch'
|
|
7
|
-
version = '0.22.
|
|
7
|
+
version = '0.22.1'
|
|
8
8
|
license = 'Apache 2.0'
|
|
9
9
|
url = 'https://github.com/unum-cloud/usearch'
|
|
10
10
|
description = 'Smaller & Faster Single-File Vector Search Engine from Unum'
|
package/docs/golang/index.rst
CHANGED
package/docs/index.rst
CHANGED
package/docs/python/index.rst
CHANGED
package/docs/rust/index.rst
CHANGED
package/docs/swift/index.rst
CHANGED
package/javascript/README.md
CHANGED
|
@@ -2,10 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
## Installation
|
|
4
4
|
|
|
5
|
+
USearch is available both for Node.js backend runtime and WASM frontend runtime.
|
|
6
|
+
For first use the conventional `npm install`:
|
|
7
|
+
|
|
5
8
|
```sh
|
|
6
9
|
npm install usearch
|
|
7
10
|
```
|
|
8
11
|
|
|
12
|
+
For latter:
|
|
13
|
+
|
|
14
|
+
```sh
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
|
|
9
18
|
## Quickstart
|
|
10
19
|
|
|
11
20
|
```js
|
package/package.json
CHANGED
package/wasm/README.md
ADDED