Dans le contexte de l'IA générative, l'ancrage désigne la capacité à connecter les résultats du modèle à des sources d'information vérifiables. Si vous autorisez des modèles à accéder à des sources de données spécifiques, l'ancrage lie leurs résultats à ces données et réduit les chances d'inventer du contenu.
Avec Vertex AI, vous pouvez ancrer les résultats de votre modèle de différentes manières :
- Selon la recherche Google : ancrez un modèle avec des données Web accessibles au public.
- Selon vos propres données : ancrez un modèle avec vos propres données de Vertex AI Search en tant que data store (version bêta).
Pour en savoir plus sur l'ancrage, consultez la page Présentation de l'ancrage.
Modèles compatibles:
Modèle | Version |
---|---|
Gemini 1.5 Pro avec saisie de texte uniquement | gemini-1.5-pro-001 |
Gemini 1.5 Flash avec saisie de texte uniquement | gemini-1.5-flash-001 |
Gemini 1.0 Pro avec saisie de texte uniquement | gemini-1.0-pro-001 gemini-1.0-pro-002 |
Limites
- L'ancrage n'est compatible qu'avec les sources de données en anglais, en espagnol et en japonais.
- L'ancrage n'est disponible que pour les requêtes de texte.
Exemple de syntaxe
Syntaxe permettant d'ancrer un modèle.
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": "" }'
Liste des paramètres
Consultez des exemples pour en savoir plus sur l'implémentation.
GoogleSearchRetrieval
Ancrer la réponse avec des données publiques.
Paramètres | |
---|---|
|
Requis : Selon des données Web accessibles au public. |
Retrieval
Ancrer la réponse avec des données privées de Vertex AI Search en tant que datastore. Définit un outil de récupération que le modèle peut appeler pour accéder à des connaissances externes.
Paramètres | |
---|---|
|
Requis : Selon les sources de données de Vertex AI Search. |
VertexAISearch
Paramètres | |
---|---|
|
Requis : ID de ressource de data store complet de Vertex AI Search, au format suivant : |
Examples
Ancrer la réponse sur des données Web publiques à l'aide de la recherche Google
Ancrer la réponse avec les données publiques de la recherche Google. Incluez l'outil google_search_retrieval
dans la requête. Aucun paramètre supplémentaire n'est requis.
REST
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- LOCATION : région dans laquelle traiter la requête.
- PROJECT_ID : l'ID de votre projet.
- MODEL_ID : ID du modèle multimodal.
- TEXT : instructions textuelles à inclure dans la requête.
Méthode HTTP et URL :
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent
Corps JSON de la requête :
{ "contents": [{ "role": "user", "parts": [{ "text": "TEXT" }] }], "tools": [{ "googleSearchRetrieval": {} }], "model": "projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID" }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "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
Ancrer la réponse sur des données privées à l'aide de Vertex AI Search
Ancrer la réponse avec des données provenant d'un datastore Vertex AI Search. Pour en savoir plus, consultez la page Vertex AI Agent Builder.
Avant d'ancrer une réponse avec des données privées, créez un data store de recherche.
REST
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- LOCATION : région dans laquelle traiter la requête.
- PROJECT_ID : l'ID de votre projet.
- MODEL_ID : ID du modèle multimodal.
- TEXT : instructions textuelles à inclure dans la requête.
Méthode HTTP et URL :
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent
Corps JSON de la requête :
{ "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" }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "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
Java
Étapes suivantes
Pour obtenir une documentation détaillée, consultez les pages suivantes :