-- ============================================================================ -- 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);