Skip to content

Latest commit

 

History

History
90 lines (68 loc) · 3.17 KB

supabase.md

File metadata and controls

90 lines (68 loc) · 3.17 KB

Supabase

Prerequisite

  1. Register an account for Supabase

  2. Click New project\

  3. Input required fields
    Name, name of the project to be created. (e.g. Flowise)
    Database Password, password to your postgres database. (e.g. click Generate a password)\

  4. Click Create new project and wait for the project to finish setting up

  5. Click SQL Editor\

  6. Click New query\

  7. Copy & Paste query and run it by Ctrl + Enter or click RUN
    Table name: documents
    Query name: match_documents

    -- Enable the pgvector extension to work with embedding vectors
    create extension vector;
    
    -- Create a table to store your documents
    create table documents (
      id bigserial primary key,
      content text, -- corresponds to Document.pageContent
      metadata jsonb, -- corresponds to Document.metadata
      embedding vector(1536) -- 1536 works for OpenAI embeddings, change if needed
    );
    
    -- Create a function to search for documents
    create function match_documents (
      query_embedding vector(1536),
      match_count int DEFAULT null,
      filter jsonb DEFAULT '{}'
    ) returns table (
      id bigint,
      content text,
      metadata jsonb,
      similarity float
    )
    language plpgsql
    as $$
    #variable_conflict use_column
    begin
      return query
      select
        id,
        content,
        metadata,
        1 - (documents.embedding <=> query_embedding) as similarity
      from documents
      where metadata @> filter
      order by documents.embedding <=> query_embedding
      limit match_count;
    end;
    $$;sql
    
    

Setup

  1. Click Project Settings\

  2. Get your Project URL & API Key

  3. Copy & Paste each details (API Key, URL, Table Name, Query Name) into Supabase Upsert Document node or Supabase Load Existing node

  4. Document can be connect with any node under Document Loader category

  5. Embeddings can be connect with any node under Embeddings category

Resources