Il motore RAG di Vertex AI è un componente della piattaforma Vertex AI, che facilita la Retrieval-Augmented Generation (RAG). RAG Engine consente ai modelli linguistici di grandi dimensioni (LLM) di accedere e incorporare dati da fonti di conoscenza esterne, come documenti e database. Utilizzando la RAG, gli LLM possono generare risposte più accurate e informative.
Elenco dei parametri
Questa sezione elenca:
| Parametri | Esempi |
|---|---|
| Consulta Parametri di gestione del corpus. | Vedi Esempi di gestione del corpus. |
| Vedi Parametri di gestione dei file. | Vedi Esempi di gestione dei file. |
| Consulta Parametri di recupero e previsione. | Vedi Esempio di query di recupero. |
| Vedi Parametri di gestione dei progetti. | Consulta Esempi di gestione dei progetti. |
Parametri di gestione del corpus
Per informazioni su un corpus RAG, vedi Gestione dei corpus.
Crea un corpus RAG
Questa tabella elenca i parametri utilizzati per creare un corpus RAG.
Body Request
| Parametri | |
|---|---|
|
(Facoltativo) Immutabile.
La configurazione per specificare il tipo di corpus. |
|
Obbligatorio: Il nome visualizzato del corpus RAG. |
|
Facoltativo: La descrizione del corpus RAG. |
|
(Facoltativo) Immutabile: Il nome della chiave CMEK viene utilizzato per criptare i dati at-rest correlati al corpus RAG. Il nome della chiave è applicabile solo all'opzione Formato: |
|
(Facoltativo) Immutabile: La configurazione per i database vettoriali. |
|
Facoltativo: La configurazione di Vertex AI Search. Formato: |
CorpusTypeConfig
| Parametri | |
|---|---|
|
Il valore predefinito di |
|
Se imposti questo tipo, il corpus RAG è un Per ulteriori informazioni, consulta Utilizzare Vertex AI RAG Engine come datastore di memoria. |
|
Il parser LLM utilizzato per analizzare e archiviare i contesti delle sessioni dall'API Gemini Live. Puoi creare ricordi per l'indicizzazione. |
RagVectorDbConfig
| Parametri | |
|---|---|
|
Se non viene specificato alcun database vettoriale, |
|
Valore predefinito. Trova i vicini più vicini esatti confrontando tutti i punti dati nel tuo corpus RAG. Se non specifichi una strategia durante la creazione del corpus RAG, viene utilizzata la strategia di recupero KNN predefinita. |
|
Determina il numero di livelli nell'albero. Se haiO(10K) file RAG nel corpus RAG, imposta questo valore su 2.
Determina il numero di nodi foglia nella struttura basata su albero.
|
|
Specifica l'istanza Weaviate. |
|
L'endpoint HTTP dell'istanza Weaviate. Questo valore non può essere modificato dopo l'impostazione. Puoi lasciarlo vuoto nella
chiamata API |
|
La raccolta Weaviate a cui è mappato il corpus RAG. Questo valore non può essere modificato dopo l'impostazione. Puoi lasciarlo vuoto nella
chiamata API |
|
Specifica l'istanza Pinecone. |
|
Questo è il nome utilizzato per creare l'indice Pinecone utilizzato con il corpus RAG. Questo valore non può essere modificato dopo l'impostazione. Puoi lasciarlo vuoto nella
chiamata API |
|
Specifica l'istanza di Vertex AI Feature Store. |
|
Il Vertex AI Feature Store Formato: Questo valore non può essere modificato dopo l'impostazione. Puoi lasciarlo vuoto nella
chiamata API |
|
Specifica l'istanza di Vertex Vector Search. |
|
Questo è il nome della risorsa dell'indice della Ricerca vettoriale utilizzato con il corpus RAG. Formato: Questo valore non può essere modificato dopo l'impostazione. Puoi lasciarlo vuoto nella
chiamata API |
|
Nome della risorsa dell'endpoint dell'indice della Ricerca vettoriale utilizzato con il corpus RAG. Formato: Questo valore non può essere modificato dopo l'impostazione. Puoi lasciarlo vuoto nella
chiamata API |
|
Il nome completo della risorsa del secret archiviato in Secret Manager, che contiene la chiave API Weaviate o Pinecone a seconda del database vettoriale scelto. Formato: Puoi lasciarlo vuoto nella chiamata API |
|
(Facoltativo) Immutabile: Il modello di embedding da utilizzare per il corpus RAG. Questo valore non può essere modificato dopo l'impostazione. Se lo lasci vuoto, utilizziamo text-embedding-005 come modello di incorporamento. |
Aggiorna un corpus RAG
Questa tabella elenca i parametri utilizzati per aggiornare un corpus RAG.
Body Request
| Parametri | |
|---|---|
|
Facoltativo: Il nome visualizzato del corpus RAG. |
|
Facoltativo: La descrizione del corpus RAG. |
|
L'endpoint HTTP dell'istanza Weaviate. Se il tuo |
|
La raccolta Weaviate a cui è mappato il corpus RAG. Se il tuo |
|
Questo è il nome utilizzato per creare l'indice Pinecone utilizzato con il corpus RAG. Se il tuo |
|
Il Vertex AI Feature Store Formato: Se il tuo |
|
Questo è il nome della risorsa dell'indice della Ricerca vettoriale utilizzato con il corpus RAG. Formato: Se il tuo |
|
Nome della risorsa dell'endpoint dell'indice della Ricerca vettoriale utilizzato con il corpus RAG. Formato: Se il tuo |
|
Il nome completo della risorsa del secret archiviato in Secret Manager, che contiene la chiave API Weaviate o Pinecone, dipende dal database vettoriale scelto. Formato: |
Elenca i corpora RAG
Questa tabella elenca i parametri utilizzati per elencare i corpus RAG.
| Parametri | |
|---|---|
|
Facoltativo: Le dimensioni standard della pagina dell'elenco. |
|
Facoltativo: Il token della pagina dell'elenco standard. In genere ottenuto da |
Ottenere un corpus RAG
Questa tabella elenca i parametri utilizzati per ottenere un corpus RAG.
| Parametri | |
|---|---|
|
Il nome della risorsa |
Elimina un corpus RAG
Questa tabella elenca i parametri utilizzati per eliminare un corpus RAG.
| Parametri | |
|---|---|
|
Il nome della risorsa |
Creare schemi di metadati in batch
Questa tabella elenca i parametri utilizzati per creare in batch schemi di metadati per un corpus RAG.
Body Request
| Parametri | |
|---|---|
|
Obbligatorio: elenco di I messaggi di richiesta per |
CreateRagDataSchemaRequest
| Parametri | |
|---|---|
|
Obbligatorio: Lo schema dei metadati da creare. |
RagDataSchema
| Parametri | |
|---|---|
|
Obbligatorio: La chiave dello schema dei metadati. |
|
I dettagli dello schema dei metadati. |
RagMetadataSchemaDetails
| Parametri | |
|---|---|
|
Il tipo di dati dello schema dei metadati. Opzioni: |
Elenca schemi di metadati
Questa tabella elenca i parametri utilizzati per elencare gli schemi dei metadati.
| Parametri | Descrizione |
|---|---|
|
Obbligatorio: Il nome della risorsa di |
Elimina schemi di metadati in batch
Questa tabella elenca i parametri utilizzati per eliminare in batch gli schemi di metadati.
| Parametri | |
|---|---|
|
Obbligatorio: elenco di I nomi delle risorse |
Parametri di gestione dei file
Per informazioni su un file RAG e sui relativi metadati, consulta Gestione dei file.
Caricare un file RAG
Questa tabella elenca i parametri utilizzati per caricare un file RAG.
Body Request
| Parametri | |
|---|---|
|
Il nome della risorsa |
|
Obbligatorio: Il file da caricare. |
|
Obbligatorio: La configurazione di |
RagFile |
Descrizione |
|---|---|
|
Obbligatorio: Il nome visualizzato del file RAG. |
|
Facoltativo: La descrizione del file RAG. |
UploadRagFileConfig |
Descrizione |
|---|---|
|
Numero di token di ogni blocco. |
|
La sovrapposizione tra i chunk. |
Importare file RAG
Questa tabella elenca 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 Cloud Storage. |
|
L'URI Cloud Storage che contiene il file di caricamento. |
|
Posizione di Google Drive. Supporta l'importazione di singoli file e cartelle di Google Drive. |
|
Il canale Slack in cui viene caricato il file. |
|
La query Jira in cui viene caricato il file. |
|
Le origini SharePoint in cui viene caricato il file. |
|
Numero di token di ogni 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 sul modello di embedding specificato nel corpus. Questo valore è specifico per questo job e non viene condiviso con 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 Google Drive. |
|
Obbligatorio: Il tipo di risorsa Google Drive. |
SlackSource |
|
|---|---|
|
Ripetuto: Informazioni sul canale Slack, inclusi ID e intervallo di tempo da importare. |
|
Obbligatorio: L'ID canale Slack. |
|
Facoltativo: Il timestamp iniziale per i messaggi da importare. |
|
Facoltativo: Il timestamp finale per l'importazione dei messaggi. |
|
Obbligatorio: Il nome risorsa completo del secret archiviato in Secret Manager,
che contiene un token di accesso al canale Slack che ha accesso agli ID canale Slack.
Formato: |
JiraSource |
|
|---|---|
|
Ripetuto: Un elenco di progetti Jira da importare nella loro interezza. |
|
Ripetuto: Un elenco di query Jira personalizzate da importare. Per informazioni su JQL (Jira Query Language), consulta
|
|
Obbligatorio: L'indirizzo email Jira. |
|
Obbligatorio: L'URI del server Jira. |
|
Obbligatorio: Il nome risorsa completo del secret archiviato in Secret Manager,
che contiene la chiave API Jira con accesso agli ID dei canali Slack.
Formato: |
SharePointSources |
|
|---|---|
|
Il percorso della cartella di SharePoint da cui scaricare i file. |
|
L'ID della cartella di SharePoint da cui scaricare. |
|
Il nome dell'unità da cui scaricare. |
|
L'ID dell'unità da cui scaricare. |
|
L'ID applicazione per l'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 di Azure Active Directory. |
|
Il nome del sito SharePoint da cui scaricare. Può trattarsi del nome del sito o dell'ID del sito. |
RagFileParsingConfig |
|
|---|---|
|
Il parser del layout da utilizzare per |
|
Il nome completo della risorsa di un processore o di una versione del processore di Document AI. Formato:
|
|
Il numero massimo di richieste che il job può effettuare al processore Document AI al minuto. Consulta la pagina https://cloud.google.com/document-ai/quotas e la pagina Quote per il tuo progetto per impostare un valore appropriato. Se non specificato, viene utilizzato un valore predefinito di 120 QPM. |
|
Il parser LLM da utilizzare per |
|
Il nome della risorsa di un modello LLM. Formato:
|
|
Il numero massimo di richieste che il job può effettuare al modello LLM al minuto. Per impostare un valore appropriato per il tuo progetto, consulta la sezione relativa alle quote del modello e la pagina Quote per il tuo progetto per impostare un valore appropriato. Se non specificato, viene utilizzato un valore predefinito di 5000 QPM. |
Recuperare un file RAG
Questa tabella elenca i parametri utilizzati per ottenere un file RAG.
| Parametri | |
|---|---|
|
Il nome della risorsa |
Eliminare un file RAG
Questa tabella elenca i parametri utilizzati per eliminare un file RAG.
| Parametri | |
|---|---|
|
Il nome della risorsa |
Creazione batch di metadati
Questa tabella elenca i parametri utilizzati per creare in batch i metadati per un file RAG.
Body Request
| Parametri | |
|---|---|
|
Obbligatorio: elenco di I messaggi di richiesta per |
CreateRagMetadataRequest
| Parametri | |
|---|---|
|
Obbligatorio: I metadati da creare. |
|
Facoltativo: L'ID da utilizzare per i metadati, che diventerà il componente finale del nome della risorsa dei metadati. |
RagMetadata
| Parametri | |
|---|---|
|
I metadati forniti dagli utenti. |
UserSpecifiedMetadata
| Parametri | |
|---|---|
|
Obbligatorio: La chiave dei metadati. La chiave deve corrispondere a una chiave definita in un |
|
Il valore dei metadati. |
MetadataValue
| Parametri | |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
Metadati elenco
Questa tabella elenca i parametri utilizzati per elencare i metadati di un file RAG.
| Parametri | |
|---|---|
|
Obbligatorio: Il nome della risorsa di |
Aggiorna metadati
Questa tabella elenca i parametri utilizzati per aggiornare i metadati.
| Parametri | |
|---|---|
|
Obbligatorio: Il |
Eliminare i metadati in batch
Questa tabella elenca i parametri utilizzati per eliminare in batch i metadati.
| Parametri | |
|---|---|
|
Obbligatorio: elenco di I nomi delle risorse |
Parametri di recupero e previsione
Questa sezione elenca i parametri di recupero e previsione.
Parametri di recupero
Questa tabella elenca i parametri per l'API retrieveContexts.
| Parametri | |
|---|---|
|
Obbligatorio: Il nome della risorsa della località da cui eseguire il recupero.
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 |
|
Facoltativo: Nome della risorsa Formato: |
|
elenco: Un elenco di risorse Formato: |
RagQuery |
|
|---|---|
|
La query in formato di testo per ottenere i contesti pertinenti. |
|
Facoltativo: La configurazione del recupero per la query. |
RagRetrievalConfig |
|
|---|---|
|
Facoltativo: Il numero di contesti da recuperare. |
|
Facoltativo: Il valore alpha controlla la ponderazione tra i risultati della ricerca vettoriale densa e sparsa. L'intervallo è [0, 1], dove 0 indica solo la ricerca vettoriale sparsa e 1 indica solo la ricerca vettoriale densa. Il valore predefinito è 0,5, che bilancia in modo uniforme la ricerca vettoriale sparsa e densa. La ricerca ibrida è disponibile solo per Weaviate. |
|
Restituisce solo i contesti con una distanza del vettore inferiore alla soglia. |
|
Facoltativo: Il filtro dei metadati da applicare durante il recupero, utilizzando Common Expression Language (CEL). Per ulteriori informazioni, vedi [Ricerca di metadati](/vertex-ai/generative-ai/docs/rag-engine/use-metadata-search). Esempio: |
|
Restituisce solo i contesti con una somiglianza del vettore superiore alla soglia. |
|
Facoltativo: Il nome del modello del servizio di classificazione. Esempio: |
|
Facoltativo: Il nome del modello utilizzato per il ranking. Esempio: |
Parametri di recupero asincrono
Questa tabella elenca i parametri per l'API asyncRetrieveContexts.
| Parametri | |
|---|---|
|
Obbligatorio: Il nome della risorsa della località da recuperare Formato: |
|
Obbligatorio: Singola query di recupero RAG. |
|
(Facoltativo) Elenco di Gli strumenti da utilizzare per il recupero. Gli strumenti supportati includono |
Parametri dei contesti di domanda
Questa tabella elenca i parametri per l'API askContexts.
| Parametri | |
|---|---|
|
Obbligatorio: Il nome della risorsa della località da recuperare Formato: |
|
Obbligatorio: Singola query di recupero RAG. |
|
(Facoltativo) Elenco di Gli strumenti da utilizzare per il recupero. Gli strumenti supportati includono |
Parametri di previsione
Questa tabella elenca i parametri di previsione.
GenerateContentRequest |
|
|---|---|
|
Impostato per utilizzare un'origine dati basata sull'archivio RAG di Vertex AI. |
Per maggiori dettagli, consulta VertexRagStore.
Parametri di gestione dei progetti
Questa tabella elenca i parametri a livello di progetto.
RagEngineConfig
| Parametri | |
|---|---|
RagManagedDbConfig.serverless |
Imposta/cambia la modalità di deployment in Serverless, fornendo un database completamente gestito e altamente scalabile per supportare le risorse RAG Engine. |
RagManagedDbConfig.spanner |
Imposta/attiva la modalità di deployment su Spanner, supportata da un'istanza Spanner pronta per la produzione. |
RagManagedDbConfig.spanner.scaled |
Questo livello offre prestazioni su scala di produzione insieme alla funzionalità di scalabilità automatica in modalità Spanner. |
RagManagedDbConfig.spanner.basic |
Questo livello offre un livello di computing basso ed economico in modalità Spanner. |
RagManagedDbConfig.spanner.unprovisioned |
Questo livello elimina RagManagedDb e la relativa istanza Spanner. |
Esempi di gestione del corpus
Questa sezione fornisce esempi di come utilizzare l'API per gestire il corpus RAG.
Crea un esempio di corpus RAG
Questo esempio di codice mostra come creare un corpus RAG.
REST
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PROJECT_ID: il tuo ID progetto
- LOCATION: la regione in cui elaborare la richiesta.
- CORPUS_DISPLAY_NAME: il nome visualizzato di
RagCorpus. - CORPUS_DESCRIPTION: la descrizione di
RagCorpus.
Metodo HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora
Corpo JSON della richiesta:
{
"display_name" : "CORPUS_DISPLAY_NAME",
"description": "CORPUS_DESCRIPTION",
}
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora"
PowerShell
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
$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/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora" | Select-Object -Expand Content
L'esempio seguente mostra come creare un corpus RAG utilizzando l'API REST.
PROJECT_ID: Your project ID.
LOCATION: The region to process the request.
CORPUS_DISPLAY_NAME: The display name of the <code>RagCorpus</code>.
// 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/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora \
-d '{
"display_name" : "CORPUS_DISPLAY_NAME"
}'
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 modificare il database vettoriale da Weaviate a Vertex AI Feature Store.
- Se utilizzi l'opzione del 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 sostituzioni seguenti:
- PROJECT_ID: il tuo ID progetto
- LOCATION: la regione in cui elaborare la richiesta.
- CORPUS_ID: l'ID corpus del tuo corpus RAG.
- CORPUS_DISPLAY_NAME: il nome visualizzato di
RagCorpus. - CORPUS_DESCRIPTION: la descrizione di
RagCorpus. - INDEX_NAME: il nome della risorsa di
Vector Search Index. Formato:projects/{project}/locations/{location}/indexes/{index} - INDEX_ENDPOINT_NAME: il nome della risorsa di
Vector Search Index Endpoint. Formato:projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}
Metodo HTTP e URL:
PATCH https://LOCATION-aiplatform.googleapis.com/v1beta1/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 di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/CORPUS_ID"
PowerShell
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
$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/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/CORPUS_ID" | Select-Object -Expand Content
Esempio di elenco di corpora RAG
Questo esempio di codice mostra come elencare tutti i corpus RAG.
REST
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PROJECT_ID: il tuo ID progetto
- LOCATION: la regione in cui elaborare la richiesta.
- PAGE_SIZE: la dimensione standard della pagina dell'elenco. Puoi modificare il numero di
RagCorporada restituire per pagina aggiornando il parametropage_size. - PAGE_TOKEN: il token della pagina dell'elenco standard. Ottenuto in genere utilizzando
ListRagCorporaResponse.next_page_tokendella chiamata precedenteVertexRagDataService.ListRagCorpora.
Metodo HTTP e URL:
GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora?page_size=PAGE_SIZE&page_token=PAGE_TOKEN
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/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/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora?page_size=PAGE_SIZE&page_token=PAGE_TOKEN" | Select-Object -Expand Content
RagCorpora nell'ambito del PROJECT_ID specificato.
Ottieni un esempio di corpus RAG
REST
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- 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:
GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/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/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID" | Select-Object -Expand Content
RagCorpus.
I comandi get e list vengono utilizzati in un esempio per dimostrare come
RagCorpus utilizza il campo rag_embedding_model_config in 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.
// 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/v1beta1/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/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/
Elimina un esempio di corpus RAG
REST
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- 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/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/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/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID" | Select-Object -Expand Content
DeleteOperationMetadata.
Esempio di creazione batch di schemi di metadati
Questo esempio di codice mostra come creare in batch schemi di metadati per un corpus RAG.
REST
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PROJECT_ID: il tuo ID progetto
- LOCATION: la regione in cui elaborare la richiesta.
- RAG_CORPUS_ID: l'ID della risorsa
RagCorpus. - SCHEMA_KEY_1: La chiave del primo schema dei metadati.
- SCHEMA_TYPE_1: Il tipo di dati per il primo schema dei metadati (ad es.
INTEGER). - SCHEMA_KEY_2: La chiave per il secondo schema dei metadati.
- SCHEMA_TYPE_2: Il tipo di dati per il secondo schema dei metadati (ad es.
STRING).
Metodo HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragDataSchemas:batchCreate
Corpo JSON della richiesta:
{
"requests": [
{
"rag_data_schema": {
"key": "SCHEMA_KEY_1",
"schema_details": {"type": "SCHEMA_TYPE_1"}
}
},
{
"rag_data_schema": {
"key": "SCHEMA_KEY_2",
"schema_details": {"type": "SCHEMA_TYPE_2"}
}
}
]
}
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragDataSchemas:batchCreate"
PowerShell
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
$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/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragDataSchemas:batchCreate" | Select-Object -Expand Content
Esempio di elenco di schemi di metadati
Questo esempio di codice mostra come elencare gli schemi di metadati per un corpus RAG.
REST
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- 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:
GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragDataSchemas
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragDataSchemas"
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragDataSchemas" | Select-Object -Expand Content
RagDataSchema.
Esempio di eliminazione batch degli schemi di metadati
Questo esempio di codice mostra come eliminare in batch gli schemi di metadati.
REST
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PROJECT_ID: il tuo ID progetto
- LOCATION: la regione in cui elaborare la richiesta.
- RAG_CORPUS_ID: l'ID della risorsa
RagCorpus. - SCHEMA_ID_1: l'ID del primo schema dei metadati da eliminare.
- SCHEMA_ID_2: l'ID del secondo schema dei metadati da eliminare.
Metodo HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragDataSchemas:batchDelete
Corpo JSON della richiesta:
{
"names": [
"projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragDataSchemas/SCHEMA_ID_1",
"projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragDataSchemas/SCHEMA_ID_2"
]
}
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragDataSchemas:batchDelete"
PowerShell
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
$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/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragDataSchemas:batchDelete" | Select-Object -Expand Content
Esempi di gestione dei file
Questa sezione fornisce esempi di come utilizzare l'API per gestire i file RAG.
Carica un esempio di file RAG
REST
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti: PROJECT_ID: Your project ID.
LOCATION: The region to process the request.
RAG_CORPUS_ID: The corpus ID of your RAG corpus.
LOCAL_FILE_PATH: The local path to the file to be uploaded.
DISPLAY_NAME: The display name of the RAG file.
DESCRIPTION: The description of the RAG file.
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:upload"
Esempio di importazione di file RAG
File e cartelle possono essere importati da Drive o Cloud Storage.
response.skipped_rag_files_count indica il 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 sostituzioni seguenti:
- PROJECT_ID: il tuo ID progetto
- LOCATION: la regione in cui elaborare la richiesta.
- RAG_CORPUS_ID: l'ID della risorsa
RagCorpus. - GCS_URIS: un elenco di posizioni Cloud Storage. Esempio:
gs://my-bucket1, gs://my-bucket2. - CHUNK_SIZE: (facoltativo) il numero di token che ogni blocco deve avere.
- CHUNK_OVERLAP: (Facoltativo) Numero di token sovrapposti tra i chunk.
Metodo HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/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 di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:import"
PowerShell
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
$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/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:import" | Select-Object -Expand Content
ImportRagFilesOperationMetadata.
Il seguente esempio mostra come importare un file da Cloud Storage. Utilizza il campo di controllo max_embedding_requests_per_min per limitare la velocità con cui RAG Engine chiama il modello di incorporamento durante la procedura di indicizzazione ImportRagFiles. Il campo ha un valore predefinito di 1000 chiamate
al minuto.
PROJECT_ID: Your project ID.
LOCATION: The region to process the request.
RAG_CORPUS_ID: The corpus ID of your RAG corpus.
GCS_URIS: A list of Cloud Storage locations. Example: gs://my-bucket1.
CHUNK_SIZE: Number of tokens each chunk should have.
CHUNK_OVERLAP: Number of tokens overlap between chunks.
EMBEDDING_MODEL_QPM_RATE: The QPM rate to limit RAGs access to your embedding model. Example: 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/v1beta1/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
}
}'
// Poll the operation status.
// The response contains the number of files imported.
OPERATION_ID: The operation ID you get from the response of the previous command.
poll_op_wait OPERATION_ID
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 velocità con cui RAG Engine chiama il modello di incorporamento durante il
processo di indicizzazione ImportRagFiles. Il campo ha un valore predefinito di 1000 chiamate
al minuto.
PROJECT_ID: Your project ID.
LOCATION: The region to process the request.
RAG_CORPUS_ID: The corpus ID of your RAG corpus.
FOLDER_RESOURCE_ID: The resource ID of your Google Drive folder.
CHUNK_SIZE: Number of tokens each chunk should have.
CHUNK_OVERLAP: Number of tokens overlap between chunks.
EMBEDDING_MODEL_QPM_RATE: The QPM rate to limit RAGs access to your embedding model. Example: 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/v1beta1/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
}
}'
// Poll the operation status.
// The response contains the number of files imported.
OPERATION_ID: The operation ID you get from the response of the previous command.
poll_op_wait OPERATION_ID
Esempio di elenco di file RAG
Questo esempio di codice mostra come elencare i file RAG.
REST
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- 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 dell'elenco. Puoi modificare il numero di
RagFilesda restituire per pagina aggiornando il parametropage_size. - PAGE_TOKEN: il token della pagina dell'elenco standard. Ottenuto in genere utilizzando
ListRagFilesResponse.next_page_tokendella chiamata precedenteVertexRagDataService.ListRagFiles.
Metodo HTTP e URL:
GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles?page_size=PAGE_SIZE&page_token=PAGE_TOKEN
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/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/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles?page_size=PAGE_SIZE&page_token=PAGE_TOKEN" | Select-Object -Expand Content
RagFiles nel RAG_CORPUS_ID specificato.
Visualizzare un esempio di file RAG
Questo esempio di codice mostra come ottenere un file RAG.
REST
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- 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/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/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/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID" | Select-Object -Expand Content
RagFile.
Elimina un esempio di file RAG
Questo esempio di codice mostra come eliminare un file RAG.
REST
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- 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. Formato:projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{rag_file_id}.
Metodo HTTP e URL:
DELETE https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/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/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID" | Select-Object -Expand Content
DeleteOperationMetadata.
Esempio di creazione batch di metadati
Questo esempio di codice mostra come creare in batch i metadati per un file RAG.
REST
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- 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. - METADATA_KEY_1: La chiave della prima voce dei metadati.
- VALUE_TYPE_1: Il campo del tipo di valore per la prima voce dei metadati (ad es.
int_value). - METADATA_VALUE_1: il valore della prima voce dei metadati.
- METADATA_KEY_2: La chiave della seconda voce di metadati.
- VALUE_TYPE_2: Il campo del tipo di valore per la seconda voce dei metadati (ad es.
str_value). - METADATA_VALUE_2: il valore della seconda voce dei metadati.
Metodo HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID/ragMetadata:batchCreate
Corpo JSON della richiesta:
{
"requests": [
{
"rag_metadata": {
"user_specified_metadata": {
"key": "METADATA_KEY_1",
"value": { "VALUE_TYPE_1": METADATA_VALUE_1 }
}
}
},
{
"rag_metadata": {
"user_specified_metadata": {
"key": "METADATA_KEY_2",
"value": { "VALUE_TYPE_2": "METADATA_VALUE_2" }
}
}
}
]
}
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID/ragMetadata:batchCreate"
PowerShell
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
$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/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID/ragMetadata:batchCreate" | Select-Object -Expand Content
Esempio di metadati dell'elenco
Questo esempio di codice mostra come elencare i metadati di un file RAG.
REST
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- 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/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID/ragMetadata
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID/ragMetadata"
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID/ragMetadata" | Select-Object -Expand Content
RagMetadata.
Esempio di aggiornamento dei metadati
Questo esempio di codice mostra come aggiornare i metadati di un file RAG.
REST
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- 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. - METADATA_ID: l'ID della voce di metadati da aggiornare.
- METADATA_KEY: La chiave della voce di metadati.
- VALUE_TYPE: il campo del tipo di valore (ad es.
int_value). - METADATA_VALUE: il nuovo valore per la voce di metadati.
Metodo HTTP e URL:
PATCH https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID/ragMetadata/METADATA_ID
Corpo JSON della richiesta:
{
"user_specified_metadata": {
"key": "METADATA_KEY",
"value": { "VALUE_TYPE": METADATA_VALUE }
}
}
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID/ragMetadata/METADATA_ID"
PowerShell
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
$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/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID/ragMetadata/METADATA_ID" | Select-Object -Expand Content
Esempio di eliminazione batch dei metadati
Questo esempio di codice mostra come eliminare in batch le voci di metadati per un file RAG.
REST
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- 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. - METADATA_ID_1: l'ID della prima voce di metadati da eliminare.
- METADATA_ID_2: l'ID della seconda voce di metadati da eliminare.
Metodo HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID/ragMetadata:batchDelete
Corpo JSON della richiesta:
{
"names": [
"projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID/ragMetadata/METADATA_ID_1",
"projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID/ragMetadata/METADATA_ID_2"
]
}
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID/ragMetadata:batchDelete"
PowerShell
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
$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/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID/ragMetadata:batchDelete" | Select-Object -Expand Content
Esempio di query di recupero
Quando un utente pone una domanda o fornisce un prompt, il componente di recupero in RAG esegue una ricerca nella knowledge base per trovare informazioni pertinenti alla query.
REST
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- LOCATION: la regione in cui elaborare la richiesta.
- PROJECT_ID: il tuo ID progetto
- RAG_CORPUS_RESOURCE: il nome della risorsa
RagCorpus. Formato:projects/{project}/locations/{location}/ragCorpora/{rag_corpus}. - TOP_K: il numero di contesti principali da recuperare.
- VECTOR_DISTANCE_THRESHOLD: vengono restituiti solo i contesti con una distanza del vettore inferiore alla soglia.
- METADATA_FILTER: (facoltativo) il filtro dei metadati da applicare durante il recupero.
- TEXT: il testo della query per ottenere contesti pertinenti.
Metodo HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION:retrieveContexts
Corpo JSON della richiesta:
{
"vertex_rag_store": {
"rag_resources": [
{
"rag_corpus": "RAG_CORPUS_RESOURCE"
}
]
},
"query": {
"text": "TEXT",
"rag_retrieval_config": {
"top_k": TOP_K,
"filter": {
"vector_distance_threshold": VECTOR_DISTANCE_THRESHOLD,
"metadata_filter": "METADATA_FILTER"
}
}
}
}
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
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/v1beta1/projects/PROJECT_ID/locations/LOCATION:retrieveContexts"
PowerShell
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
$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/v1beta1/projects/PROJECT_ID/locations/LOCATION:retrieveContexts" | Select-Object -Expand Content
RagFiles correlati.
Esempio di generazione
L'LLM genera una risposta fondata utilizzando i contesti recuperati.
REST
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- 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.5-flash - GENERATION_METHOD: Metodo LLM per la generazione di contenuti. Opzioni:
generateContent,streamGenerateContent - INPUT_PROMPT: il testo inviato al 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}. - TOP_K: (facoltativo) il numero di contesti principali da recuperare.
- VECTOR_DISTANCE_THRESHOLD: (facoltativo) Vengono restituiti i contesti con una distanza del vettore inferiore alla soglia.
- METADATA_FILTER: (facoltativo) il filtro dei metadati da applicare durante il recupero.
Metodo HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/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"
}
],
"rag_retrieval_config": {
"top_k": TOP_K,
"filter": {
"vector_distance_threshold": VECTOR_DISTANCE_THRESHOLD,
"metadata_filter": "METADATA_FILTER"
}
}
}
}
}
}
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:GENERATION_METHOD"
PowerShell
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
$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/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:GENERATION_METHOD" | Select-Object -Expand Content
Esempi di gestione dei progetti
La modalità di deployment e il livello sono un'impostazione a livello di progetto disponibile nella risorsa RagEngineConfig
e influiscono sui corpus RAG che utilizzano RagManagedDb. Per ottenere la configurazione
attuale, utilizza GetRagEngineConfig. Per aggiornare la configurazione,
utilizza UpdateRagEngineConfig.
Per saperne di più sulla gestione della configurazione della modalità e del livello, consulta Modalità di deployment in RAG Engine.
Leggi il tuo attuale RagEngineConfig
I seguenti esempi di codice mostrano come leggere il tuo RagEngineConfig per vedere la modalità e il livello attualmente scelti:
Console
- Nella console Google Cloud , vai alla pagina Motore RAG.
- Seleziona la regione in cui è in esecuzione RAG Engine. L'elenco dei corpora RAG è aggiornato.
- Fai clic su Configura RAG Engine. Viene visualizzato il riquadro Configura RAG Engine. Puoi vedere il livello selezionato per il motore RAG.
- Fai clic su Annulla.
REST
PROJECT_ID: Your project ID.
LOCATION: The region to process the request.
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragEngineConfig
Python
from vertexai.preview import rag
import vertexai
PROJECT_ID = YOUR_PROJECT_ID
LOCATION = YOUR_RAG_ENGINE_LOCATION
# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location=LOCATION)
rag_engine_config = rag.rag_data.get_rag_engine_config(
name=f"projects/{PROJECT_ID}/locations/{LOCATION}/ragEngineConfig"
)
print(rag_engine_config)
Passare alla modalità serverless
I seguenti esempi di codice mostrano come passare alla modalità serverless per RagEngineConfig:
Console
- Nella console Google Cloud , vai alla pagina Motore RAG.
- Seleziona la regione in cui è in esecuzione Vertex AI RAG Engine.
- Fai clic sul pulsante Passa a serverless. Questo pulsante potrebbe non essere visibile se è già attiva la modalità serverless. Puoi verificare la modalità attuale dall'etichetta della modalità nella sezione in alto a destra della pagina.
REST
PROJECT_ID: Your project ID.
LOCATION: The region to process the request.
curl -X PATCH \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragEngineConfig -d "{'ragManagedDbConfig': {'serverless': {}}}"
Python
from vertexai.preview import rag
import vertexai
PROJECT_ID = YOUR_PROJECT_ID
LOCATION = YOUR_RAG_ENGINE_LOCATION
# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location=LOCATION)
rag_engine_config_name=f"projects/{PROJECT_ID}/locations/{LOCATION}/ragEngineConfig"
new_rag_engine_config = rag.RagEngineConfig(
name=rag_engine_config_name,
rag_managed_db_config=rag.RagManagedDbConfig(mode=rag.Serverless()),
)
updated_rag_engine_config = rag.rag_data.update_rag_engine_config(
rag_engine_config=new_rag_engine_config
)
print(updated_rag_engine_config)
Passare alla modalità Spanner
I seguenti esempi di codice mostrano come passare dalla modalità RagEngineConfig alla modalità Spanner. Se in precedenza hai utilizzato la modalità Spanner e hai scelto un livello, non è più necessario specificarlo in modo esplicito durante il passaggio. In caso contrario, consulta gli esempi di codice riportati di seguito per scoprire come passare alla modalità Spanner fornendo un livello.
Console
- Nella console Google Cloud , vai alla pagina Motore RAG.
- Seleziona la regione in cui è in esecuzione Vertex AI RAG Engine.
- Fai clic sul pulsante Passa a Spanner. Questo pulsante potrebbe non essere visibile se sei già in modalità Spanner. Puoi verificare la modalità attuale dall'etichetta della modalità nella sezione in alto a destra della pagina.
REST
PROJECT_ID: Your project ID.
LOCATION: The region to process the request.
curl -X PATCH \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragEngineConfig -d "{'ragManagedDbConfig': {'spanner': {}}}"
Python
from vertexai.preview import rag
import vertexai
PROJECT_ID = YOUR_PROJECT_ID
LOCATION = YOUR_RAG_ENGINE_LOCATION
# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location=LOCATION)
rag_engine_config_name=f"projects/{PROJECT_ID}/locations/{LOCATION}/ragEngineConfig"
new_rag_engine_config = rag.RagEngineConfig(
name=rag_engine_config_name,
rag_managed_db_config=rag.RagManagedDbConfig(mode=rag.Spanner()),
)
updated_rag_engine_config = rag.rag_data.update_rag_engine_config(
rag_engine_config=new_rag_engine_config
)
print(updated_rag_engine_config)
Aggiorna il tuo RagEngineConfig al livello con scalabilità della modalità Spanner
I seguenti esempi di codice mostrano come impostare RagEngineConfig sulla modalità Spanner con il livello di scalabilità:
Console
- Nella console Google Cloud , vai alla pagina Motore RAG.
- Seleziona la regione in cui è in esecuzione Vertex AI RAG Engine.
- Fai clic sul pulsante Passa a Spanner se non sei già in modalità Spanner.
- Fai clic su Configura RAG Engine. Viene visualizzato il riquadro Configura RAG Engine.
- Seleziona il livello su cui vuoi eseguire RAG Engine.
- Fai clic su Salva.
REST
PROJECT_ID: Your project ID.
LOCATION: The region to process the request.
curl -X PATCH \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragEngineConfig -d "{'ragManagedDbConfig': {'spanner': {'scaled': {}}}}"
Python
from vertexai.preview import rag
import vertexai
PROJECT_ID = YOUR_PROJECT_ID
LOCATION = YOUR_RAG_ENGINE_LOCATION
# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location=LOCATION)
rag_engine_config_name=f"projects/{PROJECT_ID}/locations/{LOCATION}/ragEngineConfig"
new_rag_engine_config = rag.RagEngineConfig(
name=rag_engine_config_name,
rag_managed_db_config=rag.RagManagedDbConfig(mode=rag.Spanner(tier=rag.Scaled())),
)
updated_rag_engine_config = rag.rag_data.update_rag_engine_config(
rag_engine_config=new_rag_engine_config
)
print(updated_rag_engine_config)
Aggiorna il tuo RagEngineConfig alla modalità Spanner con il livello Basic
I seguenti esempi di codice mostrano come impostare RagEngineConfig sulla modalità Spanner con il livello Basic:
Console
- Nella console Google Cloud , vai alla pagina Motore RAG.
- Seleziona la regione in cui è in esecuzione Vertex AI RAG Engine.
- Fai clic sul pulsante Passa a Spanner se non sei già in modalità Spanner.
- Fai clic su Configura RAG Engine. Viene visualizzato il riquadro Configura RAG Engine.
- Seleziona il livello su cui vuoi eseguire RAG Engine.
- Fai clic su Salva.
REST
PROJECT_ID: Your project ID.
LOCATION: The region to process the request.
curl -X PATCH \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragEngineConfig -d "{'ragManagedDbConfig': {'spanner': {'basic': {}}}}"
Python
from vertexai.preview import rag
import vertexai
PROJECT_ID = YOUR_PROJECT_ID
LOCATION = YOUR_RAG_ENGINE_LOCATION
# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location=LOCATION)
rag_engine_config_name=f"projects/{PROJECT_ID}/locations/{LOCATION}/ragEngineConfig"
new_rag_engine_config = rag.RagEngineConfig(
name=rag_engine_config_name,
rag_managed_db_config=rag.RagManagedDbConfig(mode=rag.Spanner(tier=rag.Basic())),
)
updated_rag_engine_config = rag.rag_data.update_rag_engine_config(
rag_engine_config=new_rag_engine_config
)
print(updated_rag_engine_config)
Aggiornare il tuo RagEngineConfig al livello Unprovisioned
I seguenti esempi di codice mostrano come impostare RagEngineConfig sulla modalità Spanner con il livello Unprovisioned. Verranno eliminati definitivamente tutti i dati dalla modalità di deployment Spanner e verranno interrotte le spese di fatturazione derivanti.
Console
- Nella console Google Cloud , vai alla pagina Motore RAG.
- Seleziona la regione in cui è in esecuzione Vertex AI RAG Engine.
- Fai clic sul pulsante Passa a Spanner se non sei già in modalità Spanner.
- Fai clic su Elimina RAG Engine. Viene visualizzata una finestra di dialogo di conferma.
- Verifica di voler eliminare i dati in Vertex AI RAG Engine digitando delete, quindi fai clic su Conferma.
- Fai clic su Salva.
REST
PROJECT_ID: Your project ID.
LOCATION: The region to process the request.
curl -X PATCH \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragEngineConfig -d "{'ragManagedDbConfig': {'spanner': {'unprovisioned': {}}}}"
Python
from vertexai.preview import rag
import vertexai
PROJECT_ID = YOUR_PROJECT_ID
LOCATION = YOUR_RAG_ENGINE_LOCATION
# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location=LOCATION)
rag_engine_config_name=f"projects/{PROJECT_ID}/locations/{LOCATION}/ragEngineConfig"
new_rag_engine_config = rag.RagEngineConfig(
name=rag_engine_config_name,
rag_managed_db_config=rag.RagManagedDbConfig(mode=rag.Spanner(tier=rag.Unprovisioned())),
)
updated_rag_engine_config = rag.rag_data.update_rag_engine_config(
rag_engine_config=new_rag_engine_config
)
print(updated_rag_engine_config)
Passaggi successivi
- Per scoprire di più sui modelli di generazione supportati, consulta Modelli di AI generativa che supportano RAG.
- Per scoprire di più sui modelli di embedding supportati, consulta Modelli di embedding.
- Per scoprire di più sui modelli aperti, consulta Modelli aperti.
- Per saperne di più su RAG Engine, consulta la panoramica di RAG Engine.