embedding-config: Notion CS 지식베이스 임베딩 시스템

프로젝트 목표

Notion에 저장된 CS팀 백과사전을 벡터 임베딩하여 AI 기반 검색 시스템 구축.

데이터 현황

  • notion_blocks: 9,477개 (텍스트 콘텐츠 약 5,500개)
  • notion_pages: 200개 페이지
  • 예상 임베딩: 약 2,000-3,000개 청크

기술 스택

  • Database: Supabase (PostgreSQL + pgvector)
  • Embedding: Ollama embeddinggemma 모델 (GPU-03 서버)
  • Chunking: 섹션 기반 (heading_2 기준, 최대 2,500자)
  • Automation: N8N 워크플로우
  • Environment: nix-shell

주요 기능

청킹 전략

  • 섹션 기반: heading_2 기준 분리
  • 크기 제한: 최대 2,500자
  • 최소 크기: 100자 이상

카테고리 자동 분류 (10개)

계정관리, 디바이스, 결제/구독, 오류해결, 구글홈, 알렉사, 네트워크, 앱사용법, 스마트홈, 일반문의

메타데이터

  • source_type: ‘notion_cs’
  • page_id: Notion 페이지 ID
  • section_title: 섹션 제목
  • category: 자동 분류 카테고리
  • keywords: 추출된 키워드
  • created_at/updated_at: 시간 정보

성능

  • 처리 시간: 전체 30-40분 (청크당 0.5-1초)
  • 검색 응답: <200ms
  • 유사도 임계값: 0.7
  • 기본 반환: 5개

문서 구조 (7개 docs/)

타임라인

  1. CHECKPOINT_20250912.md

    • 체크포인트
  2. HIGH_QUALITY_EMBEDDING_STRATEGY.md

    • 고품질 임베딩 전략
  3. IMPLEMENTATION_GUIDE.md

    • 구현 가이드
  4. N8N_MODEL_SELECTION_GUIDE.md

    • N8N 모델 선택 가이드
  5. N8N_RAG_INTEGRATION_GUIDE.md

    • N8N RAG 통합 가이드
  6. N8N_SETUP_GUIDE.md

    • N8N 설정 가이드
  7. RAG_ESSENTIAL_GUIDE.md

    • RAG 필수 가이드

사고의 발전

파일명 타임라인이 보여주는 흐름:

  • 전략 수립 (HIGH_QUALITY_EMBEDDING_STRATEGY)
  • 구현 (IMPLEMENTATION_GUIDE)
  • 자동화 (N8N 3개 가이드)
  • 본질 이해 (RAG_ESSENTIAL_GUIDE)
  • 체크포인트 (CHECKPOINT)

실행 흐름

# 1. 스키마 생성
docker exec -i storage-supabase-db-1 psql -U postgres -d postgres < create_schema.sql
 
# 2. 환경 진입
nix-shell
 
# 3. 임베딩 실행
python process_notion_cs.py
 
# 4. 검색 테스트
python test_search.py

검색 함수

SELECT * FROM match_notion_cs_documents(
    query_embedding,  -- 쿼리 임베딩
    0.7,             -- 유사도 임계값
    5,               -- 반환 개수
    '구글홈'          -- 카테고리 필터 (선택)
);

메타정보

이 프로젝트는 회사 내부 CS 지식베이스를 AI 검색 가능하게 만드는 실용적 시스템이다.

포트폴리오 가치:

  • 실무 적용: 실제 운영 중인 CS 시스템
  • 기술 통합: Supabase + Ollama + N8N + NixOS
  • 성능 최적화: 9,477개 블록 → 2-3천 청크, 200ms 검색
  • 자동화: N8N 워크플로우 구축

작성자: Jung Han (junghan0611)