query():
Query Parameters
You can specify additional parameters for the query, such as:top_k: the number of results to return. Default:None(server typically uses100).n_probes: the number of clusters to search for each query vector. Default:None(auto-determined by server).filters: metadata filters to apply to the query (dictionary format). Default:None.include: item fields to return (e.g.,["distance", "metadata", "contents", "vector"]). Default:None(includes all available fields). Note:idanddistanceare always included.greedy: whether to perform a greedy search (higher recall but slower). Default:None(server determines behavior).
Batched Queries
It’s also possible to perform batch queries by passing multiple query vectors toquery():
Querying with Metadata Filters
You can filter query results based on metadata fields. For example, to filter items where theage field is greater than 18, you can use the following filter:
age field is greater than 18. You can also use other comparison operators such as $lt, $gte, $lte, $eq, and $ne.
For more details on metadata filters, see the Metadata Filtering guide.
Automatic Embedding Generation
To use automatic embedding generation, use the Docker Service or install with
pip install cyborgdb-service[embeddings]embedding_model during index creation, you can automatically generate embeddings for queries by providing query_contents to the query() call:
Retrieving Items Post-Query
In certain applications, such as RAG, it may be desirable to retrieve matching items after a query. This is possible viaget(), which retrieves and decrypts item added via upsert(). For more details, see the Get Items guide.