# RSvIDX
## Vector indexing system
### Vector indexing
**RSvIDX can be used for general purpose vector indexing and similarity search. Applications include:**
- Semantic search
- Document deduplication
- Recommendation
- Classification
- Image search
- Reverse image search
- Audio similarity (like Shazam)
- Q&A
### Features
- fast and efficient math library
- optimised persistant operations (you now no longer need to explicitly save the index as this is scheduled automatically)
- better in-memory performance compaired to RSvIDX_v3
- no dependencies (new build size is 98% smaller)
- Usable in C with bindings in Python3
- No intermideate C bindings
### Example:
Try out https://apps.apple.com/gb/app/headlines-today/id1363257410 on the App Store for a semantic search example.
# Installation
(For Python3)
```
pip3 install rsvidx
```
# Usage
(For Python3)
***Create an index***
You can finetune number of buckets to your use case. Less buckets results in higher accuracy but more items to brute force search. Less buckets results in lower accuracy but fewer items to brute force search.
```python3
import rsvidx
file_name = "test.index"
number_of_buckets = 8
dimensions = 4
index = rsvidx.Similarity(file_name, number_of_buckets, dimensions)
```
***Add item to index***
```python3
add_vector = [1,2,3,4]
add_uid = "1234"
index.add(add_vector, add_uid)
```
***Get items from index***
This will get items that are similar to the get vector
```python3
get_vector = [1,2,3,4]
results = index.get(get_vector)
```
***Remove items from index***
```python3
remove_uid = "1234"
index.remove(remove_uid)
```
Raw data
{
"_id": null,
"home_page": "https://github.com/RubenSystems/RSvIDX",
"name": "rsvidx",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "ml,vector,semantic search,vector indexer,similarity search",
"author": "RubenSystems. Ruben Ticehurst-James.",
"author_email": "Ruben Ticehurst James <ruben@rubensystems.com>",
"download_url": "https://files.pythonhosted.org/packages/cc/25/da07a70f1b7927a0443e92e3760ac4a5aa149d037a61780547c54f74209e/rsvidx-0.3.0.tar.gz",
"platform": null,
"description": "# RSvIDX\n\n## Vector indexing system\n\n### Vector indexing\n\n**RSvIDX can be used for general purpose vector indexing and similarity search. Applications include:**\n\n- Semantic search\n- Document deduplication\n- Recommendation\n- Classification\n- Image search\n- Reverse image search\n- Audio similarity (like Shazam)\n- Q&A\n\n\n### Features\n- fast and efficient math library\n- optimised persistant operations (you now no longer need to explicitly save the index as this is scheduled automatically)\n- better in-memory performance compaired to RSvIDX_v3\n- no dependencies (new build size is 98% smaller)\n- Usable in C with bindings in Python3\n- No intermideate C bindings\n\n\n### Example:\n\nTry out https://apps.apple.com/gb/app/headlines-today/id1363257410 on the App Store for a semantic search example.\n\n\n# Installation\n(For Python3)\n\n```\npip3 install rsvidx\n```\n\n\n# Usage\n(For Python3)\n\n***Create an index***\nYou can finetune number of buckets to your use case. Less buckets results in higher accuracy but more items to brute force search. Less buckets results in lower accuracy but fewer items to brute force search.\n```python3 \nimport rsvidx\nfile_name = \"test.index\"\nnumber_of_buckets = 8\ndimensions = 4\nindex = rsvidx.Similarity(file_name, number_of_buckets, dimensions)\n```\n\n\n\n***Add item to index***\n```python3\nadd_vector = [1,2,3,4]\nadd_uid = \"1234\"\nindex.add(add_vector, add_uid)\n```\n\n\n\n***Get items from index***\n\nThis will get items that are similar to the get vector\n```python3\nget_vector = [1,2,3,4]\nresults = index.get(get_vector)\n```\n\n\n\n***Remove items from index***\n```python3 \nremove_uid = \"1234\"\nindex.remove(remove_uid)\n```\n\n\n\n",
"bugtrack_url": null,
"license": "",
"summary": "Vector indexer",
"version": "0.3.0",
"split_keywords": [
"ml",
"vector",
"semantic search",
"vector indexer",
"similarity search"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "86bd88dde5258c5004f256da248c53a2fb07b3b28fc3abe82a8be7ecd2b9b3b6",
"md5": "e8e5d3a61037fc7c2e758d2b12e9709f",
"sha256": "ed4af795f36b6a68093eb042aa41058d7822428e3acbe19e4be2fe8790095f92"
},
"downloads": -1,
"filename": "rsvidx-0.3.0-cp310-cp310-macosx_10_9_universal2.whl",
"has_sig": false,
"md5_digest": "e8e5d3a61037fc7c2e758d2b12e9709f",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 32141,
"upload_time": "2023-03-16T09:22:01",
"upload_time_iso_8601": "2023-03-16T09:22:01.810196Z",
"url": "https://files.pythonhosted.org/packages/86/bd/88dde5258c5004f256da248c53a2fb07b3b28fc3abe82a8be7ecd2b9b3b6/rsvidx-0.3.0-cp310-cp310-macosx_10_9_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "cc25da07a70f1b7927a0443e92e3760ac4a5aa149d037a61780547c54f74209e",
"md5": "4963fdcf6caefb8395e1be05636e06a5",
"sha256": "f905c9e2ae258b1f018e61d86b5bfe2378d55e85eeefe22bd657cb66f5c3b3ba"
},
"downloads": -1,
"filename": "rsvidx-0.3.0.tar.gz",
"has_sig": false,
"md5_digest": "4963fdcf6caefb8395e1be05636e06a5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 24294,
"upload_time": "2023-03-16T09:22:03",
"upload_time_iso_8601": "2023-03-16T09:22:03.920348Z",
"url": "https://files.pythonhosted.org/packages/cc/25/da07a70f1b7927a0443e92e3760ac4a5aa149d037a61780547c54f74209e/rsvidx-0.3.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-03-16 09:22:03",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "RubenSystems",
"github_project": "RSvIDX",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [],
"lcname": "rsvidx"
}