
Weaviate SchemaCreate
CertifiedCreate a Weaviate collection
Weaviate SchemaCreate
Create a Weaviate collection
Creates a collection (class) with the given properties and vectorizer. Fails if the collection already exists,
unless skipIfExists is true.
type: io.kestra.plugin.weaviate.SchemaCreateExamples
Create a collection for objects with precomputed vectors.
id: create_weaviate_schema
namespace: company.team
tasks:
- id: schema
type: io.kestra.plugin.weaviate.SchemaCreate
url: https://demo-cluster-id.weaviate.cloud
apiKey: "{{ secret('WEAVIATE_API_KEY') }}"
className: Movies
fields:
name: text
description: text
year: int
genres: text[]
Create a collection vectorized by Weaviate Embeddings, if it does not exist yet.
id: create_weaviate_collection_vectorizer
namespace: company.team
tasks:
- id: schema
type: io.kestra.plugin.weaviate.SchemaCreate
url: https://demo-cluster-id.weaviate.cloud
apiKey: "{{ secret('WEAVIATE_API_KEY') }}"
className: Question
vectorizer: TEXT2VEC_WEAVIATE
skipIfExists: true
fields:
question: text
answer: text
category: text
Installation
Our standard Docker images already include this plugin. If you use a -slim image or another setup, install it with the following command:
kestractl plugins get io.kestra.plugin:plugin-weaviate --compatible-for $KESTRA_VERSION For kestractl, use your Kestra version with --compatible-for, or specify an exact plugin version.
For Kestra CLI, replace LATEST with a specific version or version range to pin the plugin version.
Properties
className *string
Collection (class) name
url *string
1Configure Weaviate endpoint URL
HTTP(S) URL of the Weaviate server, including the port when it is not the scheme default. Without a scheme, https is assumed. Example: http://localhost: 8080 or https://cluster-id.weaviate.cloud. Weaviate Cloud URLs (*.weaviate.cloud, *.weaviate.network) are detected automatically. Requires Weaviate 1.32 or later.
apiKey string
Provide managed cluster API key
Optional API key; required for Weaviate Cloud. If omitted, requests use anonymous access.
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
{}1150fields object
Properties to add to the collection
Map of property name to a Weaviate data type: text, int, number, boolean, date, uuid (each also as an array, e.g. text[]),
blob, geoCoordinates or phoneNumber. A single-element list is also accepted; the legacy string type maps to text.
grpcHost string
Override gRPC host
Host of the Weaviate gRPC endpoint, used for queries and batch inserts.
Defaults to the host of url, or to the grpc- prefixed host on Weaviate Cloud.
grpcPort integerstring
Override gRPC port
Port of the Weaviate gRPC endpoint, between 1 and 65535. Defaults to 50051, or 443 on Weaviate Cloud.
gRPC uses TLS when url is https.
headers object
Set custom request headers
Key/value headers sent with every REST and gRPC call, e.g. vectorizer API keys such as X-OpenAI-Api-Key.
Values that are credentials should come from {{ secret('...') }}.
The plugin also sends an X-Weaviate-Client-Integration header identifying itself; setting that key here overrides it.
requestTimeout string
Set request timeout
Timeout applied to connection, query and insert requests. Defaults to the Weaviate client defaults (30s connect, 60s query, 120s insert).
skipIfExists booleanstring
falseSucceed without changes if the collection exists
vectorName string
Vector name
Creates a named vector instead of the default one.
vectorizer string
NONENONETEXT2VEC_MODEL2VECTEXT2VEC_TRANSFORMERSTEXT2VEC_OPENAITEXT2VEC_WEAVIATEVectorizer
NONE (default) means vectors are provided on insert, e.g. with BatchCreate.vectorKey.
Other values vectorize text properties server-side; the module must be enabled on the server.
Unlike plugin versions built on the v5 client, the server's DEFAULT_VECTORIZER_MODULE is not used, so set this explicitly.
vectorizerModel string
Vectorizer model
Model name for TEXT2VEC_OPENAI and TEXT2VEC_WEAVIATE. Defaults to the module default.
Outputs
created boolean
Whether the collection was created
False when it already existed and skipIfExists is true.
success boolean
Whether the task succeeded