Супабаза и 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.

База данных из супабазы

Есть ли какой-нибудь способ фильтровать документы, а затем... выполнять всю логику запросов встраивания?

Спасибо!!!

0 ответов

Другие вопросы по тегам