Cloud SQL을 사용한 생성형 AI RAG

이 가이드에서는 Google에서 제공하는 채팅 앱 템플릿인 Cloud SQL을 사용한 생성형 AI RAG 템플릿을 이해하는 데 도움을 줍니다. 이 템플릿은 검색 증강 생성 (RAG)을 사용하는 채팅 애플리케이션을 만드는 방법을 보여줍니다. 사용자가 앱에서 질문하면 데이터베이스에 벡터로 저장된 정보를 기반으로 대답을 제공합니다.

사용 제품

애플리케이션에는 다음 Google Cloud 제품이 포함됩니다.

  • Cloud Load Balancing(선택사항): Google Cloud에서 확장 가능한 고성능 부하 분산을 제공하는 서비스입니다.
  • Vertex AI: ML 모델과 AI 애플리케이션을 학습시키고 배포하며, 애플리케이션에서 사용할 LLM을 맞춤설정할 수 있는 머신러닝 (ML) 플랫폼입니다.
  • Cloud SQL:Google Cloud 인프라에서 완전 관리되는 MySQL, PostgreSQL, SQL Server 데이터베이스를 위한 클라우드 기반 서비스입니다.
  • Cloud Run: 서버리스 컨테이너화된 앱을 빌드하고 배포할 수 있는 완전 관리형 서비스입니다.Google Cloud 에서 확장과 기타 인프라 작업을 처리합니다.
  • Secret Manager: API 키, 비밀번호, 인증서, 기타 민감한 데이터를 위한 안전하고 편리한 스토리지 시스템입니다.

아키텍처

다음 이미지는 애플리케이션의 구성요소와 연결을 보여줍니다.

디자인 캔버스에 있는 생성형 AI RAG 애플리케이션 애플리케이션에는 프런트엔드, 검색, AI, 보안 비밀 관리, 데이터베이스 구성요소가 포함됩니다.

다음은 애플리케이션의 요청 처리 흐름입니다.

  1. Cloud SQL의 PostgreSQL 데이터베이스에 데이터를 로드합니다.
  2. Vertex AI는 텍스트 필드의 임베딩을 생성하고 벡터로 저장합니다.
  3. Cloud Load Balancing 프런트엔드는 외부 요청을 수신하고 트래픽을 Cloud Load Balancing 백엔드에 분산합니다.
  4. Cloud Load Balancing 백엔드는 트래픽을 Cloud Run 프런트엔드 서비스로 분산합니다.
  5. 생성형 AI 호출을 위해 프런트엔드 서비스가 검색 서비스와 통신합니다.
  6. 백엔드 서비스가 요청을 임베딩으로 변환하고 기존 임베딩을 검색합니다.
  7. 검색 서비스는 임베딩 검색의 자연어 결과와 원본 프롬프트를 Vertex AI로 전송하여 대답을 생성합니다.

다음 단계