vector
extension that includes pgvector
functions and operators. These
functions and operators let you store embeddings as vector values.
Required database extension
Use the vector
extension, version 0.5.0.google-1
or later, which includes
pgvector
functions and operators, to store generated embeddings as vector
values. This
is a version of pgvector
that Google has extended with optimizations specific
to AlloyDB.
CREATE EXTENSION IF NOT EXISTS vector;
Store generated embeddings
Ensure that you have already created a table in your AlloyDB database.
To store vector embeddings, do the following:
Create a
vector[]
column in your table to store your embeddings:ALTER TABLE TABLE ADD COLUMN EMBEDDING_COLUMN vector(DIMENSIONS);
Replace the following:
TABLE
: the table nameEMBEDDING_COLUMN
: the name of the new embedding columnDIMENSIONS
: the number of dimensions that the model supports.For example, if you are using one of the
textembedding-gecko
English models—for example,textembedding-gecko@003
with Vertex AI, specify768
.
Copy the vectors to the vector column. The following example assumes your embeddings are available in a
.csv
file:COPY TABLE (EMBEDDING_COLUMN) FROM 'PATH_TO_VECTOR_CSV (FORMAT CSV);
Replace the following:
PATH_TO_VECTOR_CSV
: the full path of where you have stored your.csv
file.
After you store the embeddings, you can use the vector
extension or the alloydb_scann
extension to create indexes for faster query performance.