
Chroma Upsert
CertifiedUpsert records into a Chroma collection
Chroma Upsert
Upsert records into a Chroma collection
Inserts or updates records (id, embedding, and optional metadata and document) in batches. Records can be provided inline or read from a file in Kestra's internal storage (ION or JSON).
type: io.kestra.plugin.chroma.UpsertExamples
Upsert records inline
id: chroma_upsert
namespace: company.team
tasks:
- id: upsert
type: io.kestra.plugin.chroma.Upsert
baseUrl: http://localhost:8000
collectionName: docs
from:
- id: doc-1
embedding: [0.05, 0.61, 0.76, 0.74]
document: "Berlin is the capital of Germany."
metadata:
source: handbook
- id: doc-2
embedding: [0.19, 0.81, 0.75, 0.11]
document: "Paris is the capital of France."
metadata:
source: handbook
Upsert records streamed from an upstream task's output file
id: chroma_upsert_from_file
namespace: company.team
tasks:
- id: upsert
type: io.kestra.plugin.chroma.Upsert
baseUrl: http://localhost:8000
collectionName: docs
batchSize: 200
from: "{{ outputs.embed.uri }}"
Properties
baseUrl *string
Base URL of the Chroma server
The base URL of the Chroma HTTP server, for example http://localhost: 8000.
collectionName *string
Collection name
The name of the collection to upsert into.
from *stringarrayobject
Records to upsert
An inline list (or single map) of records, or a Kestra storage URI to an ION/JSON file of them. Each record must contain an id and an embedding (a list of numbers; vector is accepted as an alias) and may contain a metadata map and a document string.
assets
Assets this task consumes as inputs or produces as outputs, for lineage tracking and the asset graph (Enterprise Edition). A flow declaring this property on a task is rejected in the open-source edition.
io.kestra.core.models.assets.AssetsDeclaration
IGNOREFAILWARNAsset failure behavior
Behavior applied to the task state when a declared asset fails to render, emit, or be persisted (e.g. a lock conflict): FAIL escalates it to FAILED, WARN (default) warns it if it would otherwise succeed, IGNORE leaves the state untouched.
Whether to auto-register assets referenced dynamically at runtime that are not statically declared in inputs or outputs.
The assets consumed as inputs.
io.kestra.core.models.assets.AssetIdentifier
1The assets produced as outputs.
io.kestra.plugin.ee.assets.Dataset
1150{}1150io.kestra.plugin.ee.assets.File
1150{}1150io.kestra.plugin.ee.assets.Table
1150{}1150io.kestra.plugin.ee.assets.VM
1150{}1150io.kestra.core.models.assets.External
1150{}1150io.kestra.core.models.assets.Custom
11501Custom asset type
{}1150authToken string
Authentication token
Token sent in the X-Chroma-Token header. Used by token-authenticated self-hosted servers and by Chroma Cloud. Mutually exclusive with username/password.
batchSize integerstring
100Batch size
Number of records sent per request (default: 100, min: 1, max: 10000).
database string
Database
The Chroma database that holds the collection (default: default_database).
password string
Basic-auth password
Password for HTTP basic authentication. Requires username.
tenant string
Tenant
The Chroma tenant that holds the database (default: default_tenant).
username string
Basic-auth username
Username for HTTP basic authentication. Requires password.
Outputs
upsertedCount integer
0Upserted count
The number of records sent to the collection.