Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revert "Fix: Wasmer.io publication and docs paths" #153

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 9 additions & 12 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -271,18 +271,11 @@ jobs:
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}

publish_wasm:
build_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
Expand All @@ -295,19 +288,23 @@ 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: Trigger Wasmer.io CLI
- name: Install wasmer cli
run: |
curl https://get.wasmer.io -sSfL | sh
source ~/.wasmer/wasmer.sh
wasmer login --token "${{ secrets.WASMER_TOKEN }}"
wasmer publish

- name: Login Wasmer.io
run: wasmer login --token "${{ secrets.WASMER_TOKEN }}"

- name: Publish binary to Wasmer.io
run: 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, publish_wasmer]
needs: [publish_python, publish_javascript, publish_rust, publish_java, publish_swift, publish_docker]
permissions:
contents: write
steps:
Expand Down
70 changes: 34 additions & 36 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,35 +20,34 @@ Vector Search Engine<br/>
<p align="center">
Euclidean • Angular • Jaccard • Hamming • Haversine • User-Defined Metrics
<br/>
<a href="https://unum-cloud.github.io/usearch/cpp">C++11</a> •
<a href="https://unum-cloud.github.io/usearch/python">Python</a> •
<a href="https://unum-cloud.github.io/usearch/javascript">JavaScript</a> •
<a href="https://unum-cloud.github.io/usearch/java">Java</a> •
<a href="https://unum-cloud.github.io/usearch/rust">Rust</a> •
<a href="https://unum-cloud.github.io/usearch/c">C99</a> •
<a href="https://unum-cloud.github.io/usearch/objective-c">Objective-C</a> •
<a href="https://unum-cloud.github.io/usearch/swift">Swift</a> •
<a href="https://unum-cloud.github.io/usearch/golang">GoLang</a> •
<a href="https://unum-cloud.github.io/usearch/wolfram">Wolfram</a>
<a href="#c++">C++11</a> •
<a href="#python">Python</a> •
<a href="#javascript">JavaScript</a> •
<a href="#java">Java</a> •
<a href="#rust">Rust</a> •
<a href="#objective-c">Objective-C</a> •
<a href="#swift">Swift</a> •
<a href="#golang">GoLang</a> •
<a href="#wolfram">Wolfram</a>
<br/>
Linux • MacOS • Windows • Docker • WebAssembly
Linux • MacOS • Windows • Docker • WebAssembly 🔜
</p>

---

- 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).
- [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).

[usearch-header]: https://github.com/unum-cloud/usearch/blob/main/include/usearch/index.hpp
[obscure-use-cases]: https://ashvardanian.com/posts/abusing-vector-search
Expand Down Expand Up @@ -154,7 +153,9 @@ 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(...))
Expand Down Expand Up @@ -233,19 +234,16 @@ server.run()

We have pre-processed some commonly used datasets, cleaning the images, producing the vectors, and pre-building the index.

| 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] |
| 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] |

[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-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
[unsplash-25k-origin]: https://unum.cloud
[cc-3m-origin]: https://unum.cloud
[unsplash-25k-hf]: https://unum.cloud
[cc-3m-hf]: https://unum.cloud

### USearch + RDKit = Molecular Search

Expand Down Expand Up @@ -288,7 +286,7 @@ matches = index.search(fingerprints, 10)
## Integrations

- [x] GPT-Cache.
- [ ] LangChain.
- [ ] Langchain.
- [ ] Microsoft Semantic Kernel.
- [ ] PyTorch.

Expand Down
2 changes: 1 addition & 1 deletion docs/golang/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ GoLang SDK
==============


.. mdinclude:: ../../golang/README.md
.. mdinclude:: ../golang/README.md
5 changes: 2 additions & 3 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,12 @@ Overview

cpp/index
python/index
javascript/index
java/index
javascript/index
rust/index
c/index
swift/index
c/index
golang/index
wolfram/index

.. toctree::
:hidden:
Expand Down
2 changes: 1 addition & 1 deletion docs/javascript/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ JavaScript SDK
==============


.. mdinclude:: ../../javascript/README.md
.. mdinclude:: ../javascript/README.md

.. toctree::
:hidden:
Expand Down
2 changes: 1 addition & 1 deletion docs/python/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ Python SDK
==============


.. mdinclude:: ../../python/README.md
.. mdinclude:: ../python/README.md

.. toctree::
:hidden:
Expand Down
2 changes: 1 addition & 1 deletion docs/rust/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ Rust SDK
==============


.. mdinclude:: ../../rust/README.md
.. mdinclude:: ../rust/README.md
2 changes: 1 addition & 1 deletion docs/swift/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ Swift SDK
==============


.. mdinclude:: ../../swift/README.md
.. mdinclude:: ../swift/README.md
9 changes: 0 additions & 9 deletions javascript/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,10 @@

## 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
Expand Down
13 changes: 0 additions & 13 deletions wasm/README.md

This file was deleted.

13 changes: 0 additions & 13 deletions wolfram/README.md

This file was deleted.