Error in `value[[3L]](cond)`: Could not connect to ChromaDB at http://localhost:8000/api/v2

To run ChromaDB:
1. Install Docker from https://www.docker.com
2. Run ChromaDB using Docker:
   docker run -p 8000:8000 chromadb/chroma

Original error: Failed to perform HTTP request.

test_id <- basename(tempfile("test")) # Generate unique test ID
metadata <- list(description = "Test collection")
collection <- create_collection(client, collection_name2, metadata = metadata)
# Test error on duplicate collection without get_or_create
update_collection(client, collection_name, new_name = new_collection_name)
# Verify the update worked by getting the collection
new_metadata <- list(description = "Updated collection")
update_collection(client, new_collection_name, new_metadata = new_metadata)
# Getting deleted collection should fail
collections_limited <- list_collections(client, limit = 1)
collections_offset <- list_collections(client, offset = 1, limit = 1)

client2 <- chroma_connect(host = "http://localhost", port = 8001L, verify = FALSE)
"Could not connect to ChromaDB at http://localhost:9999/api/v2"

create_database(client, db_name, tenant = tenant_name)
create_database(client, db_name, tenant = tenant_name),
"UniqueConstraintError: Database .* already exists|HTTP 409"
# Create database in default tenant should work silently
get_database(client, db_name, tenant = tenant_name)
# Getting non-existent database should fail
get_database(client, "nonexistent_database", tenant = tenant_name),
"NotFoundError: Database nonexistent_database not found|HTTP 404"
# Get database from default tenant should work silently

result <- add_documents(client, collection_name, documents = docs, ids = ids)
add_documents(client, collection_name, documents = c("doc9")),
add_documents(client, collection_name, documents = docs, ids = ids)
update_documents(client, collection_name, documents = new_docs, ids = ids)
# Update embeddings should work silently
# Update non-existent document should work silently (API behavior)
update_documents(client, collection_name, ids = c("nonexistent_id"))
test_that("update_documents fails correctly for non-existent collection", {
"InvalidCollection: Collection nonexistent_collection does not exist.|HTTP 400"
# Delete specific documents should work silently
delete_documents(client, collection_name, ids = c("id1", "id2"))
# Delete with where filter should work silently
where = list(source = list("$eq" = "test"))
# Delete non-existent document should work silently (API behavior)
delete_documents(client, collection_name, ids = c("nonexistent_id"))