RAG Engine di Vertex AI è un componente della piattaforma Vertex AI, che facilita la generazione RAG (Retrieval-Augmented Generation). RAG Engine consente ai modelli linguistici di grandi dimensioni (LLM) di accedere e incorporare dati da origini di conoscenza esterne, come documenti e database. Utilizzando i RAG, gli LLM possono generare risposte LLM più accurate e informative.
Elenco dei parametri
In questa sezione sono elencate le seguenti informazioni:
Parametri | Esempi |
---|---|
Consulta Parametri di gestione del corpus. | Consulta gli esempi di gestione del corpus. |
Consulta Parametri di gestione dei file. | Consulta gli esempi di gestione dei file. |
Parametri di gestione del corpus
Per informazioni su un corpus RAG, consulta Gestione di Corpus.
Crea un corpus RAG
In questa tabella sono elencati i parametri utilizzati per creare un corpus RAG.
Corpo della richiesta
Parametri | |
---|---|
|
Obbligatorio: Il nome visualizzato del corpus RAG. |
|
Facoltativo: La descrizione del corpus RAG. |
|
Facoltativo: immutabile: La configurazione dei database vettoriali. |
|
Facoltativo: La configurazione di Vertex AI Search. Formato: |
RagVectorDbConfig
Parametri | |
---|---|
|
Se non viene specificato alcun database vettoriale, |
|
Specifica la tua istanza Pinecone. |
|
Si tratta del nome utilizzato per creare l'indice della pigna da utilizzare con il corpus RAG. Una volta impostato, questo valore non può essere modificato. Puoi lasciarlo vuoto nella chiamata API |
|
Specifica la tua istanza di Vertex Vector Search. |
|
Questo è il nome della risorsa dell'indice di Vector Search utilizzato con il corpus RAG. Formato: Una volta impostato, questo valore non può essere modificato. Puoi lasciarlo vuoto nella chiamata API |
|
Questo è il nome della risorsa dell'endpoint indice di Vector Search utilizzato con il corpus RAG. Formato: Una volta impostato, questo valore non può essere modificato. Puoi lasciarlo vuoto nella chiamata API |
|
Si tratta del nome completo della risorsa del secret archiviato in Secret Manager, che contiene la chiave API Pinecone. Formato: Puoi lasciarlo vuoto nella chiamata API |
|
Facoltativo: immutabile: Il modello di incorporamento da utilizzare per il corpus RAG. Questo valore non può essere modificato dopo essere stato impostato. Se lasci vuoto il campo, utilizziamo text-embedding-005 come modello di incorporamento. |
Aggiorna un corpus RAG
In questa tabella sono elencati i parametri utilizzati per aggiornare un corpus RAG.
Corpo della richiesta
Parametri | |
---|---|
|
Facoltativo: Il nome visualizzato del corpus RAG. |
|
Facoltativo: La descrizione del corpus RAG. |
|
Si tratta del nome utilizzato per creare l'indice della pigna da utilizzare con il corpus RAG. Se |
|
Questo è il nome della risorsa dell'indice di Vector Search utilizzato con il corpus RAG. Formato: Se |
|
Questo è il nome della risorsa dell'endpoint indice di Vector Search utilizzato con il corpus RAG. Formato: Se |
|
Il nome completo della risorsa del secret archiviato in Secret Manager, che contiene la chiave API Pinecone. Formato: |
Elenco corpora RAG
Questa tabella elenca i parametri utilizzati per elencare il corpora RAG.
Parametri | |
---|---|
|
Facoltativo: Le dimensioni della pagina dell'elenco standard. |
|
Facoltativo: Il token della pagina dell'elenco standard. Risultato ottenuto in genere da |
Ottieni un corpus RAG
In questa tabella sono elencati i parametri utilizzati per ottenere un corpus RAG.
Parametri | |
---|---|
|
Il nome della risorsa |
Elimina un corpus RAG
In questa tabella sono elencati i parametri utilizzati per eliminare un corpus RAG.
Parametri | |
---|---|
|
Il nome della risorsa |
Parametri di gestione dei file
Per informazioni su un file RAG, consulta Gestione dei file.
Carica un file RAG
In questa tabella sono elencati i parametri utilizzati per caricare un file RAG.
Corpo della richiesta
Parametri | |
---|---|
|
Il nome della risorsa |
|
Obbligatorio: Il file da caricare. |
|
Obbligatorio: La configurazione di |
RagFile |
|
---|---|
|
Obbligatorio: Il nome visualizzato del file RAG. |
|
Facoltativo: La descrizione del file RAG. |
UploadRagFileConfig |
|
---|---|
|
Numero di token di ciascun blocco. |
|
La sovrapposizione tra i chunk. |
Importa file RAG
In questa tabella sono elencati i parametri utilizzati per importare un file RAG.
Parametri | |
---|---|
|
Obbligatorio: Il nome della risorsa Formato: |
|
Percorso di Cloud Storage. Supporta l'importazione di singoli file e di intere directory di Cloud Storage. |
|
URI Cloud Storage che contiene il file di caricamento. |
|
Posizione di Google Drive. Supporta l'importazione di singoli file e di cartelle di Google Drive. |
|
Il canale Slack in cui viene caricato il file. |
|
La query Jira in cui viene caricato il file. |
|
Le origini di SharePoint in cui viene caricato il file. |
|
Numero di token di ciascun blocco. |
|
La sovrapposizione tra i chunk. |
|
Facoltativo: Specifica la configurazione dell'analisi per Se questo campo non è impostato, RAG utilizza il parser predefinito. |
|
Facoltativo: Il numero massimo di query al minuto che questo job può eseguire al modello di incorporamento specificato nel corpus. Questo valore è specifico per questo job e non è condiviso tra altri job di importazione. Consulta la pagina Quote del progetto per impostare un valore appropriato. Se non specificato, viene utilizzato un valore predefinito di 1000 QPM. |
GoogleDriveSource |
|
---|---|
|
Obbligatorio: L'ID della risorsa di Google Drive. |
|
Obbligatorio: Il tipo di risorsa di Google Drive. |
SlackSource |
|
---|---|
|
Ripetizione: Informazioni sul canale Slack, inclusi ID e intervallo di tempo da importare. |
|
Obbligatorio: L'ID canale di Slack. |
|
Facoltativo: Il timestamp iniziale per i messaggi da importare. |
|
Facoltativo: Il timestamp di fine dei messaggi da importare. |
|
Obbligatorio: Il nome completo della risorsa del secret archiviato in Secret Manager, che contiene un token di accesso al canale Slack che ha accesso agli ID canale Slack.
Formato: |
JiraSource |
|
---|---|
|
Ripetizione: Un elenco di progetti Jira da importare nella loro interezza. |
|
Ripetizione: Un elenco di query Jira personalizzate da importare. Per informazioni sul linguaggio JQL (Jira Query Language), consulta
|
|
Obbligatorio: L'indirizzo email Jira. |
|
Obbligatorio: L'URI del server Jira. |
|
Obbligatorio: Il nome completo della risorsa del secret archiviato in Secret Manager,
che contiene la chiave API Jira che ha accesso agli ID canale Slack.
Formato: |
SharePointSources |
|
---|---|
|
Il percorso della cartella SharePoint da cui eseguire il download. |
|
L'ID della cartella SharePoint da cui eseguire il download. |
|
Il nome dell'unità da cui eseguire il download. |
|
L'ID dell'unità da cui eseguire il download. |
|
L'ID dell'app registrata nel portale Microsoft Azure.
|
|
Obbligatorio: Il nome completo della risorsa del secret archiviato in Secret Manager, che contiene il secret dell'applicazione per l'app registrata in Azure. Formato: |
|
Identificatore univoco dell'istanza Azure Active Directory. |
|
Il nome del sito SharePoint da cui eseguire il download. Può essere il nome o l'ID del sito. |
RagFileParsingConfig |
|
---|---|
|
L'analizzatore sintattico del layout da utilizzare per i |
|
Il nome completo della risorsa di un processore o versione del processore Document AI. Formato:
|
|
Il numero massimo di richieste al minuto che il job può inviare al processore Document AI. Consulta la pagina https://cloud.google.com/document-ai/quotas e la pagina Quota per il tuo progetto per impostare un valore appropriato qui. Se non specificato, viene utilizzato un valore predefinito di 120 QPM. |
Recuperare un file RAG
In questa tabella sono elencati i parametri utilizzati per ottenere un file RAG.
Parametri | |
---|---|
|
Il nome della risorsa |
Eliminare un file RAG
In questa tabella sono elencati i parametri utilizzati per eliminare un file RAG.
Parametri | |
---|---|
|
Il nome della risorsa |
Recupero e previsione
In questa sezione sono elencati i parametri di recupero e previsione.
Parametri di recupero
In questa tabella sono elencati i parametri per l'API retrieveContexts
.
Parametri | |
---|---|
|
Obbligatorio: Il nome della risorsa della località in cui recuperare Formato: |
|
L'origine dati per Vertex RagStore. |
|
Obbligatorio: Singola query di recupero RAG. |
VertexRagStore
VertexRagStore |
|
---|---|
|
elenco: La rappresentazione dell'origine RAG. Può essere utilizzato per specificare solo il corpus o i |
|
Facoltativo: Nome risorsa Formato: |
|
elenco: Un elenco di Formato: |
RagQuery |
|
---|---|
|
La query in formato testuale per ottenere contesti pertinenti. |
|
Facoltativo: La configurazione di recupero per la query. |
RagRetrievalConfig |
|
---|---|
|
Facoltativo: Il numero di contesti da recuperare. |
|
Restituisce solo i contesti con una distanza vettoriale minore della soglia. |
|
Restituisce solo i contesti con somiglianza vettoriale maggiore della soglia. |
|
Facoltativo: Il nome del modello del servizio di ranking. Esempio: |
|
Facoltativo: Il nome del modello utilizzato per il ranking. Esempio: |
Parametri di previsione
In questa tabella sono elencati i parametri di previsione.
GenerateContentRequest |
|
---|---|
|
Imposta l'utilizzo di un'origine dati basata sul RAG Store di Vertex AI. |
Vedi VertexRagStore per i dettagli.
Esempi di gestione dei corpus
Questa sezione fornisce esempi di come utilizzare l'API per gestire il tuo corpus RAG.
Crea un esempio di corpus RAG
Questi esempi di codice mostrano come creare un corpus RAG.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto.
- LOCATION: la regione in cui elaborare la richiesta.
- CORPUS_DISPLAY_NAME: il nome visualizzato del corpus RAG.
- CORPUS_DESCRIPTION: la descrizione del corpus RAG.
Metodo HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora
Corpo JSON della richiesta:
{
"display_name" : "CORPUS_DISPLAY_NAME",
"description": "CORPUS_DESCRIPTION",
}
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json ed esegui questo comando:
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
Salva il corpo della richiesta in un file denominato request.json ed esegui questo comando:
$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
Dovresti ricevere un codice di stato corretto (2xx).
L'esempio seguente mostra come creare un corpus RAG utilizzando 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
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, vedi Installare l'SDK Vertex AI per Python. Per ulteriori informazioni, consulta la documentazione di riferimento dell'SDK Vertex AI per l'API Python.
Aggiorna un esempio di corpus RAG
Puoi aggiornare il corpus RAG con un nuovo nome visualizzato, una nuova descrizione e una nuova configurazione del database vettoriale. Tuttavia, non puoi modificare i seguenti parametri nel corpus RAG:
- Il tipo di database vettoriale. Ad esempio, non puoi cambiare il database vettoriale da Weaviate a Vertex AI Feature Store.
- Se utilizzi l'opzione database gestito, non puoi aggiornare la configurazione del database vettoriale.
Questi esempi mostrano come aggiornare un corpus RAG.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto.
- LOCATION: la regione in cui elaborare la richiesta.
- CORPUS_ID: l'ID del corpus RAG.
- CORPUS_DISPLAY_NAME: il nome visualizzato del corpus RAG.
- CORPUS_DESCRIPTION: la descrizione del corpus RAG.
- INDEX_NAME: il nome della risorsa dell'indice di
Vector Search. Formato:
projects/{project}/locations/{location}/indexes/{index}
. - INDEX_ENDPOINT_NAME: il nome della risorsa dell'endpoint indice di Vector Search. Formato:
projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}
.
Metodo HTTP e URL:
PATCH https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/CORPUS_ID
Corpo JSON della richiesta:
{
"display_name" : "CORPUS_DISPLAY_NAME",
"description": "CORPUS_DESCRIPTION",
"rag_vector_db_config": {
"vertex_vector_search": {
"index": "INDEX_NAME",
"index_endpoint": "INDEX_ENDPOINT_NAME",
}
}
}
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json ed esegui questo comando:
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
Salva il corpo della richiesta in un file denominato request.json ed esegui questo comando:
$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
Dovresti ricevere un codice di stato corretto (2xx).
Elenco di corpora RAG di esempio
Questi esempi di codice mostrano come elencare tutti i corpora RAG.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto.
- LOCATION: la regione in cui elaborare la richiesta.
- PAGE_SIZE: la dimensione standard della pagina di elenco. Puoi regolare il numero di corpora RAG da restituire per pagina aggiornando il parametro
page_size
. - PAGE_TOKEN: il token standard della pagina elenco. Ottenuta
in genere usando
ListRagCorporaResponse.next_page_token
della chiamataVertexRagDataService.ListRagCorpora
precedente.
Metodo HTTP e URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora?page_size=PAGE_SIZE&page_token=PAGE_TOKEN
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Esegui questo comando:
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
Esegui questo comando:
$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
Dovresti ricevere un codice di stato corretto (2xx
) e un elenco di corpora RAG nell'ambito PROJECT_ID
specificato.
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, vedi Installare l'SDK Vertex AI per Python. Per ulteriori informazioni, consulta la documentazione di riferimento dell'SDK Vertex AI per l'API Python.
Ottieni un esempio di corpus RAG
Questi esempi di codice mostrano come ottenere un corpus RAG.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto.
- LOCATION: la regione in cui elaborare la richiesta.
- RAG_CORPUS_ID: l'ID della risorsa del corpus RAG.
Metodo HTTP e URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Esegui questo comando:
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
Esegui questo comando:
$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
Una risposta positiva restituisce la risorsa RagCorpus
.
I comandi get
e list
vengono utilizzati in un esempio per dimostrare in che modo RagCorpus
utilizza il campo rag_embedding_model_config
nell'elemento vector_db_config
, che punta al modello di incorporamento che hai scelto.
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
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, vedi Installare l'SDK Vertex AI per Python. Per ulteriori informazioni, consulta la documentazione di riferimento dell'SDK Vertex AI per l'API Python.
Elimina un esempio di corpus RAG
Questi esempi di codice mostrano come eliminare un corpus RAG.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto.
- LOCATION: la regione in cui elaborare la richiesta.
- RAG_CORPUS_ID: l'ID della risorsa
RagCorpus
.
Metodo HTTP e URL:
DELETE https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Esegui questo comando:
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
Esegui questo comando:
$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
Una risposta corretta restituisce DeleteOperationMetadata
.
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, vedi Installare l'SDK Vertex AI per Python. Per ulteriori informazioni, consulta la documentazione di riferimento dell'SDK Vertex AI per l'API Python.
Esempi di gestione dei file
Questa sezione fornisce esempi di come utilizzare l'API per gestire i file RAG.
Carica un file RAG di esempio
Questi esempi di codice mostrano come caricare un file RAG.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto.
- LOCATION: la regione in cui elaborare la richiesta.
- RAG_CORPUS_ID: l'ID del corpus RAG.
- LOCAL_FILE_PATH: il percorso locale del file da caricare.
- DISPLAY_NAME: il nome visualizzato del file RAG.
- DESCRIPTION: la descrizione del file RAG.
Per inviare la richiesta, utilizza il comando seguente:
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
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, vedi Installare l'SDK Vertex AI per Python. Per ulteriori informazioni, consulta la documentazione di riferimento dell'SDK Vertex AI per l'API Python.
Esempio di importazione di file RAG
Puoi importare file e cartelle
da Drive o Cloud Storage. Puoi utilizzare response.metadata
per visualizzare gli errori parziali, il tempo di richiesta e il tempo di risposta nell'oggetto response
dell'SDK.
response.skipped_rag_files_count
si riferisce al numero di file
ignorati durante l'importazione. Un file viene ignorato quando si verificano le seguenti condizioni:
- Il file è già stato importato.
- Il file non è cambiato.
- La configurazione del chunking per il file non è cambiata.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto.
- LOCATION: la regione in cui elaborare la richiesta.
- RAG_CORPUS_ID: l'ID del corpus RAG.
- FOLDER_RESOURCE_ID: l'ID risorsa della cartella di Drive.
- GCS_URIS: un elenco di località di Cloud Storage.
Esempio:
gs://my-bucket1
. - CHUNK_SIZE: il numero di token che ogni blocco dovrebbe avere.
- CHUNK_OVERLAP: il numero di token che si sovrappongono tra i blocchi.
- EMBEDDING_MODEL_QPM_RATE: la frequenza QPM per limitare l'accesso della RAG al modello di incorporamento. Esempio: 1000.
Metodo HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:import
Corpo JSON della richiesta:
{
"import_rag_files_config": {
"gcs_source": {
"uris": "GCS_URIS"
},
"rag_file_chunking_config": {
"chunk_size": "CHUNK_SIZE",
"chunk_overlap": "CHUNK_OVERLAP"
}
}
}
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json ed esegui questo comando:
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
Salva il corpo della richiesta in un file denominato request.json ed esegui questo comando:
$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
Una risposta positiva restituisce la risorsa ImportRagFilesOperationMetadata
.
L'esempio seguente mostra come importare un file da Cloud Storage. Utilizza il campo di controllo max_embedding_requests_per_min
per limitare la frequenza con cui RAG Engine chiama il modello di embedding durante il processo di indicizzazione ImportRagFiles
. Il campo ha un valore predefinito di 1000
chiamate
al minuto.
- PROJECT_ID: il tuo ID progetto.
- LOCATION: la regione in cui elaborare la richiesta.
- RAG_CORPUS_ID: l'ID del corpus RAG.
- GCS_URIS: un elenco di località di Cloud Storage.
Esempio:
gs://my-bucket1
. - CHUNK_SIZE: il numero di token che ogni blocco dovrebbe avere.
- CHUNK_OVERLAP: il numero di token che si sovrappongono tra i blocchi.
- EMBEDDING_MODEL_QPM_RATE: la frequenza QPM per limitare l'accesso degli RAG al modello di incorporamento. Esempio: 1000.
// 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'esempio riportato di seguito mostra come importare un file da Drive. Utilizza il campo di controllo max_embedding_requests_per_min
per limitare la frequenza con cui RAG Engine chiama il modello di embedding durante il processo di indicizzazione ImportRagFiles
. Il campo ha un valore predefinito di 1000
chiamate
al minuto.
- PROJECT_ID: il tuo ID progetto.
- LOCATION: la regione in cui elaborare la richiesta.
- RAG_CORPUS_ID: l'ID del corpus RAG.
- FOLDER_RESOURCE_ID: l'ID risorsa della cartella di Drive.
- CHUNK_SIZE: il numero di token che ogni blocco dovrebbe avere.
- CHUNK_OVERLAP: il numero di token che si sovrappongono tra i blocchi.
- EMBEDDING_MODEL_QPM_RATE: la frequenza QPM per limitare l'accesso della RAG al modello di incorporamento. Esempio: 1000.
// 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
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, vedi Installare l'SDK Vertex AI per Python. Per ulteriori informazioni, consulta la documentazione di riferimento dell'SDK Vertex AI per l'API Python.
Esempio di elenco di file RAG
Questi esempi di codice mostrano come elencare i file RAG.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto.
- LOCATION: la regione in cui elaborare la richiesta.
- RAG_CORPUS_ID: l'ID della risorsa
RagCorpus
. - PAGE_SIZE: la dimensione standard della pagina di elenco. Puoi modificare il numero di
RagFiles
da restituire per pagina aggiornando il parametro page_size. - PAGE_TOKEN: il token standard della pagina elenco. ottenuta utilizzando
ListRagFilesResponse.next_page_token
della chiamataVertexRagDataService.ListRagFiles
precedente.
Metodo HTTP e 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
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Esegui questo comando:
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
Esegui questo comando:
$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
Dovresti ricevere un codice di stato corretto (2xx) insieme a un elenco di RagFiles
sotto il RAG_CORPUS_ID
specificato.
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, vedi Installare l'SDK Vertex AI per Python. Per ulteriori informazioni, consulta la documentazione di riferimento dell'SDK Vertex AI per l'API Python.
Ottieni un esempio di file RAG
Questi esempi di codice mostrano come ottenere un file RAG.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto.
- LOCATION: la regione in cui elaborare la richiesta.
- RAG_CORPUS_ID: l'ID della risorsa
RagCorpus
. - RAG_FILE_ID: l'ID della risorsa
RagFile
.
Metodo HTTP e URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Esegui questo comando:
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
Esegui questo comando:
$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
Una risposta positiva restituisce la risorsa RagFile
.
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, vedi Installare l'SDK Vertex AI per Python. Per ulteriori informazioni, consulta la documentazione di riferimento dell'SDK Vertex AI per l'API Python.
Elimina un esempio di file RAG
Questi esempi di codice mostrano come eliminare un file RAG.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID>: l'ID progetto.
- LOCATION: la regione in cui elaborare la richiesta.
- RAG_CORPUS_ID: l'ID della risorsa RagCorpus.
- RAG_FILE_ID: l'ID della risorsa RagFile. Formato:
projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{rag_file_id}
.
Metodo HTTP e URL:
DELETE https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Esegui questo comando:
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
Esegui questo comando:
$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
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, vedi Installare l'SDK Vertex AI per Python. Per ulteriori informazioni, consulta la documentazione di riferimento dell'SDK Vertex AI per l'API Python.
Query di recupero
Quando un utente pone una domanda o fornisce un prompt, il componente di recupero in RAG esamina la knowledge base per trovare informazioni pertinenti alla query.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto.
- LOCATION: la regione in cui elaborare la richiesta.
- RAG_CORPUS_RESOURCE: il nome della risorsa
RagCorpus
. Formato:projects/{project}/locations/{location}/ragCorpora/{rag_corpus}
. - VECTOR_DISTANCE_THRESHOLD: vengono restituiti solo i contesti con una distanza vettoriale inferiore alla soglia.
- TEXT: il testo della query per ottenere contesti pertinenti.
- SIMILARITY_TOP_K: il numero di contesti principali da recuperare.
Metodo HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION:retrieveContexts
Corpo JSON della richiesta:
{
"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
Salva il corpo della richiesta in un file denominato request.json ed esegui questo comando:
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
Salva il corpo della richiesta in un file denominato request.json ed esegui questo comando:
$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
Dovresti ricevere un codice di stato corretto (2xx) e un elenco di RagFiles
correlati.
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, vedi Installare l'SDK Vertex AI per Python. Per ulteriori informazioni, consulta la documentazione di riferimento dell'SDK Vertex AI per l'API Python.
Generazione
L'LLM genera una risposta con base utilizzando i contesti recuperati.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto.
- LOCATION: la regione in cui elaborare la richiesta.
- MODEL_ID: modello LLM per la generazione di contenuti. Esempio:
gemini-2.0-flash-001
. - GENERATION_METHOD: metodo LLM per la generazione di contenuti.
Opzioni:
generateContent
,streamGenerateContent
. - INPUT_PROMPT: il testo inviato all'LLM per la generazione di contenuti. Prova a utilizzare un prompt pertinente ai file rag caricati.
- RAG_CORPUS_RESOURCE: il nome della risorsa
RagCorpus
. Formato:projects/{project}/locations/{location}/ragCorpora/{rag_corpus}
. - SIMILARITY_TOP_K: (facoltativo) il numero di contesti principali da recuperare.
- VECTOR_DISTANCE_THRESHOLD: (facoltativo) vengono restituiti i contesti con una distanza vettoriale inferiore alla soglia.
- USER: il tuo nome utente.
Metodo HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:GENERATION_METHOD
Corpo JSON della richiesta:
{
"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
}
}
}
}
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json ed esegui questo comando:
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
Salva il corpo della richiesta in un file denominato request.json ed esegui questo comando:
$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
Una risposta corretta restituisce i contenuti generati con le citazioni.
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI per Python, vedi Installare l'SDK Vertex AI per Python. Per ulteriori informazioni, consulta la documentazione di riferimento dell'SDK Vertex AI per l'API Python.
Passaggi successivi
- Per scoprire di più sui modelli di generazione supportati, consulta Modelli di IA generativa che supportano RAG.
- Per scoprire di più sui modelli di incorporamento supportati, consulta la pagina Modelli di incorporamento.
- Per scoprire di più sui modelli aperti, consulta Modelli aperti.
- Per scoprire di più su RAG Engine, consulta la panoramica di RAG Engine.