119_ChatBot / supabase_setup_simple.sql
Muyeong Kim
Upgrade to OpenAI + Supabase RAG Chatbot with enhanced capabilities
21480cd
-- 간단한 Supabase 설정 SQL
-- 이 버전은 기본 기능만 포함하여 호환성을 높입니다.
-- 1. pgvector 확장 활성화
CREATE EXTENSION IF NOT EXISTS vector;
-- 2. documents 테이블 생성 (필수 항목만)
CREATE TABLE IF NOT EXISTS documents (
id SERIAL PRIMARY KEY,
content TEXT NOT NULL,
metadata JSONB DEFAULT '{}',
embedding vector(1536), -- OpenAI text-embedding-3-small 차원
source_file VARCHAR(255),
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);
-- 3. 기본 인덱스 생성 (테이블 생성 후)
CREATE INDEX IF NOT EXISTS documents_created_at_idx
ON documents (created_at);
-- 4. 벡터 유사도 검색 함수 (가장 간단한 버전)
CREATE OR REPLACE FUNCTION search_similar_documents(
query_embedding vector(1536),
match_count int DEFAULT 10
)
RETURNS TABLE (
id int,
content text,
metadata jsonb,
similarity float
) AS $$
BEGIN
RETURN QUERY
SELECT
d.id,
d.content,
d.metadata,
1 - (d.embedding <=> query_embedding) as similarity
FROM documents d
ORDER BY d.embedding <=> query_embedding
LIMIT match_count;
END;
$$ LANGUAGE plpgsql;
-- 5. 성공 메시지
SELECT 'Supabase setup completed successfully!' as status;
-- 6. 테이블 구조 확인
SELECT
column_name,
data_type,
is_nullable
FROM information_schema.columns
WHERE table_name = 'documents'
ORDER BY ordinal_position;