Супабаза и pgvector
привет, как я могу добавить собственный фильтр к функции sql в базе данных superbase, которая использует pgvector для хранения вложений.
create table documents (
id bigserial primary key,
content text,
embedding vector(1536),
custom_id text // Custom id for each company
);
Что-то вроде этого:
create
or replace function match_documents (
query_embedding vector (1536),
match_threshold float,
match_count int,
custom_id text
) returns table (id bigint, content text, similarity float) language sql stable as $$
select
documents.id,
documents.content,
1 - (documents.embedding <=> query_embedding) as similarity
from documents
where documents.custom_id = match_documents.custom_id AND 1 - (documents.embedding <=> query_embedding) > match_threshold
order by similarity desc
limit match_count;
$$;
Звонок из проекта:
const { data: documents, error } = await supabaseClient.rpc('match_documents', {
query_embedding: embedding,
match_threshold: .73, // Choose an appropriate threshold for your data
match_count: 10, // Choose the number of matches
custom_id: "2",
})
В базе данных у меня есть разные внедрения, и если я задаю вопрос, передавая custom_id, он не учитывает фильтрwhere и отвечает информацией о внедрениях, которые не принадлежат этому Cutom_id.
Есть ли какой-нибудь способ фильтровать документы, а затем... выполнять всю логику запросов встраивания?
Спасибо!!!