No project description provided
Project description
For guides and tutorials on how to use this package, visit https://docs.relevance.ai/docs.
🔥 Features
- Fast vector search with free dashboard to preview and visualise results
- Vector clustering with support for libraries like scikit-learn and easy built-in customisation
- Store nested documents with support for multiple vectors and metadata in one object
- Multi-vector search with filtering, facets, weighting
- Hybrid search with support for weighting keyword matching and vector search ... and more!
🧠 Documentation
API type | Link |
---|---|
Guides | Documentation |
Python Reference | Documentation |
You can easily access our documentation while using the SDK using:
from relevanceai import Client
client = Client()
# Easy one line of code to access our docs
client.docs
🛠️ Installation
Using pip:
pip install -U relevanceai
Using conda:
conda install -c relevance relevanceai
⏩ Quickstart
Login into your project space
from relevanceai import Client
client = Client(<project_name>, <api_key>)
Prepare your documents for insertion by following the below format:
- Each document should be a dictionary
- Include a field
_id
as a primary key, otherwise it's automatically generated - Suffix vector fields with
_vector_
docs = [
{"_id": "1", "example_vector_": [0.1, 0.1, 0.1], "data": "Documentation"},
{"_id": "2", "example_vector_": [0.2, 0.2, 0.2], "data": "Best document!"},
{"_id": "3", "example_vector_": [0.3, 0.3, 0.3], "data": "document example"},
{"_id": "4", "example_vector_": [0.4, 0.4, 0.4], "data": "this is another doc"},
{"_id": "5", "example_vector_": [0.5, 0.5, 0.5], "data": "this is a doc"},
]
Insert data into a dataset
Create a dataset object with the name of the dataset you'd like to use. If it doesn't exist, it'll be created for you.
Quick tip! Our Dataset object is compatible with common dataframes methods like
.head()
,.shape()
and.info()
.
ds = client.Dataset("quickstart")
ds.insert_documents(docs)
Perform vector search
results = ds.vector_search(
multivector_query=[{"vector": [0.2, 0.2, 0.2], "fields": ["example_vector_"]}],
page_size=3,
query="sample search" # optional, name to display in dashboard
)
Cluster dataset with Auto Cluster
Generate 12 clusters using kmeans
clusterop = ds.auto_cluster("kmeans-12", vector_fields=["example_vector_"])
clusterop.list_closest_to_center()
Quick tip! After each of these steps, the output will provide a URL to the Relevance AI dashboard where you can see a visualisation of your results
🚧 Development
Getting Started
To get started with development, ensure you have pytest and mypy installed. These will help ensure typechecking and testing.
python -m pip install pytest mypy
Then run testing using:
Don't forget to set your test credentials!
export TEST_PROJECT = xxx
export TEST_API_KEY = xxx
python -m pytest
mypy relevanceai
Set up precommit
pip install precommit
pre-commit install
🧰 Config
The config object contains the adjustable global settings for the SDK. For a description of all the settings, see here.
To view setting options, run the following:
client.config.options
The syntax for selecting an option is section.key. For example, to disable logging, run the following to modify logging.enable_logging:
client.config.set_option('logging.enable_logging', False)
To restore all options to their default, run the following:
Changing the base URL
You can change the base URL as such:
client.base_url = "https://.../latest"
You can also update the ingest base URL:
client.ingest_base_url = "https://.../latest
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file RelevanceAI-1.1.0.tar.gz
.
File metadata
- Download URL: RelevanceAI-1.1.0.tar.gz
- Upload date:
- Size: 140.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 48538ec9e3b0c7a2a126858e242bc0dffcd959d4a5efdbf001dfebd9d202fd89 |
|
MD5 | 904c664696c1ee8609a4686d4f165d41 |
|
BLAKE2b-256 | 4707839e4d4ef42fa08aec6ea641089e7fe28ff562961eba863e8e1845f25d34 |
File details
Details for the file RelevanceAI-1.1.0-py3-none-any.whl
.
File metadata
- Download URL: RelevanceAI-1.1.0-py3-none-any.whl
- Upload date:
- Size: 197.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | df935f49766a6210a6e355c3ff941148acdb4fddd900fb2aaacb0a69384ea821 |
|
MD5 | 23d098c4ff612eaed4cac8cde098156e |
|
BLAKE2b-256 | e2ec8913c8b8c8d9ac113866f40847fdc4445fc521fa43e9eaf7fa87ec8fb5d9 |