Skip to main content

PostgreSQL

RAG Pipeline Quickstart with PostgreSQL

Approximate time to complete: 5-10 minutes, excluding prerequisites

This quickstart will walk you through creating and scheduling a pipeline that uses a web crawler to ingest data from the Vectorize documentation, creates vector embeddings using an OpenAI embedding model, and writes the vectors to a PostgreSQL vector database using Supabase.

Before you begin

Before starting, ensure you have access to the credentials, connection parameters, and API keys as appropriate for the following:

Step 1: Create a PostgreSQL Database

Create Your Database

  1. The first time you log in to Supabase, you'll be prompted to create an organization. Name your organization, select the organization type and the desired plan, then click Create organization.

    Create Organization

  2. You'll be prompted to create a project. Name your project, set and securely save your database password, select your region, then click Create new project.

    Create Project

  3. Go to Project Settings, then select Database under Configuration. Save and securely store the host, database name, port, and user.

    Create Project

Enable pgVector

pgVector is a PostgreSQL extension which allows you to store vector embeddings directly in your existing database, eliminating the need for a separate vector database.

  1. Navigate to the SQL Editor in the Supabase dashboard.

  2. In the query editor, enter and run the following command to enable the pgVector extension in your database.

    CREATE EXTENSION IF NOT EXISTS vector;
  3. Verify that pgVector has been enabled.

    Create Project

Step 2: Create a RAG Pipeline on Vectorize

Create a New RAG Pipeline

  1. Open the Vectorize Application Console ↗

  2. From the dashboard, click on + New RAG Pipeline under the "RAG Pipelines" section.

    New RAG Pipeline

  3. Enter a name for your pipeline. For example, you can name it quickstart-pipeline.

  4. Click on New Vector DB to create a new vector database integration.

    Name Pipeline

  5. Select PostgreSQL from the list of vector databases.

    PostgreSQL Card

  6. Enter the parameters in the form using the PostgreSQL Parameters table below as a guide, then click Create PostgreSQL Integration.

    Create PostgreSQL Integration

PostgreSQL Parameters

FieldDescriptionRequired
NameA descriptive name to identify the integration within Vectorize.Yes
HostThe name of the host where your database is located.Yes
PortThe port you'll connect to.Yes
DatabaseYour database name.Yes
UsernameThe name of the user used to connect to your database.Yes
PasswordThe user's password.Yes

Configure the PostgreSQL integration in your RAG Pipeline

You can think of the PostgreSQL integration as having two parts to it. The first is authorization with your PostgreSQL cluster. This part is re-usable across pipelines and allows you to connect to this same application in different pipelines without providing the credentials every time.

The second part is the configuration that's specific to your RAG Pipeline. This is where you specify the name of the table in your PostgreSQL database. If the table does not already exist, Vectorize will create it for you.

Create PostgreSQL Integration

Configure AI Platform

  1. Click on New AI Platform.

    New AI Platform

  2. Select OpenAI from the AI platform options.

    Select OpenAI

  3. In the OpenAI configuration screen:

    • Enter a descriptive name for your OpenAI integration.
    • Enter your OpenAI API Key.

    Configure OpenAI

  4. Leave the default values for embedding model, chunk size, and chunk overlap for the quickstart.

    Set Embedding Model

Add Source Connectors

  1. Click on Add Source Connector.

Web Crawler Source

  1. Choose the type of source connector you'd like to use. In this example, select Web Crawler.

Choose Web Crawler

Configure Web Crawler Integration

  1. Name your web crawler source connector, e.g., vectorize-docs.
  2. Set Seed URL(s) to https://docs.vectorize.io.

Configure Web Crawler

  1. Click Create Web Crawler Integration to proceed.

Configure Web Crawler Pipeline

  1. Accept all the default values for the web crawler pipeline configuration:
    • Throttle Wait Between Requests: 500 ms
    • Maximum Error Count: 5
    • Maximum URLs: 1000
    • Maximum Depth: 50
    • Reindex Interval: 3600 seconds

Web Crawler Pipeline Configuration

  1. Click Save Configuration.

Verify Source Connector and Schedule Pipeline

  1. Verify that your web crawler connector is visible under Source Connectors.
  2. Click Next: Schedule RAG Pipeline to continue.

Verify Source Connector

Schedule RAG Pipeline

  1. Accept the default schedule configuration
  2. Click Create RAG Pipeline.

Schedule RAG Pipeline

Step 3: Monitor and Test Your Pipeline

Monitor Pipeline Creation and Backfilling

  1. The system will now create, deploy, and backfill the pipeline.
  2. You can monitor the status changes from Creating Pipeline to Deploying Pipeline and Starting Backfilling Process.

Pipeline Creation

  1. Once the initial population is complete, the RAG pipeline will begin crawling the Vectorize docs and writing vectors to your Pinecone index.

Pipeline Backfilling

View RAG Pipeline Status

  1. Once the website crawling is complete, your RAG pipeline will switch to the Listening state, where it will stay until more updates are available.

Pipeline Listening State

  1. Your vector index is now populated and we can try it out using the RAG Sandbox, to do so click on RAG Pipelines from the left hand menu.

RAG Pipelines Page

Test Your Pipeline in the RAG Sandbox

  1. After your pipeline is running, open the RAG Sandbox for the pipeline by clicking the magnifying glass icon on the RAG Pipelines page.

Open RAG Sandbox

  1. In the RAG Sandbox, you can ask questions about the data ingested by the web crawler.
  2. Type a question into the input field (e.g., "What are the key features of Vectorize?"), and click Submit.

Ask Questions in Sandbox

  1. The system will return the most relevant chunks of information from your indexed data, along with an LLM response.

This completes the RAG pipeline quickstart. Your RAG pipeline is now set up and ready for use with PostgreSQL and Vectorize.

Was this page helpful?