ExChromaDb (ex_chroma_db v0.1.0)

View Source

This module provides a client for the ChromaDB API.

Summary

Functions

build_metadata_where_and_equality(metadata)

child_specs()

collection_records_add(collection_info, records)

collection_records_count(collection_info)

collection_records_delete(collection_info, delete_criteria)

@spec collection_records_delete(ExChromaDb.Types.collection_info(), %{
  ids: [ExChromaDb.Types.record_id()] | nil,
  where: map() | nil,
  where_document: map() | nil
}) :: ExChromaDb.Types.one_result(boolean())

collection_records_delete_by_ids(collection_info, record_ids_to_delete)

collection_records_delete_by_metas(collection_info, record_metas_to_delete)

@spec collection_records_delete_by_metas(ExChromaDb.Types.collection_info(), map()) ::
  ExChromaDb.Types.one_result(boolean())

collection_records_get(collection_info, get_criteria, pagination \\ %{limit: 100, offset: 0})

@spec collection_records_get(
  ExChromaDb.Types.collection_info(),
  %{
    include: [String.t()] | nil,
    ids: [ExChromaDb.Types.record_id()] | nil,
    where: map() | nil,
    where_document: map() | nil
  },
  ExChromaDb.Types.pagination()
) :: ExChromaDb.Types.one_result(ExChromaDb.Api.GetResponse.t())

collection_records_query(collection_info, query_criteria)

@spec collection_records_query(
  ExChromaDb.Types.collection_info(),
  %{
    include: [String.t()] | nil,
    ids: [ExChromaDb.Types.record_id()] | nil,
    where: map() | nil,
    where_document: map() | nil,
    query_embeddings: [ExChromaDb.Types.document_embedding()] | nil,
    query_texts: [String.t()] | nil,
    n_results: integer() | nil
  }
) :: ExChromaDb.Types.one_result(ExChromaDb.Api.QueryResponse.t())

collection_records_update(collection_info, update_data)

collection_records_upsert(collection_info, update_data)

count_collections(database_info)

create_collection(collection_info)

create_database(database_info)

create_tenant(tenant_name)

@spec create_tenant(String.t()) :: ExChromaDb.Types.one_result(String.t())

delete_collection(collection_info)

delete_database(database_info)

get_collection_info(collection_info)

get_config()

get_database(database_info)

get_or_create_collection(collection_info)

@spec get_or_create_collection(ExChromaDb.Types.collection_info()) ::
  ExChromaDb.Types.one_result(boolean())

get_or_create_database(database_info)

get_or_create_tenant(tenant_name)

@spec get_or_create_tenant(String.t()) :: ExChromaDb.Types.one_result(boolean())

get_tenant(tenant_name)

@spec get_tenant(String.t()) :: ExChromaDb.Types.one_result(boolean())

healthcheck()

@spec healthcheck() :: ExChromaDb.Types.one_result(boolean())

heartbeat()

list_collections(database_info, pagination \\ %{limit: 100, offset: 0})

list_databases(tenant_name, pagination \\ %{limit: 100, offset: 0})

request(request)

reset()

@spec reset() :: ExChromaDb.Types.one_result(boolean())

version()

@spec version() :: ExChromaDb.Types.one_result(String.t())