File size: 1,191 Bytes
1ae6115
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
CREATE EXTENSION IF NOT EXISTS vector;
CREATE EXTENSION IF NOT EXISTS pg_trgm;
CREATE TABLE forms_directory (
    id SERIAL PRIMARY KEY,
    form_name TEXT NOT NULL,
    category VARCHAR(100),
    file_type VARCHAR(20),
    source_url TEXT NOT NULL,
    description TEXT,
    notes TEXT,
    created_at TIMESTAMP DEFAULT NOW()
);
CREATE TABLE documents (
    id SERIAL PRIMARY KEY,
    filename TEXT NOT NULL,
    source_url TEXT,
    file_type VARCHAR(20),
    language VARCHAR(10) DEFAULT 'sv',
    scraped_at TIMESTAMP DEFAULT NOW()
);
CREATE TABLE document_chunks (
    id SERIAL PRIMARY KEY,
    document_id INT REFERENCES documents(id),
    chunk_text TEXT NOT NULL,
    chunk_index INT,
    embedding VECTOR(768),
    created_at TIMESTAMP DEFAULT NOW()
);
CREATE TABLE evaluation_logs (
    id SERIAL PRIMARY KEY,
    user_query TEXT,
    generated_sql TEXT,
    raw_result TEXT,
    final_answer TEXT,
    sql_accuracy_score INT,
    faithfulness_score INT,
    created_at TIMESTAMP DEFAULT NOW()
);
CREATE INDEX idx_forms_name_trgm ON forms_directory USING gin (form_name gin_trgm_ops);
CREATE INDEX idx_chunks_embedding ON document_chunks USING hnsw (embedding vector_cosine_ops);