이 페이지에서는 Vertex AI Search에서 데이터를 사용하여 응답을 그라운딩하는 방법을 설명합니다.
Gemini를 사용자 데이터에 그라운딩
검색 증강 생성(RAG)을 수행하려면 모델을 웹사이트 데이터 또는 문서 집합에 연결한 후 Vertex AI Search로 그라운딩을 사용합니다.
데이터에 그라운딩은 최대 10개의 Vertex AI Search 데이터 소스를 지원하며 Google Search로 그라운딩과 조합할 수 있습니다.
지원되는 모델
이 섹션에서는 데이터로 그라운딩을 지원하는 모델을 보여줍니다.
- Gemini 2.5 Flash (프리뷰)
- Gemini 2.5 Flash-Lite (프리뷰)
- Gemini 2.5 Flash-Lite
- Live API 네이티브 오디오를 사용한 Gemini 2.5 Flash (프리뷰)
- Live API를 사용한 Gemini 2.0 Flash (프리뷰)
- Gemini 2.5 Pro
- Gemini 2.5 Flash
- Gemini 2.0 Flash
기본 요건
모델 출력을 데이터에 그라운딩하려면 먼저 다음을 수행합니다.
- Google Cloud 콘솔에서 IAM 페이지로 이동하여 그라운딩 서비스가 작동하는 데 필요한 - discoveryengine.servingConfigs.search권한을 검색합니다.
- AI Applications를 사용 설정하고 API를 활성화합니다. 
- AI Applications 데이터 소스 및 애플리케이션을 만듭니다. 
자세한 내용은 Vertex AI Search 소개를 참조하세요.
AI 애플리케이션 사용 설정
- Google Cloud 콘솔에서 AI 애플리케이션 페이지로 이동합니다. 
- 서비스 약관을 읽고 동의한 후 계속 및 API 활성화를 클릭합니다. 
AI Applications는 global 위치 또는 eu 및 us 멀티 리전에서 사용할 수 있습니다. 자세한 내용은 AI Applications 위치를 참조하세요.
AI Applications에서 데이터 스토어 만들기
AI Applications에서 데이터 스토어를 만들려면 웹사이트 데이터 또는 문서로 그라운딩하도록 선택할 수 있습니다.
웹사이트
- Google Cloud 콘솔에서 데이터 스토어 만들기 페이지를 엽니다. 
- 웹사이트 콘텐츠 상자박스에서 선택을 클릭합니다. 
 데이터 스토어의 웹사이트 지정 창이 표시됩니다.
- 고급 웹사이트 색인 생성이 선택되지 않았으면 고급 웹사이트 색인 생성 체크박스를 선택하여 사용 설정합니다. 
 데이터 스토어 구성 창이 표시됩니다.
- 색인 생성할 URL 패턴 지정 섹션에서 다음을 수행합니다. - 포함할 사이트의 URL을 추가합니다.
- 선택사항: 제외할 사이트의 URL을 추가합니다.
 
- 계속을 클릭합니다. 
- 데이터 스토어 구성 창에서 다음을 수행합니다. - 데이터 스토어 위치 목록에서 값을 선택합니다.
- 데이터 스토어 이름 필드에 이름을 입력합니다. ID가 생성됩니다. 데이터 스토어로 그라운딩된 응답을 생성할 때 이 ID를 사용합니다. 자세한 내용은 데이터 스토어로 그라운딩된 응답 생성을 참조하세요.
- 만들기를 클릭합니다.
 
문서
- Google Cloud 콘솔에서 데이터 스토어 만들기 페이지를 엽니다. 
- Cloud Storage 상자에서 선택을 클릭합니다. 
 Cloud Storage에서 데이터 가져오기 창이 표시됩니다.
- 구조화되지 않은 문서(PDF, HTML, TXT 등) 섹션에서 구조화되지 않은 문서(PDF, HTML, TXT 등)를 선택합니다. 
- 동기화 빈도 옵션을 선택합니다. 
- 가져올 폴더 또는 파일 선택 옵션을 선택하고 필드에 경로를 입력합니다. 
- 계속을 클릭합니다. 
 데이터 스토어 구성 창이 표시됩니다.
- 데이터 스토어 구성 창에서 다음을 수행합니다. - 데이터 스토어 위치 목록에서 값을 선택합니다.
- 데이터 스토어 이름 필드에 이름을 입력합니다. ID가 생성됩니다.
- 문서의 파싱 및 청킹 옵션을 선택하려면 문서 처리 옵션 섹션을 펼칩니다. 다양한 파서에 대한 자세한 내용은 문서 파싱을 참조하세요.
- 만들기를 클릭합니다.
 
- 만들기를 클릭합니다. 
데이터 스토어로 그라운딩된 응답 생성
다음 안내에 따라 데이터로 모델을 그라운딩합니다. 최대 10개의 데이터 스토어가 지원됩니다.
데이터 스토어 ID를 모르면 다음 단계를 수행합니다.
- Google Cloud 콘솔에서 AI Applications 페이지로 이동하고 탐색 메뉴에서 데이터 스토어를 클릭합니다. 
- 데이터 스토어 이름을 클릭합니다. 
- 데이터 스토어의 데이터 페이지에서 데이터 스토어 ID를 가져옵니다. 
콘솔
Google Cloud 콘솔에서 Vertex AI Studio를 사용하여 AI Applications에 모델 출력을 그라운딩하려면 다음 단계를 따르세요.
- Google Cloud 콘솔에서 Vertex AI Studio 자유 형식 페이지로 이동합니다.
- 그라운딩을 사용 설정하려면 그라운딩: 내 데이터 전환 버튼을 클릭합니다.
- 맞춤설정을 클릭합니다.
      - 소스로 Vertex AI Search를 선택합니다.
- 이 경로 형식을 사용하여 데이터 스토어의 프로젝트 ID와 데이터 스토어의 ID를 바꿉니다.
 projects/project_id/locations/global/collections/default_collection/dataStores/data_store_id. 
 
- 저장을 클릭합니다.
- 텍스트 상자에 프롬프트를 입력하고 제출을 클릭합니다.
프롬프트 응답이 AI Applications에 그라운딩됩니다.
Python
설치
pip install --upgrade google-genai
자세한 내용은 SDK 참고 문서를 참조하세요.
Vertex AI에서 Gen AI SDK를 사용하도록 환경 변수를 설정합니다.
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
from google import genai
from google.genai.types import (
    GenerateContentConfig,
    VertexAISearch,
    Retrieval,
    Tool,
    HttpOptions,
)
client = genai.Client(http_options=HttpOptions(api_version="v1"))
# Replace with your Vertex AI Search data store details
DATA_STORE_PATH = "projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID"
tool = Tool(
    retrieval=Retrieval(
        vertex_ai_search=VertexAISearch(
            data_store=DATA_STORE_PATH
        )
    )
)
response = client.models.generate_content(
    model="gemini-2.5-flash",  # Or another supported model
    contents="What information can you find about topic X in the provided documents?", # Your query
    config=GenerateContentConfig(
        tools=[tool],
    ),
)
print(response.text)
REST
Vertex AI API를 사용하여 텍스트 프롬프트를 테스트하려면 POST 요청을 게시자 모델 엔드포인트로 전송합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- LOCATION: 요청을 처리하는 리전입니다. global엔드포인트를 사용하려면 엔드포인트 이름에서 위치를 제외하고 리소스의 위치를global로 구성합니다.
- PROJECT_ID: 프로젝트 ID
- MODEL_ID: 멀티모달 모델의 모델 ID입니다.
- PROMPT: 모델에 전송할 프롬프트
HTTP 메서드 및 URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent
JSON 요청 본문:
{
  "contents": [{
    "role": "user",
    "parts": [{
      "text": "PROMPT"
    }]
  }],
  "tools": [{
    "retrieval": {
      "vertexAiSearch": {
        "datastore": projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID
      }
    }
  }],
  "model": "projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID"
}
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{
  "candidates": [
    {
      "content": {
        "role": "model",
        "parts": [
          {
            "text": "You can make an appointment on the website https://dmv.gov/"
          }
        ]
      },
      "finishReason": "STOP",
      "safetyRatings": [
        "..."
      ],
      "groundingMetadata": {
        "retrievalQueries": [
          "How to make appointment to renew driving license?"
        ],
        "groundingChunks": [
          {
            "retrievedContext": {
              "uri": "https://vertexaisearch.cloud.google.com/grounding-api-redirect/AXiHM.....QTN92V5ePQ==",
              "title": "dmv"
            }
          }
        ],
        "groundingSupport": [
          {
            "segment": {
              "startIndex": 25,
              "endIndex": 147
            },
            "segment_text": "ipsum lorem ...",
            "supportChunkIndices": [1, 2],
            "confidenceScore": [0.9541752, 0.97726375]
          },
          {
            "segment": {
              "startIndex": 294,
              "endIndex": 439
            },
            "segment_text": "ipsum lorem ...",
            "supportChunkIndices": [1],
            "confidenceScore": [0.9541752, 0.9325467]
          }
        ]
      }
    }
  ],
  "usageMetadata": {
    "..."
  }
}
응답 이해하기
두 API의 응답에는 LLM에서 생성한 텍스트(후보)가 포함됩니다. 모델 프롬프트가 데이터 소스에 성공적으로 그라운딩되면 응답에 데이터에서 파생된 응답 부분을 식별하는 그라운딩 메타데이터가 포함됩니다. 그러나 이 메타데이터가 제공되지 않을 수 있는 몇 가지 이유가 있으며 프롬프트 응답이 그라운딩되지 않을 수 있습니다. 이러한 이유로는 모델 응답 내의 소스 관련성이 낮거나 정보가 불완전한 경우가 포함됩니다.
다음은 출력 데이터의 세부정보입니다.
- 역할: 그라운딩된 답변의 발신자를 표시합니다. 응답에는 항상 그라운딩된 텍스트가 포함되므로 역할은 항상 model입니다.
- 텍스트: LLM에서 생성한 그라운딩된 답변입니다.
- 그라운딩 메타데이터: 다음 요소를 포함하는 그라운딩 소스에 관한 정보입니다.
- 그라운딩 청크: 답변을 지원하는 색인의 결과 목록입니다.
- 그라운딩 지원: 인용을 표시하는 데 사용할 수 있는 답변 내 특정 주장에 관한 정보입니다.
- 세그먼트: 그라운딩 청크로 입증되는 모델 대답의 일부입니다.
- 그라운딩 청크 색인: 이 클레임에 해당하는 그라운딩 청크 목록의 그라운딩 청크 색인입니다.
- 신뢰도 점수: 제공된 그라운딩 청크 집합에서 클레임의 그라운딩 정도를 나타내는 0~1 사이의 숫자입니다. Gemini 2.5 이상에서는 사용할 수 없습니다.