Skip to main content
Production use of this feature is available for specific editions only. Contact our sales team for more information.
The Snowflake Vector Upsert component lets you convert data stored in a Snowflake cloud data warehouse into vector embeddings, and then store these embeddings in a new Snowflake table. This will allow you to use alternative embedding models (for example, OpenAI or Amazon Bedrock) instead of Snowflake’s Cortex embedding. The destination table must already exist; this component won’t create it. The destination table must have a column to hold a copy of the source text and a column to hold the vector embeddings.
SQL queries will need to be used rather than the create table component to create a destination table. Take care to make sure the vector dimensions match the vector dimensions of the model you intend to use.Example SQL query to create a table with a vector column:CREATE TABLE "destination-table" ("id" NUMBER, "text" TEXT, "embedding_result" VECTOR(float, 768));The vector dimension is set to a fixed value for each embedding model. To find the value, see the Model property, below.

Properties

Name
string
required
A human-readable name for the component.
Database
drop-down
required
The Snowflake database. The special value [Environment Default] uses the database defined in the environment. Read Databases, Tables and Views - Overview to learn more.
Schema
drop-down
required
The Snowflake schema. The special value [Environment Default] uses the schema defined in the environment. Read Database, Schema, and Share DDL to learn more.
Table
string
required
The Snowflake table that holds your source data.
Key Column
drop-down
required
This column is used to uniquely identify each row in the table. It is used to ensure that the data is not duplicated when it is loaded into the destination. An example use case would be a column of product IDs that you want to use to identify each product in the table.
Text Column
drop-down
required
This column is used to generate vectors for the text data in the table, which are then upserted as embeddings to your Snowflake vector database. An example use case of this column would be a column of product reviews that you want to convert into vectors for semantic search or to perform sentiment analysis on.
Limit
integer
Set a limit for the maximum number of rows to load from the table. The default is 1000.
Embedding Provider
drop-down
required
The embedding provider is the API service used to convert the search term into a vector. Choose either OpenAI or Amazon Bedrock. The embedding provider receives a search term (e.g. “How do I log in?”) and returns a vector.Choose your provider:
API Key
drop-down
required
Select the secret definition that represents your OpenAI API key.Choose the secret definition that represents your credentials for this connector.If you have not already saved your credentials for this connector as a secret definition, click Add secret to create a secret definition representing these credentials. Read Secrets and secret definitions for details about creating a secret definition.To create a new OpenAI API key:
  1. Log in to OpenAI.
  2. Click your avatar in the top-right of the UI.
  3. Click View API keys.
  4. Click + Create new secret key.
  5. Give a name for your new secret key and click Create secret key.
  6. Copy your new secret key and save it. Then click Done.
Model
drop-down
required
Select an embedding model.Currently supports:
ModelDimension
text-embedding-ada-0021536
text-embedding-3-small1536
text-embedding-3-large3072
API Batch Size
integer
required
Set the size of array of data per API call. The default size is 10. When set to 10, 1000 rows would therefore require 100 API calls.You may wish to reduce this number if a row contains a high volume of data, and conversely, increase this number for rows with low data volume.
Database
drop-down
required
The Snowflake destination database. The special value [Environment Default] uses the database defined in the environment. Read Databases, Tables and Views - Overview to learn more.
Schema
drop-down
required
The Snowflake destination schema. The special value [Environment Default] uses the schema defined in the environment. Read Database, Schema, and Share DDL to learn more.
Table
drop-down
required
Select the destination table.
Key Column
drop-down
required
The column in the destination table to use as the key column.
Text Column
drop-down
required
The column in the destination table that will hold the copied source data.
Embedding Column
drop-down
required
The column in the destination table that will hold the vector embeddings.