diff --git a/data/supabase/migrations/20230716205610_change_embedding_function_id_type.sql b/data/supabase/migrations/20230716205610_change_embedding_function_id_type.sql new file mode 100644 index 0000000..230c8e7 --- /dev/null +++ b/data/supabase/migrations/20230716205610_change_embedding_function_id_type.sql @@ -0,0 +1,29 @@ +drop function if exists match_embeddings(vector(1536), int, jsonb); + +-- Create a function to search for embeddings +create function match_embeddings ( + query_embedding vector(1536), + match_count int default null, + filter jsonb DEFAULT '{}' +) returns table ( + id uuid, + content text, + metadata jsonb, + similarity float +) +language plpgsql +as $$ +#variable_conflict use_column +begin + return query + select + id, + content, + metadata, + 1 - (embeddings.embedding <=> query_embedding) as similarity + from embeddings + where metadata @> filter + order by embeddings.embedding <=> query_embedding + limit match_count; +end; +$$;