# Google Cloud 기반 Vector RAG 구축 가이드 "순수 RAG" 즉, **Vector Search** 기반의 고도화된 시스템을 Google Cloud Platform(GCP)에서 구축하기 위한 가이드입니다. ## 1. 핵심 구글 서비스 (필요한 도구들) 고도화된 RAG를 구축하려면 다음 Vertex AI 서비스들을 조합해야 합니다. | 단계 | 역할 | Google 서비스명 | 설명 | | :--- | :--- | :--- | :--- | | **두뇌 (LLM)** | 답변 생성 | **Vertex AI Gemini** | 최종 답변을 작성하는 생성형 AI 모델 (Flash/Pro) | | **번역기 (Embedding)** | 텍스트 → 숫자 변환 | **Vertex AI Embeddings** | 문서를 AI가 이해하는 숫자(Vector)로 변환 (`text-embedding-004`) | | **저장소 (DB)** | 숫자 검색 (Vector DB) | **Vertex AI Vector Search** | 수억 개의 벡터 중 가장 유사한 것을 0.1초 내에 찾는 엔진 | | **저장소 (Raw)** | 원본 파일 저장 | **Cloud Storage (GCS)** | Notion에서 추출한 텍스트/JSON 파일을 저장하는 공간 | --- ## 2. 구축 과정 (Step-by-Step) ### Phase 1: 데이터 파이프라인 구축 (Data Ingestion) 매일 밤 또는 주기적으로 문서를 최신화하는 자동화 시스템입니다. 1. **Notion 데이터 추출**: * Python 스크립트(Cloud Functions)가 Notion API를 호출해 모든 페이지를 텍스트로 가져옵니다. * 데이터를 500~1000자 단위로 자릅니다(Chunking). 2. **임베딩 생성 (Embedding)**: * 자른 텍스트 조각들을 **Vertex AI Embeddings API**에 보냅니다. * API가 각 조각을 768차원(혹은 그 이상)의 숫자 배열(Vector)로 변환해 줍니다. 3. **Vector DB 적재**: * 변환된 Vector와 원본 텍스트 ID를 **Vertex AI Vector Search** 인덱스에 업로드(Upsert)하여 저장합니다. ### Phase 2: 검색 및 답변 시스템 (RAG Application) 실제 사용자가 채팅할 때 일어나는 실시간 프로세스입니다. 1. **질문 임베딩**: * 사용자: "SaaS 용어가 뭐야?" * 시스템: 이 질문을 **Embeddings API**에 보내 숫자로 변환합니다. 2. **유사도 검색 (Retrieval)**: * 시스템: 변환된 숫자를 **Vector Search**에 던져 "가장 거리가 가까운(의미가 비슷한) 문서 조각 5개 줘"라고 요청합니다. * Vector Search: Notion에 없는 단어라도 의미가 비슷하면 찾아냅니다. (예: 'SaaS' ↔ '클라우드 소프트웨어') 3. **답변 생성 (Generation)**: * 시스템: 찾아낸 문서 조각 5개 + 사용자 질문을 모아 **Gemini**에게 보냅니다. * Gemini: 근거 자료를 바탕으로 정확한 답변을 작성합니다. --- ## 3. (참고) 더 쉬운 방법: Vertex AI Agent Builder 위 과정을 일일이 개발하기 부담스럽다면, Google의 완전 관리형 서비스인 **Vertex AI Agent Builder (구 Search & Conversation)**를 사용할 수 있습니다. * **방식**: Notion 데이터(PDF/HTML 등)를 Google Cloud Storage에 넣고 "이거 검색기 만들어줘"라고 클릭 몇 번 하면, **위의 1~3번 과정(임베딩, 벡터 DB, 검색 로직)을 구글이 알아서 처리**해 줍니다. * **추천**: 개발 리소스가 부족하고 빠른 구축이 필요하다면 이 방식이 효율적입니다. "순수 RAG"를 직접 코딩으로 제어하고 싶다면 위의 Vector Search 방식을 씁니다.