title: "Weaviate"
lang: "en-US"
draft: false
description: "Learn about how to set up a VDP Weaviate component https://github.com/instill-ai/instill-core"
The Weaviate component is a data component that allows users to build and search vector datasets.
It can carry out the following tasks:
Release Stage
Alpha
Configuration
The component definition and tasks are defined in the definition.json and tasks.json files respectively.
Setup
In order to communicate with Weaviate, the following connection details need to be
provided. You may specify them directly in a pipeline recipe as key-value pairs
within the component's setup
block, or you can create a Connection from
the Integration Settings
page and reference the whole setup
as setup: ${connection.<my-connection-id>}
.
Field | Field ID | Type | Note |
---|
API Key (required) | api-key | string | Fill in your Weaviate API key. Please refer to clusters in Weaviate Console |
Weaviate URL Endpoint (required) | url | string | Fill in your Weaviate base URL without https:// or http://. Please refer to clusters in Weaviate Console |
Supported Tasks
Vector Search
Perform a vector search on a collection
Input | ID | Type | Description |
---|
Task ID (required) | task | string | TASK_VECTOR_SEARCH |
Collection Name (required) | collection-name | string | The name of the collection to perform vector search on |
Vector | vector | array[number] | An array of dimensions for the vector query, optional. If not provided, all objects will be returned |
Limit | limit | integer | The limit of objects, empty for all objects |
Fields | fields | array[string] | The fields to return in the objects. If empty then all fields will be returned |
Filter | filter | object | The properties filter to be applied to the data with GraphQL queries, which starts with WHERE field, please refer to here. |
Tenant | tenant | string | The tenant to perform the vector search on |
Output | ID | Type | Description |
---|
Result | result | object | Result of the vector search operation |
Status | status | string | Upsert status |
Output Objects in Vector Search
Result
Field | Field ID | Type | Note |
---|
IDs | ids | array | The ids returned from the vector search operation |
Metadata | metadata | array | The metadata returned from the vector search operation |
Objects | objects | array | The objects returned from the vector search operation |
Vectors | vectors | array | The vectors returned from the vector search operation |
Batch Insert
Insert multiple vector objects into a collection
Input | ID | Type | Description |
---|
Task ID (required) | task | string | TASK_BATCH_INSERT |
Collection Name (required) | collection-name | string | The name of the collection to upsert the object into |
Array ID | array-id | array[string] | The array of id |
Array Metadata (required) | array-metadata | array[object] | The array of vector metadata properties |
Array Vector (required) | array-vector | array[array] | The array of vector values |
Output | ID | Type | Description |
---|
Status | status | string | Batch insert status |
Insert
Insert a vector object into a collection
Input | ID | Type | Description |
---|
Task ID (required) | task | string | TASK_INSERT |
Collection Name (required) | collection-name | string | The name of the collection to upsert the object into |
ID | id | string | The ID of the object |
Vector (required) | vector | array[number] | An array of dimensions for the vector value |
Metadata (required) | metadata | object | The vector metadata properties |
Output | ID | Type | Description |
---|
Status | status | string | Upsert status |
Update
Update vector object in a collection
Input | ID | Type | Description |
---|
Task ID (required) | task | string | TASK_UPDATE |
Collection Name (required) | collection-name | string | The name of the collection to update the object in |
ID (required) | id | string | The ID of the object |
Update Vector | update-vector | array[number] | The updated vector value, optional |
Update Metadata | update-metadata | object | The updated vector metadata properties, optional |
Output | ID | Type | Description |
---|
Status | status | string | Update status |
Delete
Delete vector objects from a collection
Input | ID | Type | Description |
---|
Task ID (required) | task | string | TASK_DELETE |
Collection Name (required) | collection-name | string | The name of the collection to delete the object from |
ID | id | string | The ID of the object |
Filter | filter | object | The properties filter to be applied to the data with GraphQL queries, which starts with WHERE field, please refer to here. |
Output | ID | Type | Description |
---|
Status | status | string | Delete status |
Delete Collection
Delete a collection
Input | ID | Type | Description |
---|
Task ID (required) | task | string | TASK_DELETE_COLLECTION |
Collection Name (required) | collection-name | string | The name of the collection to delete |
Output | ID | Type | Description |
---|
Status | status | string | Delete collection status |