구글 드라이브 + n8n을 활용한 데이터 전처리 시스템
기업 내부 문서 Q&A 시스템의 필요성
실제 기업 도입 사례
대기업 활용 현황
•
삼성, 한화, 현대: 이미 도입 완료된 대기업들
•
HR 부서 활용: 인사 관련 업무 효율화
•
실무 질문 해결: 휴가, 비용 처리, 승인 프로세스 등
일반적인 업무 문제점
•
규정 파악 어려움: 어떤 문서를 봐야 하는지 모름
•
담당자 의존성: 비전문 분야에 대한 정보 접근 어려움
•
문서 분산: 필요한 정보가 여러 문서에 흩어져 있음
내부 문서의 특성
보안 및 접근성 문제
•
내부 네트워크: 외부 크롤링 불가능한 환경
•
AI 학습 데이터 부재: 공개되지 않은 기업 특화 정보
•
보안 정책: 민감한 내부 정보 보호 필요
RAG(Retrieval-Augmented Generation) 시스템 개념
RAG의 기본 원리
AI 학습 데이터의 한계
•
학습되지 않은 데이터: AI가 접근할 수 없는 내부 문서
•
실시간 정보: 최신 업데이트된 내부 규정
•
기업 특화 정보: 고유한 업무 프로세스 및 규정
RAG 작동 방식
•
문서 수집: 내부 문서를 AI가 활용 가능한 형태로 변환
•
벡터 저장: 문서를 수치화하여 검색 가능한 형태로 저장
•
유사도 검색: 질문과 관련된 문서 자동 탐색
•
답변 생성: 관련 문서를 기반으로 한 정확한 답변 제공
문서 유사도 검색의 필요성
키워드 검색의 한계
다양한 표현 방식
•
동일 의미, 다른 표현: "50만원 지급", "50만원 누가 내야", "50만원 승인"
•
자연어 다양성: 사용자마다 다른 질문 방식
•
정확한 매칭 어려움: 단순 키워드로는 원하는 문서 찾기 힘듦
임베딩을 통한 해결
•
의미 벡터화: 문서와 질문을 수치 벡터로 변환
•
유사도 계산: 벡터 간 거리 계산을 통한 관련도 측정
•
컨텍스트 이해: 문맥적 유사성 기반 검색
Google Drive 연동 및 파일 수집
n8n 워크플로우 구성
트리거 설정
•
Manual Trigger: 수동 실행을 통한 제어
•
Read from Disk 한계: 자동 트리거 지원 안 함
•
Workflow 실행: 필요 시점에 수동으로 데이터 수집
Google Drive API 연동
•
인증 설정: Client ID 및 Secret 등록
•
Drive API 활성화: Google Cloud Console에서 API 권한 설정
•
파일 공유: 공유 링크를 통한 파일 접근 권한
파일 목록 관리 전략
Google Sheets를 통한 파일 관리
•
파일 리스트: 별도 스프레드시트에 파일 목록 정리
•
Drive 검색 한계: 폴더 내 파일 직접 검색 어려움
•
실용적 해결책: 수동 관리를 통한 안정적 파일 접근
파일 다운로드 프로세스
•
Loop over Items: 여러 파일의 순차적 처리
•
Google Sheets 연동: 파일 목록 자동 읽기
•
헤더 필수: 스프레드시트 첫 행에 컬럼명 필요
Vector Store 설정 및 선택
다양한 Vector Database 비교
Pinecone (권장)
•
특장점: 가장 성숙한 벡터 데이터베이스
•
무료 제한: 5개 인덱스까지 무료 (이전 10개에서 축소)
•
운영 적합성: 소규모 서비스 운영 가능
기타 옵션들의 한계
•
Milvus: 유료 서비스
•
PG Vector: 한국어 키워드 검색 미지원
•
MongoDB Atlas: 무료 제공하지만 기능 제한
Pinecone 설정 과정
인덱스 생성
•
API 키 발급: Pinecone 계정 생성 후 인증
•
인덱스 이름: 프로젝트별 구분을 위한 명명
•
호스팅 옵션: 자체 임베딩 모델 사용 권장
벡터 타입 및 설정
•
Dense vs Sparse: 일반적으로 Dense 벡터 사용
•
Dense 벡터: 조밀한 수치 배열 (예: [1, 4, 3, 7, 9])
•
Sparse 벡터: 대부분이 0인 배열 (예: [0, 0, 0, 1, 0])
임베딩 모델 및 유사도 측정
임베딩 모델 선택
OpenAI Embedding 모델
•
text-embedding-3-large: 고성능 임베딩 모델
•
차원 수: 3072 차원
•
소형 모델 비권장: text-embedding-3-small은 성능 저하
차원 수 설정
•
Google Embeddings: 일반적으로 768 차원
•
Cohere: 4096 차원
•
모델별 확인: 공식 문서를 통한 정확한 차원 수 확인
유사도 측정 방식
Cosine Similarity (권장)
•
원리: 벡터 간 각도 측정
•
장점: 벡터 크기에 무관한 방향성 측정
•
범용성: 가장 널리 사용되는 방식
기타 측정 방식
•
Euclidean Distance: 벡터 간 실제 거리 측정
•
Dot Product: 내적 계산, 벡터 크기에 영향받음
•
성능 고려: Dot Product는 빠르지만 부정확할 수 있음
문서 처리 및 청킹
텍스트 분할 전략
Recursive Character Text Splitter
•
LangChain 개념: 가장 효과적인 텍스트 분할 방식
•
계층적 분할: 문서 구조를 고려한 지능적 분할
•
범용성: 다양한 문서 형식에 적용 가능
청크 크기 최적화
•
Chunk Size: 150자 내외 권장
•
Overlap: 50자 내외 (전체의 20-30%)
•
토큰 효율성: 전체 문서 전달 시 토큰 낭비 방지
파일 형식 지원
지원 파일 타입
•
PDF: 기본 지원
•
DOCX: Word 문서 (실제 업무에서 주로 사용)
•
MIME Type: 파일 형식 자동 감지 및 처리
데이터 타입 설정
•
Binary Data: 파일 다운로드 후 바이너리 형태
•
문서 로더: 파일 형식에 맞는 적절한 파서 선택
데이터 임베딩 및 저장
임베딩 프로세스
문서 전처리
•
텍스트 분할: 설정된 청크 크기로 문서 분할
•
오버랩 처리: 문맥 연속성 보장을 위한 중복 구간
•
메타데이터 추가: 문서 출처 및 관련 정보
Vector Store 저장
•
임베딩 변환: 텍스트를 수치 벡터로 변환
•
Pinecone 업로드: 벡터와 메타데이터 저장
•
인덱싱: 빠른 검색을 위한 인덱스 구축
처리 결과 확인
성공적인 데이터 이전
•
Pinecone 대시보드: 저장된 벡터 수 확인
•
데이터 새로고침: 실시간 저장 상태 모니터링
•
품질 검증: 임베딩 품질 및 검색 성능 테스트
시스템 최적화 및 확장
성능 튜닝
청크 크기 최적화
•
테스트 기반 조정: 서비스별 최적 설정 발견
•
정답 없는 설정: 지속적인 실험을 통한 개선
•
사용자 피드백: 실제 검색 결과의 품질 평가
비용 효율성
•
무료 플랜 활용: 초기 테스트 및 소규모 운영
•
토큰 사용량: 적절한 청크 크기로 비용 절약
•
모델 선택: 성능과 비용의 균형점 찾기
확장 가능성
문서 유형 다양화
•
다양한 파일 형식: PDF, DOCX, TXT 등
•
멀티미디어: 이미지, 프레젠테이션 파일 처리
•
실시간 동기화: 문서 변경 시 자동 업데이트
사용자 인터페이스
•
검색 최적화: 자연어 질의 성능 향상
•
결과 랭킹: 관련도 기반 결과 정렬
•
피드백 시스템: 사용자 만족도 기반 개선
운영 고려사항
보안 및 접근 제어
•
내부 문서 보안: 민감 정보 보호
•
사용자 권한: 부서별/직급별 접근 제어
•
감사 로그: 문서 접근 기록 관리
유지보수 및 업데이트
•
정기적 재색인: 문서 변경 사항 반영
•
성능 모니터링: 검색 속도 및 정확도 추적
•
사용 패턴 분석: 자주 검색되는 정보 파악