feat(embeddings): add embedding model support and related changes

* 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
This commit is contained in:
Hein
2026-03-25 16:25:41 +02:00
parent c8ca272b03
commit cebef3a07c
19 changed files with 259 additions and 88 deletions

View File

@@ -0,0 +1,16 @@
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;