From 2b2b094a5ae8e0007a83032a4d01bee456b6afcb Mon Sep 17 00:00:00 2001 From: Ash Vardanian <1983160+ashvardanian@users.noreply.github.com> Date: Wed, 19 Jul 2023 18:11:07 +0400 Subject: [PATCH 1/3] Docs: Dataset links --- README.md | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index e7cff16a..2f51fd73 100644 --- a/README.md +++ b/README.md @@ -153,9 +153,7 @@ This can result in **20x costs reduction** on AWS and other public clouds. ```py index.save("index.usearch") -direct_copy = index.copy() loaded_copy = index.load("index.usearch") - view = Index.restore("index.usearch", view=True) other_view = Index(ndim=..., metric=CompiledMetric(...)) @@ -234,16 +232,19 @@ server.run() We have pre-processed some commonly used datasets, cleaning the images, producing the vectors, and pre-building the index. -| Dataset | Size | Images | Preprocessed | -| :----------------------------------- | ---: | -----: | --------------------: | -| [Unsplash 25K][unsplash-25k-origin] | - | 25 K | [HF][unsplash-25k-hf] | -| [Createve Captions 3M][cc-3m-origin] | - | 3 M | [HF][cc-3m-hf] | +| Dataset | Modalities | Images | Download | +| :------------------------------------- | --------------------: | -----: | ------------------------------------: | +| [Unsplash 25K][unsplash-25k-origin] | Images & Descriptions | 25 K | [HuggingFace / Unum][unsplash-25k-hf] | +| [Conceptual Captions 3M][cc-3m-origin] | Images & Descriptions | 3 M | [HuggingFace / Unum][cc-3m-hf] | +| [Arxiv 2M][arxiv-2m-origin] | Titles & Abstracts | 2 M | [HuggingFace / Unum][arxiv-2m-hf] | +[unsplash-25k-origin]: https://github.com/unsplash/datasets +[cc-3m-origin]: https://huggingface.co/datasets/conceptual_captions +[arxiv-2m-origin]: https://www.kaggle.com/datasets/Cornell-University/arxiv -[unsplash-25k-origin]: https://unum.cloud -[cc-3m-origin]: https://unum.cloud -[unsplash-25k-hf]: https://unum.cloud -[cc-3m-hf]: https://unum.cloud +[unsplash-25k-hf]: https://huggingface.co/datasets/unum-cloud/ann-unsplash-25k +[cc-3m-hf]: https://huggingface.co/datasets/unum-cloud/ann-cc-3m +[arxiv-2m-hf]: https://huggingface.co/datasets/unum-cloud/ann-arxiv-2m ### USearch + RDKit = Molecular Search From 7a9a8c4d2361a713b67283e3051267b5c4ed7509 Mon Sep 17 00:00:00 2001 From: Ash Vardanian <1983160+ashvardanian@users.noreply.github.com> Date: Wed, 19 Jul 2023 18:11:18 +0400 Subject: [PATCH 2/3] Make: WASMer publish script --- .github/workflows/release.yml | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e6236de6..8a4e8c12 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -271,11 +271,18 @@ jobs: tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} - build_publish_wasm: + publish_wasm: name: WASM Build + needs: versioning runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: - uses: actions/checkout@v3 + with: + ref: 'main' - run: git submodule update --init --recursive - name: Prepare WASM Environment @@ -288,23 +295,19 @@ jobs: ./emsdk/emsdk activate latest && source ./emsdk/emsdk_env.sh emcmake cmake -DUSEARCH_BUILD_TEST=0 -DUSEARCH_BUILD_BENCHMARK=0 -DUSEARCH_BUILD_WASM=1 -B ./build && emmake make -C ./build - - name: Install wasmer cli + - name: Trigger Wasmer.io CLI run: | curl https://get.wasmer.io -sSfL | sh source ~/.wasmer/wasmer.sh - - - name: Login Wasmer.io - run: wasmer login --token "${{ secrets.WASMER_TOKEN }}" - - - name: Publish binary to Wasmer.io - run: wasmer publish + wasmer login --token "${{ secrets.WASMER_TOKEN }}" + wasmer publish build_docs: name: Build Docs runs-on: ubuntu-22.04 if: ${{ always() }} - needs: [publish_python, publish_javascript, publish_rust, publish_java, publish_swift, publish_docker] + needs: [publish_python, publish_javascript, publish_rust, publish_java, publish_swift, publish_docker, publish_wasmer] permissions: contents: write steps: From ad507171ee0790a17274095a0f319f2c3a05e2f6 Mon Sep 17 00:00:00 2001 From: Ash Vardanian <1983160+ashvardanian@users.noreply.github.com> Date: Wed, 19 Jul 2023 19:19:21 +0400 Subject: [PATCH 3/3] Make: Fix documentation build path --- README.md | 49 ++++++++++++++++++++------------------- docs/golang/index.rst | 2 +- docs/index.rst | 5 ++-- docs/javascript/index.rst | 2 +- docs/python/index.rst | 2 +- docs/rust/index.rst | 2 +- docs/swift/index.rst | 2 +- javascript/README.md | 9 +++++++ wasm/README.md | 13 +++++++++++ wolfram/README.md | 13 +++++++++++ 10 files changed, 68 insertions(+), 31 deletions(-) create mode 100644 wasm/README.md create mode 100644 wolfram/README.md diff --git a/README.md b/README.md index 2f51fd73..b7709019 100644 --- a/README.md +++ b/README.md @@ -20,34 +20,35 @@ Vector Search Engine

Euclidean • Angular • Jaccard • Hamming • Haversine • User-Defined Metrics
-C++11 • -Python • -JavaScript • -Java • -Rust • -Objective-C • -Swift • -GoLang • -Wolfram +C++11 • +Python • +JavaScript • +Java • +Rust • +C99 • +Objective-C • +Swift • +GoLang • +Wolfram
-Linux • MacOS • Windows • Docker • WebAssembly 🔜 +Linux • MacOS • Windows • Docker • WebAssembly

--- -- [x] Benchmark-topping performance. -- [x] Simple and extensible [single C++11 header][usearch-header] implementation. -- [x] SIMD-optimized and [user-defined metrics](#user-defined-functions) with JIT-compilation. -- [x] Variable dimensionality vectors for unique applications, including GIS and Chess. -- [x] Advanced bitwise Tanimoto and Sorensen coefficients ideal for Genomics and Chemistry. -- [x] On-the-fly support for [half-precision `f16` and quarter-precision `f8`](#memory-efficiency-downcasting-and-quantization), compatible with any hardware. -- [x] [View large indexes from disk](#disk-based-indexes) without loading into RAM. -- [x] Space-efficient point-clouds with `uint40_t`, accommodating 4B+ size. -- [x] Optimized for concurrent threading, like OpenMP or C++23 executors with bring your threads. -- [x] Support for multiple vectors per label. -- [ ] On-the-fly deletions. -- [x] Utilize [USearch and UForm Transformers for Semantic Search](#usearch--ai--multi-modal-semantic-search). -- [x] Combine [USearch and RDKit for Molecule Search](#usearch--rdkit--molecular-search). +- ✅ Benchmark-topping performance. +- ✅ Simple and extensible [single C++11 header][usearch-header] implementation. +- ✅ SIMD-optimized and [user-defined metrics](#user-defined-functions) with JIT-compilation. +- ✅ Variable dimensionality vectors for unique applications, including GIS and Chess. +- ✅ Advanced bitwise Tanimoto and Sorensen coefficients ideal for Genomics and Chemistry. +- ✅ On-the-fly support for [half-precision `f16` and quarter-precision `f8`](#memory-efficiency-downcasting-and-quantization), compatible with any hardware. +- ✅ [View large indexes from disk](#disk-based-indexes) without loading into RAM. +- ✅ Space-efficient point-clouds with `uint40_t`, accommodating 4B+ size. +- ✅ Optimized for concurrent threading, like OpenMP or C++23 executors with bring your threads. +- ✅ Support for multiple vectors per label. +- ✅ On-the-fly deletions. +- ✅ Utilize [USearch and UForm Transformers for Semantic Search](#usearch--ai--multi-modal-semantic-search). +- ✅ Combine [USearch and RDKit for Molecule Search](#usearch--rdkit--molecular-search). [usearch-header]: https://github.com/unum-cloud/usearch/blob/main/include/usearch/index.hpp [obscure-use-cases]: https://ashvardanian.com/posts/abusing-vector-search @@ -287,7 +288,7 @@ matches = index.search(fingerprints, 10) ## Integrations - [x] GPT-Cache. -- [ ] Langchain. +- [ ] LangChain. - [ ] Microsoft Semantic Kernel. - [ ] PyTorch. diff --git a/docs/golang/index.rst b/docs/golang/index.rst index a5c3d897..c75900e3 100644 --- a/docs/golang/index.rst +++ b/docs/golang/index.rst @@ -3,4 +3,4 @@ GoLang SDK ============== -.. mdinclude:: ../golang/README.md +.. mdinclude:: ../../golang/README.md diff --git a/docs/index.rst b/docs/index.rst index 21c2f306..8cf632c2 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -16,12 +16,13 @@ Overview cpp/index python/index - java/index javascript/index + java/index rust/index - swift/index c/index + swift/index golang/index + wolfram/index .. toctree:: :hidden: diff --git a/docs/javascript/index.rst b/docs/javascript/index.rst index 35f3ed20..e3bf3660 100644 --- a/docs/javascript/index.rst +++ b/docs/javascript/index.rst @@ -3,7 +3,7 @@ JavaScript SDK ============== -.. mdinclude:: ../javascript/README.md +.. mdinclude:: ../../javascript/README.md .. toctree:: :hidden: diff --git a/docs/python/index.rst b/docs/python/index.rst index 4e9643b4..6b9877f3 100644 --- a/docs/python/index.rst +++ b/docs/python/index.rst @@ -3,7 +3,7 @@ Python SDK ============== -.. mdinclude:: ../python/README.md +.. mdinclude:: ../../python/README.md .. toctree:: :hidden: diff --git a/docs/rust/index.rst b/docs/rust/index.rst index f3e83461..4167907f 100644 --- a/docs/rust/index.rst +++ b/docs/rust/index.rst @@ -3,4 +3,4 @@ Rust SDK ============== -.. mdinclude:: ../rust/README.md +.. mdinclude:: ../../rust/README.md diff --git a/docs/swift/index.rst b/docs/swift/index.rst index 3875b035..bf2df45e 100644 --- a/docs/swift/index.rst +++ b/docs/swift/index.rst @@ -3,4 +3,4 @@ Swift SDK ============== -.. mdinclude:: ../swift/README.md +.. mdinclude:: ../../swift/README.md diff --git a/javascript/README.md b/javascript/README.md index 99212103..23e79e1e 100644 --- a/javascript/README.md +++ b/javascript/README.md @@ -2,10 +2,19 @@ ## Installation +USearch is available both for Node.js backend runtime and WASM frontend runtime. +For first use the conventional `npm install`: + ```sh npm install usearch ``` +For latter: + +```sh + +``` + ## Quickstart ```js diff --git a/wasm/README.md b/wasm/README.md new file mode 100644 index 00000000..5dce0cce --- /dev/null +++ b/wasm/README.md @@ -0,0 +1,13 @@ +# USearch for WebAssembly + +## Installation + +```txt +https://github.com/unum-cloud/usearch +``` + +## Quickstart + +```wolfram + +``` diff --git a/wolfram/README.md b/wolfram/README.md new file mode 100644 index 00000000..353b6ba9 --- /dev/null +++ b/wolfram/README.md @@ -0,0 +1,13 @@ +# USearch for Wolfram + +## Installation + +```txt +https://github.com/unum-cloud/usearch +``` + +## Quickstart + +```wolfram + +```