在生成式 AI 中,建立依据是指将模型输出连接到可验证的信息源的能力。如果您为模型提供访问特定数据源的权限,则建立依据可以将其输出仅限于这些数据范围,从而降低内容创造的可能性。
使用 Vertex AI,您可以通过以下方式为模型输出建立依据:
- 使用 Google 搜索建立依据 - 使用公开提供的 Web 数据为模型建立依据。
- 借助您自己的数据接地 - 使用作为数据存储区的 Vertex AI Search 中您自己的数据让模型接地(预览版)。
如需详细了解依据,请参阅依据概览。
支持的模型:
模型 | 版本 |
---|---|
Gemini 1.5 Pro(仅包含文本输入) | gemini-1.5-pro-002 gemini-1.5-pro-001 |
Gemini 1.5 Flash(仅包含文本输入) | gemini-1.5-flash-002 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
以公开数据作为回答依据。
参数 | |
---|---|
|
必需: 以公开提供的 Web 数据作为依据。 |
Retrieval
以作为数据存储区的 Vertex AI Search 中的私有数据作为回答依据。定义模型可以调用以访问外部知识的检索工具。
参数 | |
---|---|
|
必需: 以 Vertex AI Search 数据源作为依据。 |
VertexAISearch
参数 | |
---|---|
|
必需: 来自 Vertex AI Search 的完全限定数据存储区资源 ID,格式如下: |
示例
使用 Google 搜索基于公开 Web 数据作为回答依据
以 Google 搜索公开数据作为回答依据。在请求中添加 google_search_retrieval
工具。无需其他参数。
REST
在使用任何请求数据之前,请先进行以下替换:
- LOCATION:处理请求的区域。
- PROJECT_ID:您的项目 ID。
- MODEL_ID:多模态模型的模型 ID。
- TEXT:要包含在提示中的文本说明。
HTTP 方法和网址:
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
Java
使用 Vertex AI Search 基于私有数据作出回答
以 Vertex AI Search 数据存储区中的数据作为回答依据。如需了解详情,请参阅 Vertex AI Agent Builder。
在以私有数据作为回答依据之前,请创建搜索数据存储区。
REST
在使用任何请求数据之前,请先进行以下替换:
- LOCATION:处理请求的区域。
- PROJECT_ID:您的项目 ID。
- MODEL_ID:多模态模型的模型 ID。
- TEXT:要包含在提示中的文本说明。
HTTP 方法和网址:
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": "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": { "..." } }
Python
NodeJS
Java
后续步骤
如需查看详细文档,请参阅以下内容: