Le moteur RAG Vertex AI est un composant de la plate-forme Vertex AI qui facilite la génération augmentée par récupération (RAG). Il permet aux grands modèles de langage (LLM) d'accéder à des données provenant de sources de connaissances externes, telles que des documents et des bases de données, et de les intégrer. En l'utilisant, les LLM génèrent des réponses plus précises et informatives.
Liste des paramètres
Cette section présente les éléments suivants :
Paramètres | Exemples |
---|---|
Consultez Paramètres de gestion des corpus. | Consultez Exemples de gestion de corpus. |
Consultez Paramètres de gestion des fichiers. | Consultez Exemples de gestion de fichiers. |
Paramètres de gestion des corpus
Pour en savoir plus concernant un corpus RAG, consultez Gestion des corpus.
Créer un corpus RAG
Ce tableau présente les paramètres utilisés pour créer un corpus RAG.
Corps de la requête
Paramètres | |
---|---|
|
Obligatoire : Nom à afficher du corpus RAG. |
|
Facultatif : Description du corpus RAG. |
|
Facultatif : Configuration des bases de données vectorielles. |
|
Facultatif : Configuration de Vertex AI Search. Format : |
RagVectorDbConfig
Paramètres | |
---|---|
|
Si aucune base de données vectorielle n'est spécifiée, |
|
Spécifie votre instance Pinecone. |
|
Nom servant à créer l'index Pinecone utilisé avec le corpus RAG. Cette valeur ne peut pas être modifiée une fois qu'elle a été définie. Vous pouvez la laisser vide dans l'appel d'API |
|
Spécifie votre instance Vertex Vector Search. |
|
Nom de la ressource de l'index Vector Search utilisé avec le corpus RAG. Format : Cette valeur ne peut pas être modifiée une fois qu'elle a été définie. Vous pouvez la laisser vide dans l'appel d'API |
|
Nom de la ressource du point de terminaison de l'index Vector Search utilisé avec le corpus RAG. Format : Cette valeur ne peut pas être modifiée une fois qu'elle a été définie. Vous pouvez la laisser vide dans l'appel d'API |
|
Nom complet de la ressource du secret stocké dans Secret Manager, qui contient votre clé API Pinecone. Format : Vous pouvez la laisser vide dans l'appel d'API |
|
Facultatif : Modèle d'embedding à utiliser pour le corpus RAG. Cette valeur ne peut pas être modifiée une fois qu'elle a été définie. Si vous la laissez vide, text-embedding-005 sera utilisé comme modèle d'embedding. |
Mettre à jour un corpus RAG
Ce tableau présente les paramètres utilisés pour mettre à jour un corpus RAG.
Corps de la requête
Paramètres | |
---|---|
|
Facultatif : Nom à afficher du corpus RAG. |
|
Facultatif : Description du corpus RAG. |
|
Nom servant à créer l'index Pinecone utilisé avec le corpus RAG. Si votre |
|
Nom de la ressource de l'index Vector Search utilisé avec le corpus RAG. Format : Si votre |
|
Nom de la ressource du point de terminaison de l'index Vector Search utilisé avec le corpus RAG. Format : Si votre |
|
Nom complet de la ressource du secret stocké dans Secret Manager, qui contient votre clé API Pinecone. Format : |
Lister des corpus Rag
Ce tableau présente les paramètres utilisés pour lister des corpus RAG.
Paramètres | |
---|---|
|
Facultatif : Taille de la page de la liste standard. |
|
Facultatif : Jeton de la page de la liste standard. Généralement obtenu à partir de |
Obtenir un corpus RAG
Ce tableau présente les paramètres utilisés pour obtenir un corpus RAG.
Paramètres | |
---|---|
|
Nom de la ressource |
Supprimer un corpus RAG
Ce tableau présente les paramètres utilisés pour supprimer un corpus RAG.
Paramètres | |
---|---|
|
Nom de la ressource |
Paramètres de gestion des fichiers
Pour en savoir plus sur les fichiers RAG, consultez Gestion des fichiers.
Importer un fichier RAG
Ce tableau présente les paramètres utilisés pour importer un fichier RAG.
Corps de la requête
Paramètres | |
---|---|
|
Nom de la ressource |
|
Obligatoire : Fichier à importer. |
|
Obligatoire : Configuration du |
RagFile |
|
---|---|
|
Obligatoire : Nom à afficher du fichier RAG. |
|
Facultatif : Description du fichier RAG. |
UploadRagFileConfig |
|
---|---|
|
Nombre de jetons de chaque fragment. |
|
Chevauchement entre les fragments. |
Importer des fichiers RAG
Ce tableau présente les paramètres utilisés pour importer un fichier RAG.
Paramètres | |
---|---|
|
Obligatoire : Nom de la ressource Format : |
|
Emplacement Cloud Storage. Prend en charge l'importation de fichiers individuels et de répertoires Cloud Storage entiers. |
|
URI Cloud Storage contenant le fichier d'importation. |
|
Emplacement Google Drive. Prend en charge l'importation de fichiers individuels et de dossiers Google Drive. |
|
Canal Slack sur lequel le fichier est importé. |
|
Requête Jira dans laquelle le fichier est importé. |
|
Sources SharePoint vers lesquelles le fichier est importé. |
|
Nombre de jetons de chaque fragment. |
|
Chevauchement entre les fragments. |
|
Facultatif : Spécifie la configuration d'analyse pour Si ce champ n'est pas défini, le moteur RAG utilise l'analyseur par défaut. |
|
Facultatif : Nombre maximal de requêtes par minute que ce job est autorisé à envoyer au modèle d'embedding spécifié sur le corpus. Cette valeur est spécifique à ce job et n'est pas partagée avec d'autres jobs d'importation. Consultez la page "Quotas" du projet pour définir une valeur appropriée. Si aucune valeur n'est spécifiée, la valeur par défaut de 1 000 RPM est utilisée. |
GoogleDriveSource |
|
---|---|
|
Obligatoire : ID de la ressource Google Drive. |
|
Obligatoire : Type de la ressource Google Drive. |
SlackSource |
|
---|---|
|
Répété : Informations sur le canal Slack, y compris l'ID et la période à importer. |
|
Obligatoire : ID du canal Slack. |
|
Facultatif : Code temporel de début des messages à importer. |
|
Facultatif : Code temporel de fin des messages à importer. |
|
Obligatoire : Nom complet de la ressource du secret stocké dans Secret Manager, qui contient un jeton d'accès au canal Slack ayant accès aux ID de canal Slack.
Format : |
JiraSource |
|
---|---|
|
Répété : Liste des projets Jira à importer dans leur intégralité. |
|
Répété : Liste des requêtes Jira personnalisées à importer. Pour en savoir plus sur le langage JQL (Jira Query Language), consultez |
|
Obligatoire : Adresse e-mail Jira. |
|
Obligatoire : URI du serveur Jira. |
|
Obligatoire : Nom complet de la ressource du secret stocké dans Secret Manager, qui contient la clé API Jira ayant accès aux ID de canal Slack.
Format : |
SharePointSources |
|
---|---|
|
Chemin d'accès au dossier SharePoint à partir duquel effectuer le téléchargement. |
|
ID du dossier SharePoint à partir duquel effectuer le téléchargement. |
|
Nom du Drive à partir duquel effectuer le téléchargement. |
|
ID du Drive à partir duquel effectuer le téléchargement. |
|
ID de l'application enregistrée sur le portail Microsoft Azure.
|
|
Obligatoire : Nom complet de la ressource du secret stocké dans Secret Manager, qui contient le secret de l'application enregistrée dans Azure. Format : |
|
Identifiant unique de l'instance Azure Active Directory. |
|
Nom du site SharePoint à partir duquel effectuer le téléchargement. Il peut s'agir du nom ou de l'ID du site. |
RagFileParsingConfig |
|
---|---|
|
Analyseur de mise en page à utiliser pour les |
|
Nom complet de la ressource d'un processeur Document AI ou d'une version de processeur. Format : |
|
Nombre maximal de requêtes que le job est autorisé à envoyer au processeur Document AI par minute. Consultez la page https://cloud.google.com/document-ai/quotas et la page "Quota" de votre projet pour définir une valeur appropriée ici. Si aucune valeur n'est spécifiée, la valeur par défaut de 120 RPM est utilisée. |
Obtenir un fichier RAG
Ce tableau présente les paramètres utilisés pour obtenir un fichier RAG.
Paramètres | |
---|---|
|
Nom de la ressource |
Supprimer un fichier RAG
Ce tableau présente les paramètres utilisés pour supprimer un fichier RAG.
Paramètres | |
---|---|
|
Nom de la ressource |
Récupération et prédiction
Cette section présente les paramètres de récupération et de prédiction.
Paramètres de récupération
Ce tableau présente les paramètres de l'API retrieveContexts
.
Paramètres | |
---|---|
|
Obligatoire : Nom de ressource de l'emplacement de récupération des Format : |
|
Source de données pour Vertex RagStore. |
|
Obligatoire : Requête de récupération RAG unique. |
VertexRagStore
VertexRagStore |
|
---|---|
|
Liste : Représentation de la source RAG. Peut être utilisé pour spécifier le corpus uniquement ou des |
|
Facultatif : Nom de la ressource Format : |
|
Liste : Liste des ressources Format : |
RagQuery |
|
---|---|
|
Requête textuelle permettant d'obtenir des contextes pertinents. |
|
Facultatif : Configuration de récupération de la requête. |
RagRetrievalConfig |
|
---|---|
|
Facultatif : Nombre de contextes à récupérer. |
|
Ne renvoie que les contextes pour lesquels la distance vectorielle est inférieure au seuil. |
|
Ne renvoie que les contextes pour lesquels la similarité vectorielle est supérieure au seuil. |
|
Facultatif : Nom du modèle du service de classement. Exemple : |
|
Facultatif : Nom du modèle utilisé pour le classement. Exemple : |
Paramètres de prédiction
Ce tableau présente les paramètres de prédiction.
GenerateContentRequest |
|
---|---|
|
Paramètre défini pour utiliser une source de données alimentée par le magasin RAG Vertex AI. |
Pour en savoir plus, consultez VertexRagStore.
Exemples de gestion de corpus
Cette section fournit des exemples d'utilisation de l'API pour gérer votre corpus RAG.
Exemple de création d'un corpus RAG
Ces exemples de code montrent comment créer un corpus RAG.
REST
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet.
- LOCATION : région dans laquelle traiter la requête.
- CORPUS_DISPLAY_NAME : nom à afficher du corpus RAG.
- CORPUS_DESCRIPTION : description du corpus RAG.
Méthode HTTP et URL :
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora
Corps JSON de la requête :
{
"display_name" : "CORPUS_DISPLAY_NAME",
"description": "CORPUS_DESCRIPTION",
}
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé request.json et exécutez la commande suivante :
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora"
Powershell
Enregistrez le corps de la requête dans un fichier nommé request.json et exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora" | Select-Object -Expand Content
Vous devriez recevoir un code d'état indiquant la réussite de l'opération (2xx).
L'exemple suivant montre comment créer un corpus RAG à l'aide de l'API REST.
// CreateRagCorpus
// Input: LOCATION, PROJECT_ID, CORPUS_DISPLAY_NAME
// Output: CreateRagCorpusOperationMetadata
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/ragCorpora \
-d '{
"display_name" : "CORPUS_DISPLAY_NAME"
}'
Python
Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez Installer le SDK Vertex AI pour Python. Pour en savoir plus, lisez la documentation de référence de l'API SDK Vertex AI pour Python.
Exemple de mise à jour d'un corpus RAG
Vous pouvez modifier le nom à afficher, la description et la configuration de base de données vectorielle de votre corpus RAG. Toutefois, vous ne pouvez pas modifier les paramètres suivants dans votre corpus RAG :
- Type de base de données vectorielle. Par exemple, vous ne pouvez pas remplacer la base de données vectorielle Weaviate par Vertex AI Feature Store.
- Si vous utilisez l'option de base de données gérée, vous ne pouvez pas mettre à jour la configuration de la base de données vectorielle.
Ces exemples montrent comment mettre à jour un corpus RAG.
REST
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet.
- LOCATION : région dans laquelle traiter la requête.
- CORPUS_ID : ID de votre corpus RAG.
- CORPUS_DISPLAY_NAME : nom à afficher du corpus RAG.
- CORPUS_DESCRIPTION : description du corpus RAG.
- INDEX_NAME : nom de la ressource de l'index Vector Search. Format :
projects/{project}/locations/{location}/indexes/{index}
. - INDEX_ENDPOINT_NAME : nom de la ressource du point de terminaison de l'index Vector Search. Format :
projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}
.
Méthode HTTP et URL :
PATCH https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/CORPUS_ID
Corps JSON de la requête :
{
"display_name" : "CORPUS_DISPLAY_NAME",
"description": "CORPUS_DESCRIPTION",
"rag_vector_db_config": {
"vertex_vector_search": {
"index": "INDEX_NAME",
"index_endpoint": "INDEX_ENDPOINT_NAME",
}
}
}
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé request.json et exécutez la commande suivante :
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/CORPUS_ID"
Powershell
Enregistrez le corps de la requête dans un fichier nommé request.json et exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/CORPUS_ID" | Select-Object -Expand Content
Vous devriez recevoir un code d'état indiquant la réussite de l'opération (2xx).
Exemple de listage de corpus RAG
Ces exemples de code montrent comment lister tous les corpus RAG.
REST
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet.
- LOCATION : région dans laquelle traiter la requête.
- PAGE_SIZE : taille de la page de la liste standard. Vous pouvez ajuster le nombre de corpus RAG à renvoyer par page en mettant à jour le paramètre
page_size
. - PAGE_TOKEN : jeton de la page de la liste standard. Généralement obtenu à l'aide de
ListRagCorporaResponse.next_page_token
de l'appelVertexRagDataService.ListRagCorpora
précédent.
Méthode HTTP et URL :
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora?page_size=PAGE_SIZE&page_token=PAGE_TOKEN
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora?page_size=PAGE_SIZE&page_token=PAGE_TOKEN"
Powershell
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora?page_size=PAGE_SIZE&page_token=PAGE_TOKEN" | Select-Object -Expand Content
Vous devriez recevoir un code d'état indiquant le succès de l'opération (2xx
) et une liste de corpus RAG sous le PROJECT_ID
donné.
Python
Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez Installer le SDK Vertex AI pour Python. Pour en savoir plus, lisez la documentation de référence de l'API SDK Vertex AI pour Python.
Exemple d'obtention d'un corpus RAG
Ces exemples de code montrent comment obtenir un corpus RAG.
REST
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet.
- LOCATION : région dans laquelle traiter la requête.
- RAG_CORPUS_ID : ID de la ressource du corpus RAG.
Méthode HTTP et URL :
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID"
Powershell
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID" | Select-Object -Expand Content
Une réponse réussie renvoie la ressource RagCorpus
.
Les commandes get
et list
sont utilisées dans cet exemple pour montrer comment RagCorpus
utilise le champ rag_embedding_model_config
dans vector_db_config
, qui pointe vers le modèle d'embedding que vous avez choisi.
PROJECT_ID: Your project ID.
LOCATION: The region to process the request.
RAG_CORPUS_ID: The corpus ID of your RAG corpus.
```
```sh
// GetRagCorpus
// Input: LOCATION, PROJECT_ID, RAG_CORPUS_ID
// Output: RagCorpus
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID
// ListRagCorpora
curl -sS -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/
```
Python
Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez Installer le SDK Vertex AI pour Python. Pour en savoir plus, lisez la documentation de référence de l'API SDK Vertex AI pour Python.
Exemple de suppression d'un corpus RAG
Ces exemples de code montrent comment supprimer un corpus RAG.
REST
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet.
- LOCATION : région dans laquelle traiter la requête.
- RAG_CORPUS_ID : ID de la ressource
RagCorpus
.
Méthode HTTP et URL :
DELETE https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Exécutez la commande suivante :
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID"
Powershell
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID" | Select-Object -Expand Content
Une réponse réussie renvoie DeleteOperationMetadata
.
Python
Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez Installer le SDK Vertex AI pour Python. Pour en savoir plus, lisez la documentation de référence de l'API SDK Vertex AI pour Python.
Exemples de gestion de fichiers
Cette section fournit des exemples d'utilisation de l'API pour gérer des fichiers RAG.
Exemple d'importation d'un fichier RAG
Ces exemples de code montrent comment importer un fichier RAG.
REST
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet.
- LOCATION : région dans laquelle traiter la requête.
- RAG_CORPUS_ID : ID de votre corpus RAG.
- LOCAL_FILE_PATH : chemin d'accès local au fichier à importer.
- DISPLAY_NAME : nom à afficher du fichier RAG.
- DESCRIPTION : description du fichier RAG.
Pour envoyer votre requête, utilisez la commande suivante :
curl -X POST \
-H "X-Goog-Upload-Protocol: multipart" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-F metadata="{'rag_file': {'display_name':' DISPLAY_NAME', 'description':'DESCRIPTION'}}" \
-F file=@LOCAL_FILE_PATH \
"https://LOCATION-aiplatform.googleapis.com/upload/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:upload"
Python
Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez Installer le SDK Vertex AI pour Python. Pour en savoir plus, lisez la documentation de référence de l'API SDK Vertex AI pour Python.
Exemple d'importation de fichiers RAG
Vous pouvez importer des fichiers et des dossiers depuis Drive ou Cloud Storage. Vous pouvez utiliser response.metadata
pour afficher les échecs partiels, le temps de requête et le temps de réponse dans l'objet response
du SDK.
response.skipped_rag_files_count
fait référence au nombre de fichiers ignorés lors de l'importation. Un fichier est ignoré lorsque les conditions suivantes sont remplies :
- Le fichier a déjà été importé.
- Le fichier n'a pas changé.
- La configuration de fragmentation du fichier n'a pas changé.
REST
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet.
- LOCATION : région dans laquelle traiter la requête.
- RAG_CORPUS_ID : ID de votre corpus RAG.
- FOLDER_RESOURCE_ID : ID de ressource de votre dossier Drive.
- GCS_URIS : liste d'emplacements Cloud Storage.
Exemple :
gs://my-bucket1
. - CHUNK_SIZE : nombre de jetons que chaque fragment doit avoir.
- CHUNK_OVERLAP : nombre de chevauchements de jetons entre deux fragments.
- EMBEDDING_MODEL_QPM_RATE : taux de RPM pour limiter l'accès du RAG à votre modèle d'embedding. Exemple : 1 000.
Méthode HTTP et URL :
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:import
Corps JSON de la requête :
{
"import_rag_files_config": {
"gcs_source": {
"uris": "GCS_URIS"
},
"rag_file_chunking_config": {
"chunk_size": "CHUNK_SIZE",
"chunk_overlap": "CHUNK_OVERLAP"
}
}
}
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé request.json et exécutez la commande suivante :
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:import"
Powershell
Enregistrez le corps de la requête dans un fichier nommé request.json et exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:import" | Select-Object -Expand Content
Une réponse réussie renvoie la ressource ImportRagFilesOperationMetadata
.
L'exemple suivant montre comment importer un fichier depuis Cloud Storage. Utilisez le champ de contrôle max_embedding_requests_per_min
pour limiter la fréquence à laquelle le moteur RAG appelle le modèle d'embedding au cours du processus d'indexation ImportRagFiles
. La valeur par défaut du champ est de 1000
appels par minute.
- PROJECT_ID : ID de votre projet.
- LOCATION : région dans laquelle traiter la requête.
- RAG_CORPUS_ID : ID de votre corpus RAG.
- GCS_URIS : liste d'emplacements Cloud Storage.
Exemple :
gs://my-bucket1
. - CHUNK_SIZE : nombre de jetons que chaque fragment doit avoir.
- CHUNK_OVERLAP : nombre de chevauchements de jetons entre deux fragments.
- EMBEDDING_MODEL_QPM_RATE : taux de RPM pour limiter l'accès des RAG à votre modèle d'embedding. Exemple : 1 000.
// ImportRagFiles
// Import a single Cloud Storage file or all files in a Cloud Storage bucket.
// Input: LOCATION, PROJECT_ID, RAG_CORPUS_ID, GCS_URIS
// Output: ImportRagFilesOperationMetadataNumber
// Use ListRagFiles to find the server-generated rag_file_id.
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/ragCorpora/RAG_CORPUS_ID/ragFiles:import \
-d '{
"import_rag_files_config": {
"gcs_source": {
"uris": "GCS_URIS"
},
"rag_file_chunking_config": {
"chunk_size": CHUNK_SIZE,
"chunk_overlap": CHUNK_OVERLAP
},
"max_embedding_requests_per_min": EMBEDDING_MODEL_QPM_RATE
}
}'
L'exemple suivant montre comment importer un fichier depuis Drive. Utilisez le champ de contrôle max_embedding_requests_per_min
pour limiter la fréquence à laquelle le moteur RAG appelle le modèle d'embedding au cours du processus d'indexation ImportRagFiles
. La valeur par défaut du champ est de 1000
appels par minute.
- PROJECT_ID : ID de votre projet.
- LOCATION : région dans laquelle traiter la requête.
- RAG_CORPUS_ID : ID de votre corpus RAG.
- FOLDER_RESOURCE_ID : ID de ressource de votre dossier Drive.
- CHUNK_SIZE : nombre de jetons que chaque fragment doit avoir.
- CHUNK_OVERLAP : nombre de chevauchements de jetons entre deux fragments.
- EMBEDDING_MODEL_QPM_RATE : taux de RPM pour limiter l'accès du RAG à votre modèle d'embedding. Exemple : 1 000.
// ImportRagFiles
// Import all files in a Google Drive folder.
// Input: LOCATION, PROJECT_ID, RAG_CORPUS_ID, FOLDER_RESOURCE_ID
// Output: ImportRagFilesOperationMetadataNumber
// Use ListRagFiles to find the server-generated rag_file_id.
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/ragCorpora/RAG_CORPUS_ID/ragFiles:import \
-d '{
"import_rag_files_config": {
"google_drive_source": {
"resource_ids": {
"resource_id": "FOLDER_RESOURCE_ID",
"resource_type": "RESOURCE_TYPE_FOLDER"
}
},
"max_embedding_requests_per_min": EMBEDDING_MODEL_QPM_RATE
}
}'
Python
Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez Installer le SDK Vertex AI pour Python. Pour en savoir plus, lisez la documentation de référence de l'API SDK Vertex AI pour Python.
Exemple de listage de fichiers RAG
Ces exemples de code montrent comment lister des fichiers RAG.
REST
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet.
- LOCATION : région dans laquelle traiter la requête.
- RAG_CORPUS_ID : ID de la ressource
RagCorpus
. - PAGE_SIZE : taille de la page de la liste standard. Vous pouvez ajuster le nombre de
RagFiles
à renvoyer par page en mettant à jour le paramètre page_size. - PAGE_TOKEN : jeton de la page de la liste standard. Obtenu à l'aide de
ListRagFilesResponse.next_page_token
de l'appelVertexRagDataService.ListRagFiles
précédent.
Méthode HTTP et URL :
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles?page_size=PAGE_SIZE&page_token=PAGE_TOKEN
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles?page_size=PAGE_SIZE&page_token=PAGE_TOKEN"
Powershell
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles?page_size=PAGE_SIZE&page_token=PAGE_TOKEN" | Select-Object -Expand Content
Vous devriez recevoir un code d'état indiquant le succès de l'opération (2xx), ainsi qu'une liste de RagFiles
sous le RAG_CORPUS_ID
donné.
Python
Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez Installer le SDK Vertex AI pour Python. Pour en savoir plus, lisez la documentation de référence de l'API SDK Vertex AI pour Python.
Exemple d'obtention d'un fichier RAG
Ces exemples de code montrent comment obtenir un fichier RAG.
REST
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet.
- LOCATION : région dans laquelle traiter la requête.
- RAG_CORPUS_ID : ID de la ressource
RagCorpus
. - RAG_FILE_ID : ID de la ressource
RagFile
.
Méthode HTTP et URL :
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID"
Powershell
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID" | Select-Object -Expand Content
Une réponse réussie renvoie la ressource RagFile
.
Python
Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez Installer le SDK Vertex AI pour Python. Pour en savoir plus, lisez la documentation de référence de l'API SDK Vertex AI pour Python.
Exemple de suppression d'un fichier RAG
Ces exemples de code montrent comment supprimer un fichier RAG.
REST
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet.
- LOCATION : région dans laquelle traiter la requête.
- RAG_CORPUS_ID : ID de la ressource du corpus RAG.
- RAG_FILE_ID : ID de la ressource du fichier RAG. Format :
projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{rag_file_id}
.
Méthode HTTP et URL :
DELETE https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Exécutez la commande suivante :
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID"
Powershell
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID" | Select-Object -Expand Content
Python
Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez Installer le SDK Vertex AI pour Python. Pour en savoir plus, lisez la documentation de référence de l'API SDK Vertex AI pour Python.
Requête de récupération
Lorsqu'un utilisateur pose une question ou fournit une requête, le composant de récupération du RAG effectue une recherche dans sa base de connaissances afin de trouver des informations pertinentes pour la requête.
REST
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet.
- LOCATION : région dans laquelle traiter la requête.
- RAG_CORPUS_RESOURCE : nom de la ressource
RagCorpus
. Format :projects/{project}/locations/{location}/ragCorpora/{rag_corpus}
. - VECTOR_DISTANCE_THRESHOLD : seuls les contextes dont la distance vectorielle est inférieure au seuil sont renvoyés.
- TEXT : texte de la requête permettant d'obtenir les contextes pertinents.
- SIMILARITY_TOP_K : nombre de contextes principaux à récupérer.
Méthode HTTP et URL :
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION:retrieveContexts
Corps JSON de la requête :
{
"vertex_rag_store": {
"rag_resources": {
"rag_corpus": "RAG_CORPUS_RESOURCE"
},
"vector_distance_threshold": VECTOR_DISTANCE_THRESHOLD
},
"query": {
"text": TEXT
"similarity_top_k": SIMILARITY_TOP_K
}
}
curl
Enregistrez le corps de la requête dans un fichier nommé request.json et exécutez la commande suivante :
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION:retrieveContexts"
Powershell
Enregistrez le corps de la requête dans un fichier nommé request.json et exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION:retrieveContexts" | Select-Object -Expand Content
Vous devriez recevoir un code d'état indiquant le succès de l'opération (2xx), ainsi qu'une liste des RagFiles
associés.
Python
Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez Installer le SDK Vertex AI pour Python. Pour en savoir plus, lisez la documentation de référence de l'API SDK Vertex AI pour Python.
Génération
Le LLM génère une réponse ancrée à l'aide des contextes récupérés.
REST
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet.
- LOCATION : région dans laquelle traiter la requête.
- MODEL_ID : LLM pour la génération de contenu. Exemple :
gemini-2.0-flash-001
. - GENERATION_METHOD : méthode LLM pour la génération de contenu.
Options :
generateContent
,streamGenerateContent
. - INPUT_PROMPT : texte envoyé au LLM pour la génération de contenu. Essayez d'utiliser une requête pertinente pour les fichiers RAG importés.
- RAG_CORPUS_RESOURCE : nom de la ressource
RagCorpus
. Format :projects/{project}/locations/{location}/ragCorpora/{rag_corpus}
. - SIMILARITY_TOP_K (facultatif) : nombre de contextes principaux à récupérer.
- VECTOR_DISTANCE_THRESHOLD (facultatif) : seuls les contextes dont la distance vectorielle est inférieure au seuil sont renvoyés.
- USER : votre nom d'utilisateur.
Méthode HTTP et URL :
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:GENERATION_METHOD
Corps JSON de la requête :
{
"contents": {
"role": "USER",
"parts": {
"text": "INPUT_PROMPT"
}
},
"tools": {
"retrieval": {
"disable_attribution": false,
"vertex_rag_store": {
"rag_resources": {
"rag_corpus": "RAG_CORPUS_RESOURCE"
},
"similarity_top_k": "SIMILARITY_TOP_K",
"vector_distance_threshold": VECTOR_DISTANCE_THRESHOLD
}
}
}
}
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé request.json et exécutez la commande suivante :
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:GENERATION_METHOD"
Powershell
Enregistrez le corps de la requête dans un fichier nommé request.json et exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:GENERATION_METHOD" | Select-Object -Expand Content
Une réponse réussie renvoie le contenu généré avec des citations.
Python
Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez Installer le SDK Vertex AI pour Python. Pour en savoir plus, lisez la documentation de référence de l'API SDK Vertex AI pour Python.
Étapes suivantes
- Pour en savoir plus sur les modèles de génération compatibles, consultez Modèles d'IA générative compatibles avec RAG.
- Pour en savoir plus sur les modèles d'embedding compatibles, consultez Modèles d'embedding.
- Pour en savoir plus sur les modèles ouverts, consultez Modèles ouverts.
- Pour en savoir plus sur le moteur RAG, consultez la présentation du moteur RAG.