Develop
Store Embeddings
Embeddings are stored in a table as a column of type INTEGER[]
, REAL[]
, or pgvector
's VECTOR
type. This guide provides examples of how to create a table with an embedding column, insert embeddings into the table, and update or delete embeddings. Note that the examples use SQL, but we also provide examples for Python, JavaScript, Ruby, and Rust.
Table Operations
Create table with embedding column
Define a table structure that contains an embedding column.
sql
Copy
CREATE TABLE books (
id INTEGER PRIMARY KEY,
title TEXT NOT NULL,
author TEXT,
book_summary TEXT,
published_at INTEGER,
text_embedding REAL[3],
reviews TEXT
);
Add embedding column to table
Add an additional embedding column to your table.
sql
Copy
ALTER TABLE books ADD COLUMN reviews_embedding REAL[];
Storing Rows
Insert embeddings into the table
Populate your table with embedding data.
sql
Copy
INSERT INTO books (id, title, author, published_at, book_embedding, reviews) VALUES
(1, 'The Lightning Thief', 'Rick Riordan', 1999, '{0,0,1}', NULL),
(2, 'White Fang', 'Jack London', 2000, '{1,0,1}', 'Good');
Upsert embedding
Insert a new row or update the embedding of an existing row.
sql
Copy
INSERT INTO books (id, title, book_embedding) VALUES
(4, 'The Lord of the Rings', '{1,1,0}')
ON CONFLICT (id)
DO UPDATE SET book_embedding = EXCLUDED.book_embedding;
Update embeddings
sql
Copy
UPDATE books SET book_embedding = '{0,0,0}' WHERE id = 1;
UPDATE books SET book_embedding = ARRAY[0,0,0] WHERE id = 2;
Delete embeddings
sql
Copy
DELETE FROM books WHERE id = 1;