* Introduced EmbeddingModel method in Client and Provider interfaces * Updated InsertThought and SearchThoughts methods to handle embedding models * Created embeddings table and updated match_thoughts function for model filtering * Removed embedding column from thoughts table * Adjusted permissions for new embeddings table
17 lines
667 B
SQL
17 lines
667 B
SQL
create table if not exists embeddings (
|
|
id bigserial primary key,
|
|
guid uuid not null default gen_random_uuid(),
|
|
thought_id uuid not null references thoughts(id) on delete cascade,
|
|
model text not null,
|
|
dim int not null,
|
|
embedding vector not null,
|
|
created_at timestamptz default now(),
|
|
updated_at timestamptz default now(),
|
|
constraint embeddings_guid_unique unique (guid),
|
|
constraint embeddings_thought_model_unique unique (thought_id, model)
|
|
);
|
|
|
|
create index if not exists embeddings_thought_id_idx on embeddings (thought_id);
|
|
|
|
alter table thoughts drop column if exists embedding;
|