Documentation
¶
Index ¶
- func APIEmbeddingToEmbedding(embedding openapiclient.EmbeddingsInner) *types.Embedding
- func APIEmbeddingsToEmbeddings(embeddings []openapiclient.EmbeddingsInner) []*types.Embedding
- func GetStringTypeOfEmbeddingFunction(ef types.EmbeddingFunction) string
- type Client
- func (c *Client) Close() error
- func (c *Client) CountCollections(ctx context.Context) (int32, error)
- func (c *Client) CreateCollection(ctx context.Context, collectionName string, metadata map[string]interface{}, ...) (*Collection, error)
- func (c *Client) CreateDatabase(ctx context.Context, databaseName string, tenantName *string) (*openapiclient.Database, error)
- func (c *Client) CreateTenant(ctx context.Context, tenantName string) (*openapiclient.Tenant, error)
- func (c *Client) DeleteCollection(ctx context.Context, collectionName string) (*Collection, error)
- func (c *Client) GetCollection(ctx context.Context, collectionName string, ...) (*Collection, error)
- func (c *Client) GetDatabase(ctx context.Context, databaseName string, tenantName *string) (*openapiclient.Database, error)
- func (c *Client) GetTenant(ctx context.Context, tenantName string) (*openapiclient.Tenant, error)
- func (c *Client) Heartbeat(ctx context.Context) (map[string]float32, error)
- func (c *Client) ListCollections(ctx context.Context) ([]*Collection, error)
- func (c *Client) NewCollection(ctx context.Context, name string, options ...collection.Option) (*Collection, error)
- func (c *Client) PreflightChecks(ctx context.Context) (map[string]interface{}, error)
- func (c *Client) Reset(ctx context.Context) (bool, error)
- func (c *Client) SetDatabase(database string)
- func (c *Client) SetTenant(tenant string)
- func (c *Client) Version(ctx context.Context) (string, error)
- type ClientConfiguration
- type ClientOption
- func WithAuth(provider types.CredentialsProvider) ClientOption
- func WithBasePath(basePath string) ClientOption
- func WithDatabase(database string) ClientOption
- func WithDebug(debug bool) ClientOption
- func WithDefaultHeaders(headers map[string]string) ClientOption
- func WithHTTPClient(client *http.Client) ClientOption
- func WithInsecure() ClientOption
- func WithSSLCert(certPath string) ClientOption
- func WithTenant(tenant string) ClientOption
- func WithTimeout(timeout time.Duration) ClientOption
- type Collection
- func (c *Collection) Add(ctx context.Context, embeddings []*types.Embedding, ...) (*Collection, error)
- func (c *Collection) AddRecords(ctx context.Context, recordSet *types.RecordSet) (*Collection, error)
- func (c *Collection) Count(ctx context.Context) (int32, error)
- func (c *Collection) Delete(ctx context.Context, ids []string, where map[string]interface{}, ...) ([]string, error)
- func (c *Collection) Get(ctx context.Context, where map[string]interface{}, ...) (*GetResults, error)
- func (c *Collection) GetWithOptions(ctx context.Context, options ...types.CollectionQueryOption) (*GetResults, error)
- func (c *Collection) Modify(ctx context.Context, embeddings []*types.Embedding, ...) (*Collection, error)
- func (c *Collection) Query(ctx context.Context, queryTexts []string, nResults int32, ...) (*QueryResults, error)
- func (c *Collection) QueryWithOptions(ctx context.Context, queryOptions ...types.CollectionQueryOption) (*QueryResults, error)
- func (c *Collection) String() string
- func (c *Collection) Update(ctx context.Context, newName string, newMetadata *map[string]interface{}) (*Collection, error)
- func (c *Collection) Upsert(ctx context.Context, embeddings []*types.Embedding, ...) (*Collection, error)
- type GetResults
- type QueryResults
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func APIEmbeddingToEmbedding ¶
func APIEmbeddingToEmbedding(embedding openapiclient.EmbeddingsInner) *types.Embedding
func APIEmbeddingsToEmbeddings ¶
func APIEmbeddingsToEmbeddings(embeddings []openapiclient.EmbeddingsInner) []*types.Embedding
func GetStringTypeOfEmbeddingFunction ¶
func GetStringTypeOfEmbeddingFunction(ef types.EmbeddingFunction) string
Types ¶
type Client ¶
type Client struct { ApiClient *openapiclient.APIClient //nolint Tenant string Database string APIVersion semver.Version BasePath string // contains filtered or unexported fields }
Client represents the ChromaDB Client
func NewClient ¶
func NewClient(options ...ClientOption) (*Client, error)
func (*Client) CountCollections ¶
CountCollections returns the number of collections in the database
func (*Client) CreateCollection ¶
func (c *Client) CreateCollection(ctx context.Context, collectionName string, metadata map[string]interface{}, createOrGet bool, embeddingFunction types.EmbeddingFunction, distanceFunction types.DistanceFunction) (*Collection, error)
CreateCollection [legacy] creates a new collection with the given name, metadata, embedding function and distance function
func (*Client) CreateDatabase ¶
func (c *Client) CreateDatabase(ctx context.Context, databaseName string, tenantName *string) (*openapiclient.Database, error)
CreateDatabase creates a new database with the given name, fails if the database already exists
func (*Client) CreateTenant ¶
func (c *Client) CreateTenant(ctx context.Context, tenantName string) (*openapiclient.Tenant, error)
CreateTenant creates a new tenant with the given name, fails if the tenant already exists
func (*Client) DeleteCollection ¶
DeleteCollection deletes the collection with the given name
func (*Client) GetCollection ¶
func (c *Client) GetCollection(ctx context.Context, collectionName string, embeddingFunction types.EmbeddingFunction) (*Collection, error)
GetCollection returns an instance of a collection object which can be used to interact with the collection data.
func (*Client) GetDatabase ¶
func (c *Client) GetDatabase(ctx context.Context, databaseName string, tenantName *string) (*openapiclient.Database, error)
GetDatabase returns the database with the given name, fails if the database does not exist
func (*Client) GetTenant ¶
GetTenant returns the tenant with the given name, fails if the tenant does not exist
func (*Client) Heartbeat ¶
Heartbeat checks whether the Chroma server is up and running returns a map[string]float32 with the current server timestamp
func (*Client) ListCollections ¶
func (c *Client) ListCollections(ctx context.Context) ([]*Collection, error)
ListCollections returns a list of all collections in the database
func (*Client) NewCollection ¶
func (c *Client) NewCollection(ctx context.Context, name string, options ...collection.Option) (*Collection, error)
NewCollection creates a new collection with the given name and options
func (*Client) PreflightChecks ¶
PreflightChecks returns the preflight checks of the Chroma server, returns a map of the preflight checks. Currently on max_batch_size supported by the server is returned
func (*Client) Reset ¶
Reset deletes all data in the Chroma server if `ALLOW_RESET` is set to true in the environment variables of the server, otherwise fails
func (*Client) SetDatabase ¶
type ClientConfiguration ¶
type ClientConfiguration struct { BasePath string `json:"basePath,omitempty"` DefaultHeaders map[string]string `json:"defaultHeader,omitempty"` EmbeddingFunction types.EmbeddingFunction `json:"embeddingFunction,omitempty"` }
type ClientOption ¶
func WithAuth ¶
func WithAuth(provider types.CredentialsProvider) ClientOption
func WithBasePath ¶
func WithBasePath(basePath string) ClientOption
WithBasePath sets the base path for the client. The base path must be a valid URL.
func WithDatabase ¶
func WithDatabase(database string) ClientOption
func WithDebug ¶
func WithDebug(debug bool) ClientOption
func WithDefaultHeaders ¶
func WithDefaultHeaders(headers map[string]string) ClientOption
func WithHTTPClient ¶
func WithHTTPClient(client *http.Client) ClientOption
WithHTTPClient sets a custom http.Client for the client. The option is mutually exclusive with WithSSLCert and WithIgnoreSSLCert.
func WithInsecure ¶
func WithInsecure() ClientOption
WithInsecure disables SSL certificate verification. This option is not recommended for production use. The option is mutually exclusive with WithHttpClient.
func WithSSLCert ¶
func WithSSLCert(certPath string) ClientOption
WithSSLCert adds a custom SSL certificate to the client. The certificate must be in PEM format. The Option can be added multiple times to add multiple certificates. The option is mutually exclusive with WithHttpClient.
func WithTenant ¶
func WithTenant(tenant string) ClientOption
func WithTimeout ¶
func WithTimeout(timeout time.Duration) ClientOption
WithTimeout sets the timeout for the client
type Collection ¶
type Collection struct { Name string EmbeddingFunction types.EmbeddingFunction ApiClient *openapiclient.APIClient //nolint Metadata map[string]interface{} ID string Tenant string Database string // contains filtered or unexported fields }
func NewCollection ¶
func NewCollection(chromaClient *Client, id string, name string, metadata *map[string]interface{}, embeddingFunction types.EmbeddingFunction, tenant string, database string) *Collection
func (*Collection) Add ¶
func (c *Collection) Add(ctx context.Context, embeddings []*types.Embedding, metadatas []map[string]interface{}, documents []string, ids []string) (*Collection, error)
func (*Collection) AddRecords ¶
func (c *Collection) AddRecords(ctx context.Context, recordSet *types.RecordSet) (*Collection, error)
func (*Collection) Get ¶
func (c *Collection) Get(ctx context.Context, where map[string]interface{}, whereDocuments map[string]interface{}, ids []string, include []types.QueryEnum) (*GetResults, error)
func (*Collection) GetWithOptions ¶
func (c *Collection) GetWithOptions(ctx context.Context, options ...types.CollectionQueryOption) (*GetResults, error)
func (*Collection) Modify ¶
func (c *Collection) Modify(ctx context.Context, embeddings []*types.Embedding, metadatas []map[string]interface{}, documents []string, ids []string) (*Collection, error)
func (*Collection) QueryWithOptions ¶
func (c *Collection) QueryWithOptions(ctx context.Context, queryOptions ...types.CollectionQueryOption) (*QueryResults, error)
func (*Collection) String ¶
func (c *Collection) String() string
func (*Collection) Update ¶
func (c *Collection) Update(ctx context.Context, newName string, newMetadata *map[string]interface{}) (*Collection, error)
type GetResults ¶
type QueryResults ¶
type QueryResults struct { Documents [][]string `json:"documents,omitempty"` Ids [][]string `json:"ids,omitempty"` Metadatas [][]map[string]interface{} `json:"metadatas,omitempty"` Distances [][]float32 `json:"distances,omitempty"` QueryTexts []string QueryEmbeddings []*types.Embedding QueryTextsGeneratedEmbeddings []*types.Embedding // the generated embeddings from the query texts }