Title: | A Client for 'ChromaDB' |
---|---|
Description: | Client for 'ChromaDB', a vector database for storing and querying embeddings. This package provides a convenient interface to interact with the REST API of 'ChromaDB' <https://docs.trychroma.com>. |
Authors: | David Schoch [aut, cre] |
Maintainer: | David Schoch <[email protected]> |
License: | MIT + file LICENSE |
Version: | 0.1.0 |
Built: | 2025-02-13 05:24:00 UTC |
Source: | https://github.com/cynkra/rchroma |
Add Documents to a Collection
add_documents( client, collection_name, documents, ids, metadatas = NULL, embeddings = NULL, uris = NULL, tenant = "default_tenant", database = "default_database" )
add_documents( client, collection_name, documents, ids, metadatas = NULL, embeddings = NULL, uris = NULL, tenant = "default_tenant", database = "default_database" )
client |
A ChromaDB client object |
collection_name |
Name of the collection |
documents |
List of documents to add |
ids |
Vector of unique IDs for the documents (required) |
metadatas |
List of metadata for each document (optional) |
embeddings |
Optional pre-computed embeddings |
uris |
Optional vector of URIs associated with the documents |
tenant |
The tenant name (default: "default") |
database |
The database name (default: "default") |
TRUE on success
Create a new ChromaDB client connection
chroma_connect( host = "http://localhost", port = 8000L, api_path = "/api/v2", verify = TRUE )
chroma_connect( host = "http://localhost", port = 8000L, api_path = "/api/v2", verify = TRUE )
host |
The host URL of the ChromaDB server. Default is "http://localhost". |
port |
The port number of the ChromaDB server. Default is 8000. |
api_path |
The API path. Default is "/api/v2". |
verify |
Whether to verify the connection. Default is TRUE. |
A ChromaDB client object
Count Collections in a Database
count_collections( client, tenant = "default_tenant", database = "default_database" )
count_collections( client, tenant = "default_tenant", database = "default_database" )
client |
A ChromaDB client object |
tenant |
The tenant name (default: "default") |
database |
The database name (default: "default") |
Number of collections in the database
Create a Collection in ChromaDB
create_collection( client, name, metadata = NULL, configuration = NULL, tenant = "default_tenant", database = "default_database", get_or_create = FALSE )
create_collection( client, name, metadata = NULL, configuration = NULL, tenant = "default_tenant", database = "default_database", get_or_create = FALSE )
client |
A ChromaDB client object |
name |
The name of the collection |
metadata |
Optional metadata for the collection |
configuration |
Optional configuration for the collection. For HNSW configuration,
use a list with |
tenant |
The tenant name (default: "default") |
database |
The database name (default: "default") |
get_or_create |
Whether to get the collection if it exists (default: FALSE) |
A collection object
Create a Database
create_database(client, name, tenant = "default_tenant")
create_database(client, name, tenant = "default_tenant")
client |
A ChromaDB client object |
name |
The name of the database |
tenant |
The tenant name |
NULL invisibly on success
Create a Tenant
create_tenant(client, name)
create_tenant(client, name)
client |
A ChromaDB client object |
name |
The name of the tenant |
A tenant object containing the tenant details
Delete a Collection
delete_collection( client, name, tenant = "default_tenant", database = "default_database" )
delete_collection( client, name, tenant = "default_tenant", database = "default_database" )
client |
A ChromaDB client object |
name |
The name of the collection |
tenant |
The tenant name (default: "default") |
database |
The database name (default: "default") |
Invisible NULL on success
Delete Documents from a Collection
delete_documents( client, collection_name, ids = NULL, where = NULL, tenant = "default_tenant", database = "default_database" )
delete_documents( client, collection_name, ids = NULL, where = NULL, tenant = "default_tenant", database = "default_database" )
client |
A ChromaDB client object |
collection_name |
Name of the collection |
ids |
Vector of document IDs to delete |
where |
Optional filtering conditions |
tenant |
The tenant name (default: "default") |
database |
The database name (default: "default") |
NULL invisibly on success
Get Authentication Identity
get_auth_identity(client)
get_auth_identity(client)
client |
A ChromaDB client object |
Authentication identity information
Get a Collection
get_collection( client, name, tenant = "default_tenant", database = "default_database" )
get_collection( client, name, tenant = "default_tenant", database = "default_database" )
client |
A ChromaDB client object |
name |
The name of the collection |
tenant |
The tenant name (default: "default") |
database |
The database name (default: "default") |
A collection object
Get a Database
get_database(client, name, tenant = "default_tenant")
get_database(client, name, tenant = "default_tenant")
client |
A ChromaDB client object |
name |
The name of the database |
tenant |
The tenant name |
NULL invisibly on success
Get a Tenant
get_tenant(client, name)
get_tenant(client, name)
client |
A ChromaDB client object |
name |
The name of the tenant |
A tenant object containing the tenant details
Check ChromaDB Server Heartbeat
heartbeat(client)
heartbeat(client)
client |
A ChromaDB client object |
Server heartbeat response as a numeric value
List Collections in a Database
list_collections( client, tenant = "default_tenant", database = "default_database", limit = NULL, offset = NULL )
list_collections( client, tenant = "default_tenant", database = "default_database", limit = NULL, offset = NULL )
client |
A ChromaDB client object |
tenant |
The tenant name (default: "default") |
database |
The database name (default: "default") |
limit |
Maximum number of collections to return (optional) |
offset |
Number of collections to skip (optional) |
List of collections
Returns server capabilities and settings.
pre_flight_checks(client)
pre_flight_checks(client)
client |
A ChromaDB client object |
List containing server information
Query Documents in a Collection
query( client, collection_name, query_embeddings, n_results = 10L, where = NULL, where_document = NULL, include = c("documents", "metadatas", "distances"), tenant = "default_tenant", database = "default_database" )
query( client, collection_name, query_embeddings, n_results = 10L, where = NULL, where_document = NULL, include = c("documents", "metadatas", "distances"), tenant = "default_tenant", database = "default_database" )
client |
A ChromaDB client object |
collection_name |
Name of the collection |
query_embeddings |
List of query embeddings (must be a list of numeric vectors) |
n_results |
Number of results to return per query (default: 10) |
where |
Optional filtering conditions |
where_document |
Optional document-based filtering conditions |
include |
Optional vector of what to include in results. Possible values: "documents", "embeddings", "metadatas", "distances", "uris", "data" (default: c("documents", "metadatas", "distances")) |
tenant |
The tenant name (default: "default") |
database |
The database name (default: "default") |
Note that ChromaDB's API only accepts embeddings for queries. If you want to query using text, you need to first convert your text to embeddings using an embedding model (e.g., using OpenAI's API, HuggingFace's API, or a local model).
Example:
# First convert text to embeddings using your preferred method text_embedding <- your_embedding_function("your search text") # Then query using the embedding result <- query(client, "my_collection", query_embeddings = list(text_embedding))
A list containing the query results. Each element (documents, metadatas, distances) is a nested list, so use double brackets [[]] to access individual elements.
This function resets the entire ChromaDB instance. Use with caution as this will delete all data. Note: This function requires setting ALLOW_RESET=TRUE in the environment variables or allow_reset=True in the ChromaDB Settings.
reset(client)
reset(client)
client |
A ChromaDB client object |
TRUE on success
Update a Collection
update_collection( client, name, new_name = NULL, new_metadata = NULL, tenant = "default_tenant", database = "default_database" )
update_collection( client, name, new_name = NULL, new_metadata = NULL, tenant = "default_tenant", database = "default_database" )
client |
A ChromaDB client object |
name |
The name of the collection |
new_name |
Optional new name for the collection |
new_metadata |
Optional new metadata for the collection |
tenant |
The tenant name (default: "default") |
database |
The database name (default: "default") |
NULL on success (invisibly)
Update Documents in a Collection
update_documents( client, collection_name, ids, documents = NULL, metadatas = NULL, embeddings = NULL, tenant = "default_tenant", database = "default_database" )
update_documents( client, collection_name, ids, documents = NULL, metadatas = NULL, embeddings = NULL, tenant = "default_tenant", database = "default_database" )
client |
A ChromaDB client object |
collection_name |
Name of the collection |
ids |
Vector of document IDs to update |
documents |
List of new document contents |
metadatas |
List of new metadata |
embeddings |
Optional new pre-computed embeddings |
tenant |
The tenant name (default: "default") |
database |
The database name (default: "default") |
NULL invisibly on success
Upsert Documents to a Collection
upsert_documents( client, collection_name, documents, metadatas = NULL, ids = NULL, embeddings = NULL, uris = NULL )
upsert_documents( client, collection_name, documents, metadatas = NULL, ids = NULL, embeddings = NULL, uris = NULL )
client |
A ChromaDB client object |
collection_name |
Name of the collection |
documents |
List of documents to upsert |
metadatas |
List of metadata for each document |
ids |
Vector of unique IDs for the documents |
embeddings |
Optional pre-computed embeddings |
uris |
Optional vector of URIs associated with the documents |
Response from the API
Get ChromaDB Server Version
version(client)
version(client)
client |
A ChromaDB client object |
Server version string