🇦🇺 Hello Australia! Sydney region is officially live on Neon.Sign Up
AI & embeddings/AI tools

Google Colab

Use Google Colab with Neon for vector similarity search

Google Colab is a hosted Jupyter Notebook service that requires no setup to use and provides free access to computing resources, including GPUs and TPUs. You can use Google Colab to run python code through the browser.

This guide shows how to create a notebook in Colab, connect to a Neon database, install the pgvector extension to enabled Neon as a vector store, and run a vector search query.

Prerequisites

To perform the steps in this guide, you require a Neon database for storing vectors. You can use the ready-to-use neondb database or create your own. See Create a database for instructions.

Retrieve your database connection string

In the Connection Details widget on the Neon Dashboard, select a branch, a user, and the database you want to connect to. A connection string is constructed for you.

Connection details widget

Create a notebook

In your browser, navigate to Google Colab, and click New notebook.

Google Colab

Alternatively, you can open a predefined Google Colab notebook for this guide by clicking the Open in Colab button below.

Open In Colab

Connect to your database

  1. In your Colab notebook, create a code block to define your database connection and create a cursor object. Replace postgres://[user]:[password]@[neon_hostname]/[dbname] with the database connection string you retrieved in the previous step.

    import osimport psycopg2# Provide your Neon connection stringconnection_string = "postgres://[user]:[password]@[neon_hostname]/[dbname]"# Connect using the connection stringconnection = psycopg2.connect(connection_string)# Create a new cursor objectcursor = connection.cursor()
  2. Execute the code block (Ctrl + Enter).

  3. Add a code block for testing the database connection.

    # Execute this query to test the database connectioncursor.execute("SELECT 1;")result = cursor.fetchone()# Check the query resultif result == (1,):    print("Your database connection was successful!")else:    print("Your connection failed.")
  4. Execute the code block (Ctrl + Enter).

Install the pgvector extension

  1. Create a codeblock to install the pgvector extension to enable your Neon database as a vector store:

    # Execute this query to install the pgvector extensioncursor.execute("CREATE EXTENSION IF NOT EXISTS vector;")
  2. Execute the code block (Ctrl + Enter).

Create a table and add vector data

  1. Add a code block to create a table and insert data:

    create_table_sql = '''CREATE TABLE items (id BIGSERIAL PRIMARY KEY,embedding VECTOR(3));'''# Insert datainsert_data_sql = '''INSERT INTO items (embedding) VALUES ('[1,2,3]'), ('[4,5,6]'), ('[7,8,9]');'''# Execute the SQL statementscursor.execute(create_table_sql)cursor.execute(insert_data_sql)# Commit the changesconnection.commit()
  2. Execute the code block (Ctrl + Enter).

Query your data

  1. Add a codeblock to perform a vector similarity search.

    cursor.execute("SELECT * FROM items ORDER BY embedding <-> '[3,1,2]' LIMIT 3;")all_data = cursor.fetchall()print(all_data)
  2. Execute the code block (Ctrl + Enter).

Next steps

For more information about using Neon with pgvector, see The pgvector extension.

Need help?

Join our Discord Server to ask questions or see what others are doing with Neon. Neon Pro Plan users can open a support ticket from the console. For more detail, see Getting Support.

Last updated on

Edit this page
Was this page helpful?