Spaces:
Sleeping
Sleeping
File size: 1,446 Bytes
21480cd |
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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
-- 간단한 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; |