과학.IT.AI

챗봇을 개발할때 Google Cloud Storage에 저장된 비정형 데이터 저장 및 활용 기술 받는 방법

AI
작성자
biolove2
작성일
2025-12-05 12:48
조회
18

Google Cloud Storage(GCS)에서 비정형 데이터를 저장하고 이를 Vertex AI 기반 챗봇(에이전트) 개발에 활용하는 방식은 텍스트 데이터와는 다르게 접근해야 합니다. 단순 텍스트 파일을 JSON으로 벡터화하여 저장하는 것은 RAG의 기본적인 접근 방식입니다.

하지만 문서, PDF, 이미지(PNG, JPG) 등의 비정형 데이터를 다룰 때는, 파일을 그대로 벡터화하는 것이 아니라 **파일에서 필요한 정보를 추출(Extraction)**하여 벡터화합니다.

비정형 데이터 저장 및 활용 기술

Vertex AI Agent Builder 환경에서 비정형 데이터를 저장하고 챗봇에 활용하는 주요 단계와 기술은 다음과 같습니다.

1. Google Cloud Storage에 원본 파일 저장

  • 저장 방식: PDF, PNG, JPG, Word 문서 등 원본 파일 그대로 GCS 버킷에 저장합니다. GCS는 대용량 비정형 데이터를 안정적으로 보관하는 데 최적화되어 있습니다.
  • 목적: 이는 LLM이 처리할 수 있는 형태로 변환하기 위한 '원본 데이터 레이크' 역할을 합니다.

2. 정보 추출 및 변환 (Extraction & Conversion)

GCS에 저장된 파일은 LLM이 바로 이해할 수 없으므로, Vertex AI의 다양한 서비스를 이용하여 LLM이 이해할 수 있는 형태(텍스트 또는 임베딩)로 변환해야 합니다.

파일 유형 추출 기술 (Vertex AI/Google Cloud) 추출 결과
PDF, Word, Docx Document AI (DocAI) 문서의 텍스트, 표 구조, 레이아웃 정보가 추출된 정형화된 JSON 또는 TXT 파일
PNG, JPG (이미지) Vertex AI Vision (멀티모달 LLM) 이미지 내의 OCR(광학 문자 인식) 텍스트이미지 설명 캡션
동영상, 음성 파일 Speech-to-Text API 또는 Vertex AI Video Intelligence 타임스탬프가 포함된 텍스트 스크립트

3. 추출된 텍스트의 벡터화 및 저장

추출된 텍스트는 RAG 시스템에서 활용할 수 있도록 벡터로 변환되어 저장됩니다.

  • 청크 분할 (Chunking): 추출된 텍스트는 의미 단위로 나누어집니다. (예: 500 토큰 단위)
  • 임베딩 (Embedding): Vertex AI의 텍스트 임베딩 모델을 사용하여 각 청크를 고차원 벡터로 변환합니다.
  • 저장소: 벡터화된 데이터는 다음과 같은 곳에 저장됩니다.

Vertex AI Vector Search (권장): Google Cloud에서 제공하는 관리형 벡터 데이터베이스로, 고성능의 유사성 검색에 최적화되어 있습니다.

Google Cloud Storage (GCS): 일부 RAG 구현 방식에서는 벡터 데이터 자체를 GCS에 JSON, CSV 또는 Parquet 파일 형태로 저장하고, 필요할 때 로드하여 사용하기도 합니다.

4. Vertex AI Agent Builder와의 연동

Agent Builder는 이 모든 과정을 **'데이터 스토어(Data Store)'**라는 개념으로 통합하여 처리합니다.

  • 데이터 스토어 연결: Agent Builder에서 GCS 버킷을 데이터 스토어로 지정합니다.
  • 자동 처리: Agent Builder는 GCS에 새로운 문서가 업로드되면, Document AI 등의 내부 파이프라인을 자동으로 트리거하여 텍스트를 추출하고, 이를 벡터화하여 Vector Search에 자동으로 적재하는 과정을 관리합니다.
  • 활용: 챗봇이 질문을 받으면, Agent Builder는 Vector Search에서 관련 벡터를 검색하여 Gemini 모델에 전달함으로써 비정형 데이터 기반의 정확한 답변을 생성하게 됩니다.

결론적으로, 비정형 데이터는 GCS에 원본 파일로 저장되지만, 챗봇이 활용하기 위해서는 Document AI나 멀티모달 LLM을 통해 텍스트로 추출된 후에야 비로소 벡터화되어 Vector Search에 저장됩니다.



GCS 원본 파일을 제거하면 안 되는 이유

1. RAG 시스템의 데이터베이스 업데이트 및 재구축의 필요성

RAG 시스템은 한 번 구축되었다고 끝나는 것이 아닙니다. 기업의 정책, 재판 기록 등 데이터는 지속적으로 업데이트되며, 때로는 시스템을 완전히 재구축해야 하는 경우가 발생합니다.

  • 데이터 업데이트 및 증분 처리: 새로운 문서가 추가되거나 기존 문서가 수정되면, RAG 시스템은 해당 원본 파일을 다시 읽어와서 새로운 임베딩을 생성하고 Vector DB에 **증분 업데이트(Incremental Update)**를 해야 합니다.
  • 모델 교체 및 재임베딩: 나중에 더 성능이 좋은 새로운 임베딩 모델이 출시되거나, Vector DB의 알고리즘을 변경해야 할 수 있습니다. 이때, Vector DB의 모든 벡터는 **새로운 모델을 사용하여 원본 파일로부터 다시 생성(Re-embedding)**되어야 합니다. 원본 파일이 없으면 이 재구축 작업 자체가 불가능해집니다.

2. LLM의 정확성 검증 (Tracing & Audit)

법률 기록과 같이 민감하고 중요한 데이터를 다룰 때는, LLM이 생성한 답변이 어떤 원본 문서를 근거로 했는지 추적하고 확인하는 것이 필수적입니다.

  • 원본 출처 연결: RAG 시스템은 일반적으로 벡터 검색 시 **원본 파일의 메타데이터(GCS 경로, 파일명)**를 함께 저장합니다. 최종 답변에 근거 문서를 표시하려면 GCS의 원본 파일 위치가 필요합니다.
  • 감사 및 규정 준수 (Compliance): 만약 챗봇이 잘못된 정보를 제공했을 경우, 어떤 원본 파일 때문에 오류가 발생했는지 **감사(Audit)**를 하려면 GCS의 원본 파일 기록이 반드시 필요합니다.

3. 멀티모달 기능의 지속적 활용

이미지(JPG, PNG)나 PDF 원본 파일은 다음과 같은 이유로도 필요합니다.

  • 원문 확인 링크: 사용자에게 답변 근거와 함께 원본 문서의 링크를 제공할 때 GCS의 원본 파일 URL이 사용됩니다.
  • 미래 기술 대비: 나중에 챗봇에 시각적인 Q&A 기능을 추가하여 사용자에게 원본 PDF의 특정 페이지를 보여주거나 이미지의 일부분을 강조하여 보여주는 기능을 개발할 때 원본 파일이 필요합니다.

데이터 관리 권장 사항

따라서, GCS의 원본 파일은 제거하는 대신, 보안과 비용 효율성을 높이는 방향으로 관리해야 합니다.

  • 보안 강화: GCS 버킷에 대한 접근 권한(IAM)을 최소한의 서비스 계정으로 제한하고, 외부 접근을 엄격히 차단해야 합니다.
  • 비용 최적화: 자주 접근하지 않는 오래된 원본 파일은 GCS의 **저비용 스토리지 클래스(Nearline 또는 Coldline)**로 전환하여 저장 비용을 크게 절감할 수 있습니다.
전체 0

전체 161
번호 제목 작성자 작성일 추천 조회
공지사항
"최악의 호스팅 서비스 경험 - 카페24 이용 후기 (실제 피해 사례)"
biolove2 | 2025.09.23 | 추천 0 | 조회 87
biolove2 2025.09.23 0 87
160
전산팀도 반기는 똑똑한 AI 도입법 - 전산팀의 부담을 줄이는 '저항 제로' 무중단 연동 전략
biolove2 | 2025.12.17 | 추천 0 | 조회 8
biolove2 2025.12.17 0 8
159
[전문가 가이드] 공공기관 AI 도입, '사이트 다운'과 '보안' 걱정 없는 완벽 전략
biolove2 | 2025.12.17 | 추천 0 | 조회 7
biolove2 2025.12.17 0 7
158
국산 클라우드(K-Cloud)와 글로벌 클라우드(GCP)의 기술적 차이 및 공공 부문 RAG 도입 시 핵심 보안 고려사항
biolove2 | 2025.12.17 | 추천 0 | 조회 8
biolove2 2025.12.17 0 8
157
한국 공공기관 및 지자체의 클라우드 도입 현황과 AWS 비중
biolove2 | 2025.12.17 | 추천 0 | 조회 9
biolove2 2025.12.17 0 9
156
GCP와 AWS 선택의 득과 실 - 개발자 vs 클라이언트
biolove2 | 2025.12.17 | 추천 0 | 조회 7
biolove2 2025.12.17 0 7
155
개발 측면과 클라이언트 측면(사용업체)의 난이도 및 비용을 비교 분석
biolove2 | 2025.12.17 | 추천 0 | 조회 6
biolove2 2025.12.17 0 6
154
글로벌 클라우드 빅3(GCP, AWS, Azure) 비교 가이드, 기술 영역별 상세 비교
biolove2 | 2025.12.17 | 추천 0 | 조회 8
biolove2 2025.12.17 0 8
153
AWS EC2 (Elastic Compute Cloud) 개념, 구성요소, 핵심 특징, 요금 모델, EC2 vs 다른 서비스
biolove2 | 2025.12.17 | 추천 0 | 조회 8
biolove2 2025.12.17 0 8
152
VM (가상 머신, Virtual Machine) 핵심 개념 -가상화(Virtualization), 구성 요소, 장점, 주요 서비스
biolove2 | 2025.12.17 | 추천 0 | 조회 8
biolove2 2025.12.17 0 8
151
구글 클라우드 플랫폼(GCP) 용어를 쉽게 이해하고 오래 기억할 수 있는 효과적인 학습 전략
biolove2 | 2025.12.17 | 추천 0 | 조회 6
biolove2 2025.12.17 0 6
150
IaaS, PaaS, SaaS, CaaS 비교(비유)설명, 서비스형태 예시
biolove2 | 2025.12.17 | 추천 0 | 조회 8
biolove2 2025.12.17 0 8
149
클러스터 컨트롤 플레인 (Cluster Control Plane)의 개념 및 역할, 4가지 핵심 구성 요소, 고가용성
biolove2 | 2025.12.17 | 추천 0 | 조회 6
biolove2 2025.12.17 0 6
148
워크로드 (Workload) 정의 및 중요성, 주요 유형, 클라우드 환경에서 장점
biolove2 | 2025.12.17 | 추천 0 | 조회 7
biolove2 2025.12.17 0 7
147
RAG 시스템의 현재 시장 단계, Vertex AI 인력 희소성
biolove2 | 2025.12.17 | 추천 0 | 조회 10
biolove2 2025.12.17 0 10
146
Google Cloud 기반 RAG 시스템 업종별 적용 사례
biolove2 | 2025.12.17 | 추천 0 | 조회 8
biolove2 2025.12.17 0 8
145
Geolocation API (지리적 위치 API) 개념 및 핵심, 주요 기능 및 메서드, 반환되는 위치 정보 객체 (Position), 활용 사례
biolove2 | 2025.12.16 | 추천 0 | 조회 8
biolove2 2025.12.16 0 8
144
Google Cloud CLI (gcloud CLI) 상세 설명, GUI vs CLI, 주요 구성 요소, 주요 명령어
biolove2 | 2025.12.16 | 추천 0 | 조회 11
biolove2 2025.12.16 0 11
143
Google Cloud Bigtable 상세 설명, 모델 (구조), 용도, RDBMS와의 차이
biolove2 | 2025.12.16 | 추천 0 | 조회 9
biolove2 2025.12.16 0 9
142
인스턴스(Instance), 클러스터(Cluster), 노드(Node) - 개념 정리, 관계도 (구조)
biolove2 | 2025.12.16 | 추천 0 | 조회 10
biolove2 2025.12.16 0 10
141
MCP(Model Context Protocol) 상세 설명, 등장한 배경, 작동 구조, 장점, 활용 예시
biolove2 | 2025.12.14 | 추천 0 | 조회 10
biolove2 2025.12.14 0 10