| -- ============================================================================ | |
| -- Carboany Harness System β λ°©λ²λ‘ μλ² λ© (Vector DB) | |
| -- Migration: 007_methodology_embeddings | |
| -- | |
| -- μ€κ³ μμΉ: | |
| -- 1. pgvector: λ°©λ²λ‘ μ€λͺ ν μ€νΈμ μλ§¨ν± κ²μ | |
| -- 2. CDM/K-VER/GS/VCS λ μ§μ€νΈλ¦¬ ν΅ν© κ΄λ¦¬ | |
| -- 3. Ollama λλ OpenAI μλ² λ© λͺ¨λΈ μ°λ | |
| -- ============================================================================ | |
| -- pgvector νμ₯ νμ±ν (μνΌμ μ κΆν νμ) | |
| CREATE EXTENSION IF NOT EXISTS vector; | |
| -- ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| -- 1. λ°©λ²λ‘ μλ² λ© (Methodology Embeddings) | |
| -- νλ μ ν μ€λͺ β μ΅μ λ°©λ²λ‘ μλ λ§€μΉμ© λ²‘ν° μ μ₯μ | |
| -- ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| CREATE TABLE methodology_embeddings ( | |
| id UUID PRIMARY KEY DEFAULT gen_random_uuid(), | |
| methodology_code VARCHAR(50) NOT NULL, -- μ: 'CDM-AMS-III.AJ', 'K-VER-Energy' | |
| name VARCHAR(300) NOT NULL, -- λ°©λ²λ‘ μ μ λͺ μΉ | |
| registry VARCHAR(30) NOT NULL | |
| CHECK (registry IN ('CDM', 'K-VER', 'GS', 'VCS')), | |
| description TEXT, -- λ°©λ²λ‘ μ€λͺ (μλ² λ© μλ³Έ) | |
| embedding vector(1536) NOT NULL, -- μλ² λ© λ²‘ν° (OpenAI ada-002 / Ollama) | |
| metadata JSONB, -- μΆκ° λ©ν (μ μ© κ°λ₯ νλ μ ν, λ°°μΆ κ³μ λ±) | |
| created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP NOT NULL | |
| ); | |
| -- μ½μ¬μΈ μ μ¬λ κ²μμ© μΈλ±μ€ (IVFFlat β 1000κ° λ―Έλ§ λ μ½λ) | |
| CREATE INDEX idx_methodology_embedding ON methodology_embeddings | |
| USING ivfflat (embedding vector_cosine_ops) WITH (lists = 10); | |
| CREATE INDEX idx_methodology_code ON methodology_embeddings(methodology_code); | |
| CREATE INDEX idx_methodology_registry ON methodology_embeddings(registry); | |