From 03daddd2fa31594e4437a4501cf6c98f4168e42b Mon Sep 17 00:00:00 2001 From: hailin Date: Thu, 29 May 2025 01:57:44 +0800 Subject: [PATCH] . --- .../20240108234545_add_file_items.sql | 44 +++++++++++++++++-- 1 file changed, 40 insertions(+), 4 deletions(-) diff --git a/chatdesk-ui/supabase/migrations/20240108234545_add_file_items.sql b/chatdesk-ui/supabase/migrations/20240108234545_add_file_items.sql index fd4042e..4ecc18a 100644 --- a/chatdesk-ui/supabase/migrations/20240108234545_add_file_items.sql +++ b/chatdesk-ui/supabase/migrations/20240108234545_add_file_items.sql @@ -119,8 +119,37 @@ begin end; $$; +-- create function match_file_items_bge_m3 ( +-- query_embedding vector(1024), +-- match_count int DEFAULT null, +-- file_ids UUID[] DEFAULT null +-- ) returns table ( +-- id UUID, +-- file_id UUID, +-- content TEXT, +-- tokens INT, +-- similarity float +-- ) +-- language plpgsql +-- as $$ +-- #variable_conflict use_column +-- begin +-- return query +-- select +-- id, +-- file_id, +-- content, +-- tokens, +-- 1 - (file_items.bge_m3_embedding <=> query_embedding) as similarity +-- from file_items +-- where (file_id = ANY(file_ids)) +-- order by file_items.bge_m3_embedding <=> query_embedding +-- limit match_count; +-- end; +-- $$; + create function match_file_items_bge_m3 ( - query_embedding vector(1024), + query_embedding "extensions"."vector"(1024), match_count int DEFAULT null, file_ids UUID[] DEFAULT null ) returns table ( @@ -140,10 +169,17 @@ begin file_id, content, tokens, - 1 - (file_items.bge_m3_embedding <=> query_embedding) as similarity + 1 - ( + file_items.bge_m3_embedding::"extensions"."vector"(1024) + <=> + query_embedding::"extensions"."vector"(1024) + ) as similarity from file_items - where (file_id = ANY(file_ids)) - order by file_items.bge_m3_embedding <=> query_embedding + where file_id = ANY(file_ids) + order by + file_items.bge_m3_embedding::"extensions"."vector"(1024) + <=> + query_embedding::"extensions"."vector"(1024) limit match_count; end; $$; \ No newline at end of file