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 페이지 IDsection_title: 섹션 제목category: 자동 분류 카테고리keywords: 추출된 키워드created_at/updated_at: 시간 정보
성능
- 처리 시간: 전체 30-40분 (청크당 0.5-1초)
- 검색 응답: <200ms
- 유사도 임계값: 0.7
- 기본 반환: 5개
문서 구조 (7개 docs/)
타임라인
-
- 체크포인트
-
HIGH_QUALITY_EMBEDDING_STRATEGY.md
- 고품질 임베딩 전략
-
- 구현 가이드
-
- N8N 모델 선택 가이드
-
- N8N RAG 통합 가이드
-
- N8N 설정 가이드
-
- 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)