step

weaviate

Execute Weaviate vector search operations.

Overview

Supports operations:
- create: Create a new object with optional vector
- query: Search for similar objects using vector similarity
- get: Retrieve an object by ID
- delete: Delete an object by ID

Setup:
1. Create a Weaviate instance (Weaviate Cloud Services at https://console.weaviate.cloud or self-hosted)
2. Create a schema/class for your data in the Weaviate console
3. Get your instance URL and API key (if authentication is enabled)
4. Store credentials securely (e.g., environment variables: WEAVIATE_URL, WEAVIATE_API_KEY)

Connection: Requires instance URL. API key optional depending on authentication settings.

Examples

Create object

Add a new object to a Weaviate class

type: weaviate
url: ${env:WEAVIATE_URL}
api_key: ${env:WEAVIATE_API_KEY}
operation: create
class_name: Article
properties:
  title: Introduction to Vector Databases
  content: Vector databases are specialized...
  author: Jane Smith
  published_date: 2024-01-15
vector: [0.1, 0.2, 0.3, 0.4, 0.5]
output_to: created_object

Semantic search

Query objects by vector similarity

type: weaviate
url: ${env:WEAVIATE_URL}
api_key: ${env:WEAVIATE_API_KEY}
operation: query
class_name: Article
query_vector: [0.15, 0.25, 0.35, 0.45, 0.55]
limit: 5
certainty: 0.7
output_to: similar_articles

Query with filter

Search objects with metadata filtering

type: weaviate
url: ${env:WEAVIATE_URL}
api_key: ${env:WEAVIATE_API_KEY}
operation: query
class_name: Product
query_vector: [0.2, 0.3, 0.4, 0.5]
where_filter:
  path:
    - category
  operator: Equal
  valueString: electronics
limit: 10
output_to: filtered_products

Get object by ID

Retrieve a specific object

type: weaviate
url: ${env:WEAVIATE_URL}
api_key: ${env:WEAVIATE_API_KEY}
operation: get
class_name: Article
object_id: 123e4567-e89b-12d3-a456-426614174000
output_to: article_data

Delete object

Remove an object from Weaviate

type: weaviate
url: ${env:WEAVIATE_URL}
api_key: ${env:WEAVIATE_API_KEY}
operation: delete
class_name: Article
object_id: 123e4567-e89b-12d3-a456-426614174000
output_to: delete_result

Configuration

Parameter Type Required Description
type string No Step type identifier
Default: "weaviate"
url string Yes Weaviate instance URL (including protocol and port if needed)
api_key string No Weaviate API key for authentication (optional for instances without authentication)
operation string Yes Operation to perform: create (add object), query (vector search), delete (remove object), or get (retrieve by ID)
Options: create, query, delete, get
class_name string Yes Name of the Weaviate class (schema) to operate on
object_id string No UUID of the object (required for get and delete operations)
properties string No Object properties/fields to store (required for create operation)
vector string No Vector embedding to store with the object (for create operation)
query_vector string No Query vector for similarity search (required for query operation)
limit integer No Maximum number of results to return (for query operation)
Default: 10
certainty string No Minimum certainty threshold for query results (0.0 to 1.0, higher is more similar)
where_filter string No GraphQL where filter to apply to query (Weaviate filter syntax)
timeout integer No HTTP request timeout in seconds
Default: 30
output_to string No Key name where results will be stored in the event
Default: "weaviate"

Base Configuration

These configuration options are available on all steps:

Parameter Type Default Description
name null Optional name for this step (for documentation and debugging)
description null Optional description of what this step does
retries integer 0 Number of retry attempts (0-10)
backoff_seconds number 0 Backoff (seconds) applied between retry attempts
retry_propagate boolean false If True, raise last exception after exhausting retries; otherwise swallow.