생성형 AI에서 그라운딩은 모델 출력을 확인 가능한 정보 소스에 연결하는 기능입니다. 모델에 특정 데이터 소스에 대한 액세스 권한을 제공하면 그라운딩에서 이러한 데이터에 대한 출력을 테더링하므로 콘텐츠가 조작될 가능성이 줄어듭니다.
Vertex AI를 사용하면 다음과 같은 방법으로 모델 출력을 그라운딩할 수 있습니다.
- Google 검색으로 그라운딩 - 공개적으로 사용 가능한 웹 데이터로 모델을 그라운딩합니다.
- 자체 데이터에 그라운딩 - Vertex AI Search의 자체 데이터를 데이터 스토어로 사용하여 모델을 그라운딩합니다(미리보기).
그라운딩에 관한 자세한 내용은 그라운딩 개요를 참조하세요.
지원되는 모델:
모델 | 버전 |
---|---|
텍스트 입력만 지원되는 Gemini 1.5 Pro | gemini-1.5-pro-001 |
텍스트 입력만 지원되는 Gemini 1.5 Flash | gemini-1.5-flash-001 |
텍스트 입력만 지원되는 Gemini 1.0 Pro | gemini-1.0-pro-001 gemini-1.0-pro-002 |
제한사항
- 그라운딩 기능은 영어, 스페인어, 일본어로 된 데이터 소스만 지원합니다.
- 그라운딩은 텍스트 요청에만 사용할 수 있습니다.
예시 문법
모델을 그라운딩하는 구문입니다.
curl
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/${MODEL_ID}:generateContent \ -d '{ "contents": [{ ... }], "tools": [{ "retrieval": { "googleSearchRetrieval": {} } }], "model": "" }'
매개변수 목록
구현 세부정보는 예시를 참고하세요.
GoogleSearchRetrieval
공개 데이터를 사용하여 응답을 그라운딩합니다.
매개변수 | |
---|---|
|
필수: 공개적으로 사용 가능한 웹 데이터로 그라운딩합니다. |
Retrieval
Vertex AI Search의 비공개 데이터를 데이터 스토어로 사용하여 응답을 그라운딩합니다. 모델이 호출하여 외부 지식에 액세스할 수 있는 검색 도구를 정의합니다.
매개변수 | |
---|---|
|
필수: Vertex AI Search 데이터 소스로 그라운딩합니다. |
VertexAISearch
매개변수 | |
---|---|
|
필수: Vertex AI Search의 정규화된 데이터 스토어 리소스 ID이며, |
예시
Google 검색을 사용하여 공개 웹 데이터에 대한 응답 그라운딩
Google 검색 공개 데이터를 사용하여 응답을 그라운딩합니다. 요청에 google_search_retrieval
도구를 포함합니다. 추가 매개변수는 필요하지 않습니다.
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- LOCATION: 요청을 처리하는 리전입니다.
- PROJECT_ID: 프로젝트 ID
- MODEL_ID: 멀티모달 모델의 모델 ID입니다.
- TEXT: 프롬프트에 포함할 텍스트 안내입니다.
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": "TEXT" }] }], "tools": [{ "googleSearchRetrieval": {} }], "model": "projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID" }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "candidates": [ { "content": { "role": "model", "parts": [ { "text": "Chicago weather changes rapidly, so layers let you adjust easily. Consider a base layer, a warm mid-layer (sweater-fleece), and a weatherproof outer layer." } ] }, "finishReason": "STOP", "safetyRatings":[ "..." ], "groundingMetadata": { "webSearchQueries": [ "What's the weather in Chicago this weekend?" ], "searchEntryPoint": { "renderedContent": "....................." } } } ], "usageMetadata": { "..." } }
Python
NodeJS
자바
Vertex AI Search를 사용한 비공개 데이터에 대한 기본 응답
Vertex AI Search 데이터 스토어의 데이터로 응답을 그라운딩합니다. 자세한 내용은 Vertex AI Agent Builder를 참조하세요.
비공개 데이터로 응답을 그라운딩하기 전에 검색 데이터 스토어를 만듭니다 .
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- LOCATION: 요청을 처리하는 리전입니다.
- PROJECT_ID: 프로젝트 ID
- MODEL_ID: 멀티모달 모델의 모델 ID입니다.
- TEXT: 프롬프트에 포함할 텍스트 안내입니다.
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": "TEXT" }] }], "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": "gs://my-data-bucket/dmv.txt", "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": { "..." } }
Python
NodeJS
자바
다음 단계
자세한 문서는 다음을 참조하세요.