20 lines
741 B
SQL
20 lines
741 B
SQL
-- Table for storing message metadata and embeddings
|
|
-- Embeddings stored as BLOB for proof-of-concept
|
|
-- For production with many contacts, consider using sqlite-vec extension
|
|
CREATE TABLE message_embeddings (
|
|
id INTEGER PRIMARY KEY NOT NULL,
|
|
contact TEXT NOT NULL,
|
|
body TEXT NOT NULL,
|
|
timestamp BIGINT NOT NULL,
|
|
is_sent BOOLEAN NOT NULL,
|
|
embedding BLOB NOT NULL,
|
|
created_at BIGINT NOT NULL,
|
|
model_version TEXT NOT NULL,
|
|
-- Prevent duplicate embeddings for the same message
|
|
UNIQUE(contact, body, timestamp)
|
|
);
|
|
|
|
-- Indexes for efficient queries
|
|
CREATE INDEX idx_message_embeddings_contact ON message_embeddings(contact);
|
|
CREATE INDEX idx_message_embeddings_timestamp ON message_embeddings(timestamp);
|