Die Vertex AI RAG Engine ist eine Komponente der Vertex AI-Plattform, die Retrieval-Augmented Generation (RAG) ermöglicht. Mit RAG Engine können Large Language Models (LLMs) auf Daten aus externen Wissensquellen wie Dokumenten und Datenbanken zugreifen und diese einbinden. Mit RAG können LLMs genauere und informativere LLM-Antworten generieren.
Parameterliste
In diesem Abschnitt wird Folgendes aufgeführt:
Parameter | Beispiele |
---|---|
Siehe Parameter für die Korpusverwaltung. | Beispiele für die Korpusverwaltung |
Weitere Informationen finden Sie unter Parameter zur Dateiverwaltung. | Beispiele für die Dateiverwaltung |
Parameter für die Korpusverwaltung
Informationen zu einem RAG-Korpus finden Sie unter Korpusverwaltung.
RAG-Korpus erstellen
In dieser Tabelle sind die Parameter aufgeführt, die zum Erstellen eines RAG-Korpus verwendet werden.
Hauptanfrage
Parameter | |
---|---|
|
Erforderlich: Der Anzeigename des RAG-Korpus. |
|
Optional: Die Beschreibung des RAG-Korpus. |
|
Optional: Unveränderlich: Die Konfiguration für die Vektordatenbanken. |
|
Optional: Die Konfiguration für Vertex AI Search. Format: |
RagVectorDbConfig
Parameter | |
---|---|
|
Wenn keine Vektordatenbank angegeben ist, ist |
|
Gibt Ihre Pinecone-Instanz an. |
|
Dies ist der Name, mit dem der Pinecone-Index erstellt wird, der mit dem RAG-Korpus verwendet wird. Dieser Wert kann nach dem Festlegen nicht mehr geändert werden. Sie können es im |
|
Gibt Ihre Instanz der Vertex Vektorsuche an. |
|
Dies ist der Ressourcenname des Vektorsuchindex, der mit dem RAG-Korpus verwendet wird. Format: Dieser Wert kann nach dem Festlegen nicht mehr geändert werden. Sie können es im |
|
Dies ist der Ressourcenname des Indexendpunkts der Vektorsuche, der mit dem RAG-Korpus verwendet wird. Format: Dieser Wert kann nach dem Festlegen nicht mehr geändert werden. Sie können es im |
|
Dies ist der vollständige Ressourcenname des Secrets, das in Secret Manager gespeichert wird und Ihren Pinecone API-Schlüssel enthält. Format: Sie können es im |
|
Optional: Unveränderlich: Das Einbettungsmodell, das für den RAG-Korpus verwendet werden soll. Dieser Wert kann nach dem Festlegen nicht mehr geändert werden. Wenn Sie das Feld leer lassen, verwenden wir text-embedding-005 als Einbettungsmodell. |
RAG-Korpus aktualisieren
In dieser Tabelle sind die Parameter aufgeführt, die zum Aktualisieren eines RAG-Korpus verwendet werden.
Hauptanfrage
Parameter | |
---|---|
|
Optional: Der Anzeigename des RAG-Korpus. |
|
Optional: Die Beschreibung des RAG-Korpus. |
|
Dies ist der Name, mit dem der Pinecone-Index erstellt wird, der mit dem RAG-Korpus verwendet wird. Wenn die |
|
Dies ist der Ressourcenname des Vektorsuchindex, der mit dem RAG-Korpus verwendet wird. Format: Wenn die |
|
Dies ist der Ressourcenname des Indexendpunkts der Vektorsuche, der mit dem RAG-Korpus verwendet wird. Format: Wenn die |
|
Der vollständige Ressourcenname des Secrets, das in Secret Manager gespeichert wird und Ihren Pinecone API-Schlüssel enthält. Format: |
RAG-Korpora auflisten
In dieser Tabelle sind die Parameter aufgeführt, die zum Auflisten von RAG-Korpora verwendet werden.
Parameter | |
---|---|
|
Optional: Die Standardgröße der Listenseite |
|
Optional: Das Standardtoken der Listenseite Wird normalerweise aus |
RAG-Korpus abrufen
Diese Tabelle enthält die Parameter, die zum Abrufen eines RAG-Korpus verwendet werden.
Parameter | |
---|---|
|
Der Name der |
RAG-Korpus löschen
Diese Tabelle enthält die Parameter, die zum Löschen eines RAG-Korpus verwendet werden.
Parameter | |
---|---|
|
Der Name der |
Parameter zur Dateiverwaltung
Informationen zu einer RAG-Datei finden Sie unter Dateiverwaltung.
RAG-Datei hochladen
In dieser Tabelle sind die Parameter aufgeführt, die zum Hochladen einer RAG-Datei verwendet werden.
Hauptanfrage
Parameter | |
---|---|
|
Der Name der |
|
Erforderlich: Die hochzuladende Datei. |
|
Erforderlich: Die Konfiguration für die |
RagFile |
|
---|---|
|
Erforderlich: Der Anzeigename der RAG-Datei. |
|
Optional: Die Beschreibung der RAG-Datei. |
UploadRagFileConfig |
|
---|---|
|
Anzahl der Tokens, die jeder Block hat. |
|
Die Überschneidung zwischen Blöcken. |
RAG-Dateien importieren
Diese Tabelle enthält die Parameter, die zum Importieren einer RAG-Datei verwendet werden.
Parameter | |
---|---|
|
Erforderlich: Der Name der Format: |
|
Cloud Storage-Speicherort. Unterstützt den Import einzelner Dateien sowie ganzer Cloud Storage-Verzeichnisse. |
|
Cloud Storage-URI, der die Uploaddatei enthält |
|
Google Drive-Speicherort. Unterstützt den Import einzelner Dateien und von Google Drive-Ordnern. |
|
Der Slack-Kanal, in den die Datei hochgeladen wird. |
|
Die Jira-Abfrage, in die die Datei hochgeladen wird. |
|
Die SharePoint-Quellen, in die die Datei hochgeladen wird. |
|
Anzahl der Tokens, die jeder Block hat. |
|
Die Überschneidung zwischen Blöcken. |
|
Optional: Gibt die Parsing-Konfiguration für Wenn dieses Feld nicht festgelegt ist, verwendet RAG den Standardparser. |
|
Optional: Die maximale Anzahl von Abfragen pro Minute, die dieser Job für das im Korpus angegebene Einbettungsmodell ausführen darf. Dieser Wert gilt speziell für diesen Job und wird nicht für andere Importjobs verwendet. Rufen Sie die Seite „Kontingente“ im Projekt auf, um einen geeigneten Wert festzulegen. Wenn kein Wert angegeben ist, wird ein Standardwert von 1.000 Abfragen pro Minute verwendet. |
GoogleDriveSource |
|
---|---|
|
Erforderlich: Die ID der Google Drive-Ressource. |
|
Erforderlich: Der Typ der Google Drive-Ressource. |
SlackSource |
|
---|---|
|
Wiederholt: Informationen zum Slack-Kanal, einschließlich der ID und des zu importierenden Zeitraums. |
|
Erforderlich: Die Slack-Kanal-ID. |
|
Optional: Der Startzeitstempel für zu importierende Nachrichten. |
|
Optional: Der Endzeitstempel für zu importierende Nachrichten. |
|
Erforderlich: Der vollständige Ressourcenname des Secrets, das in Secret Manager gespeichert wird und ein Zugriffstoken für den Slack-Kanal enthält, das Zugriff auf die Slack-Channel-IDs hat.
Format: |
JiraSource |
|
---|---|
|
Wiederholt: Eine Liste aller Jira-Projekte, die vollständig importiert werden sollen. |
|
Wiederholt: Eine Liste der zu importierenden benutzerdefinierten Jira-Abfragen. Informationen zu JQL (Jira Query Language) finden Sie unter |
|
Erforderlich: Die Jira-E-Mail-Adresse. |
|
Erforderlich: Der URI des Jira-Servers. |
|
Erforderlich: Der vollständige Ressourcenname des Secrets, das in Secret Manager gespeichert wird. Es enthält den Jira API-Schlüssel, der Zugriff auf die Slack-Channel-IDs hat.
Format: |
SharePointSources |
|
---|---|
|
Der Pfad des SharePoint-Ordners, aus dem heruntergeladen werden soll. |
|
Die ID des SharePoint-Ordners, aus dem heruntergeladen werden soll. |
|
Der Name des Laufwerks, von dem heruntergeladen werden soll. |
|
Die ID des Laufwerks, von dem heruntergeladen werden soll. |
|
Die Anwendungs-ID für die im Microsoft Azure-Portal registrierte Anwendung.
|
|
Erforderlich: Der vollständige Ressourcenname des in Secret Manager gespeicherten Secrets, der das Anwendungs-Secret für die in Azure registrierte Anwendung enthält. Format: |
|
Eindeutige Kennung der Azure Active Directory-Instanz. |
|
Der Name der SharePoint-Website, von der heruntergeladen werden soll. Dies kann der Name oder die ID der Website sein. |
RagFileParsingConfig |
|
---|---|
|
Der Layoutparser, der für |
|
Der vollständige Ressourcenname eines Document AI-Prozessors oder einer Prozessorversion. Format:
|
|
Die maximale Anzahl von Anfragen, die der Job pro Minute an den Document AI-Prozessor senden darf. Rufen Sie https://cloud.google.com/document-ai/quotas und die Seite „Kontingente“ für Ihr Projekt auf, um hier einen geeigneten Wert festzulegen. Wenn kein Wert angegeben ist, wird ein Standardwert von 120 Abfragen pro Minute verwendet. |
RAG-Datei abrufen
Diese Tabelle enthält die Parameter, die zum Abrufen einer RAG-Datei verwendet werden.
Parameter | |
---|---|
|
Der Name der |
RAG-Datei löschen
Diese Tabelle enthält die Parameter zum Löschen einer RAG-Datei.
Parameter | |
---|---|
|
Der Name der |
Abruf und Vorhersage
In diesem Abschnitt werden die Abruf- und Vorhersageparameter aufgeführt.
Abrufparameter
Diese Tabelle enthält die Parameter für die retrieveContexts
API.
Parameter | |
---|---|
|
Erforderlich: Der Ressourcenname des abzurufenden Standorts Format: |
|
Die Datenquelle für Vertex RagStore. |
|
Erforderlich: Einzelne RAG-Abfrageabfrage. |
VertexRagStore
VertexRagStore |
|
---|---|
|
Liste: Die Darstellung der RAG-Quelle. Es kann nur verwendet werden, um den Korpus oder |
|
Optional:
Format: |
|
Liste: Eine Liste von Format: |
RagQuery |
|
---|---|
|
Die Abfrage im Textformat, um relevante Kontexte zu erhalten. |
|
Optional: Die Abrufkonfiguration für die Abfrage. |
RagRetrievalConfig |
|
---|---|
|
Optional: Die Anzahl der abzurufenden Kontexte. |
|
Gibt nur Kontexte mit einer Vektorentfernung zurück, die kleiner als der Grenzwert ist. |
|
Gibt nur Kontexte zurück, deren Vektorähnlichkeit größer als der Schwellenwert ist. |
|
Optional: Der Modellname des Rankingdienstes. Beispiel: |
|
Optional: Der Modellname, der für das Ranking verwendet wird. Beispiel: |
Vorhersageparameter
Diese Tabelle enthält die Vorhersageparameter.
GenerateContentRequest |
|
---|---|
|
Legen Sie fest, dass eine Datenquelle verwendet wird, die auf dem RAG-Speicher von Vertex AI basiert. |
Weitere Informationen finden Sie unter VertexRagStore.
Beispiele für die Korpusverwaltung
Dieser Abschnitt enthält Beispiele für die Verwendung der API zum Verwalten Ihres RAG-Korpus.
RAG-Korpusbeispiel erstellen
Diese Codebeispiele zeigen, wie Sie einen RAG-Korpus erstellen.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Projekt-ID.
- LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
- CORPUS_DISPLAY_NAME: Der Anzeigename des RAG-Korpus.
- CORPUS_DESCRIPTION: Die Beschreibung des RAG-Korpus.
HTTP-Methode und URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora
JSON-Text der Anfrage:
{
"display_name" : "CORPUS_DISPLAY_NAME",
"description": "CORPUS_DESCRIPTION",
}
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei namens „request.json“ und führen Sie den folgenden Befehl aus:
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
Speichern Sie den Anfragetext in einer Datei namens „request.json“ und führen Sie den folgenden Befehl aus:
$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
Sie sollten einen erfolgreichen Statuscode (2xx) erhalten.
Im folgenden Beispiel wird gezeigt, wie Sie mithilfe der REST API einen RAG-Korpus erstellen.
// 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
Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI SDK for Python API.
RAG-Korpusbeispiel aktualisieren
Sie können Ihren RAG-Korpus mit einem neuen Anzeigenamen, einer neuen Beschreibung und der Konfiguration der Vektordatenbank aktualisieren. Sie können die folgenden Parameter in Ihrem RAG-Korpus jedoch nicht ändern:
- Der Vektordatenbanktyp. Beispielsweise ist es nicht möglich, die Vektordatenbank von Weaviate in Vertex AI Feature Store zu ändern.
- Wenn Sie die Option „Verwaltete Datenbank“ verwenden, können Sie die Konfiguration der Vektordatenbank nicht aktualisieren.
Diese Beispiele veranschaulichen, wie ein RAG-Korpus aktualisiert wird.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Projekt-ID.
- LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
- CORPUS_ID: Die Korpus-ID Ihres RAG-Korpus.
- CORPUS_DISPLAY_NAME: Der Anzeigename des RAG-Korpus.
- CORPUS_DESCRIPTION: Die Beschreibung des RAG-Korpus.
- INDEX_NAME: Der Ressourcenname des Vektorsuchindex. Format:
projects/{project}/locations/{location}/indexes/{index}
. - INDEX_ENDPOINT_NAME: Der Ressourcenname des Indexendpunkts der Vektorsuche. Format:
projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}
.
HTTP-Methode und URL:
PATCH https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/CORPUS_ID
JSON-Text der Anfrage:
{
"display_name" : "CORPUS_DISPLAY_NAME",
"description": "CORPUS_DESCRIPTION",
"rag_vector_db_config": {
"vertex_vector_search": {
"index": "INDEX_NAME",
"index_endpoint": "INDEX_ENDPOINT_NAME",
}
}
}
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei namens „request.json“ und führen Sie den folgenden Befehl aus:
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
Speichern Sie den Anfragetext in einer Datei namens „request.json“ und führen Sie den folgenden Befehl aus:
$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
Sie sollten einen erfolgreichen Statuscode (2xx) erhalten.
RAG-Korporabeispiel auflisten
Diese Codebeispiele zeigen, wie alle RAG-Korpora aufgelistet werden.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Projekt-ID.
- LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
- PAGE_SIZE: Das ist die Standardgröße der Listenseite. Sie können die Anzahl der RAG-Korpora, die pro Seite zurückgegeben werden sollen, anpassen, indem Sie den Parameter
page_size
aktualisieren. - PAGE_TOKEN: Das Standardtoken der Listenseite. Wird in der Regel mit
ListRagCorporaResponse.next_page_token
des vorherigenVertexRagDataService.ListRagCorpora
-Aufrufs abgerufen.
HTTP-Methode und URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora?page_size=PAGE_SIZE&page_token=PAGE_TOKEN
Senden Sie die Anfrage mithilfe einer der folgenden Optionen:
curl
Führen Sie dazu diesen Befehl aus:
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
Führen Sie dazu diesen Befehl aus:
$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
Sie sollten einen erfolgreichen Statuscode (2xx
) und eine Liste von RAG-Korpora unter der angegebenen PROJECT_ID
erhalten.
Python
Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI SDK for Python API.
RAG-Korpusbeispiel abrufen
Diese Codebeispiele zeigen, wie Sie einen RAG-Korpus erhalten.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Projekt-ID.
- LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
- RAG_CORPUS_ID: Die ID der RAG-Korpusressource.
HTTP-Methode und URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID
Senden Sie die Anfrage mithilfe einer der folgenden Optionen:
curl
Führen Sie dazu diesen Befehl aus:
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
Führen Sie dazu diesen Befehl aus:
$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
Eine erfolgreiche Antwort gibt die Ressource RagCorpus
zurück.
Die Befehle get
und list
werden in einem Beispiel verwendet, um zu zeigen, wie RagCorpus
das Feld rag_embedding_model_config
in vector_db_config
verwendet, das auf das von Ihnen ausgewählte Einbettungsmodell verweist.
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
Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI SDK for Python API.
RAG-Korpusbeispiel löschen
Diese Codebeispiele zeigen, wie Sie einen RAG-Korpus löschen.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Projekt-ID.
- LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
- RAG_CORPUS_ID: Die ID der Ressource
RagCorpus
.
HTTP-Methode und URL:
DELETE https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID
Senden Sie die Anfrage mithilfe einer der folgenden Optionen:
curl
Führen Sie dazu diesen Befehl aus:
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
Führen Sie dazu diesen Befehl aus:
$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
Eine erfolgreiche Antwort gibt DeleteOperationMetadata
zurück.
Python
Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI SDK for Python API.
Beispiele für die Dateiverwaltung
Dieser Abschnitt enthält Beispiele für die Verwendung der API zum Verwalten von RAG-Dateien.
Beispiel für eine RAG-Datei hochladen
Diese Codebeispiele zeigen, wie eine RAG-Datei hochgeladen wird.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Projekt-ID.
- LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
- RAG_CORPUS_ID: Die Korpus-ID Ihres RAG-Korpus.
- LOCAL_FILE_PATH: Der lokale Pfad zur Datei, die hochgeladen werden soll.
- DISPLAY_NAME: Der Anzeigename der RAG-Datei.
- DESCRIPTION: Die Beschreibung der RAG-Datei.
Verwenden Sie den folgenden Befehl, um Ihre Anfrage zu senden:
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
Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI SDK for Python API.
Beispiel für den Import von RAG-Dateien
Dateien und Ordner können aus Drive oder Cloud Storage importiert werden. Mit response.metadata
können Sie Teilausfälle sowie die Anfrage- und Antwortzeit im SDK-Objekt response
anzeigen.
response.skipped_rag_files_count
bezieht sich auf die Anzahl der Dateien, die während des Imports übersprungen wurden. Eine Datei wird übersprungen, wenn die folgenden Bedingungen erfüllt sind:
- Die Datei wurde bereits importiert.
- Die Datei hat sich nicht geändert.
- Die Blockkonfiguration für die Datei hat sich nicht geändert.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Projekt-ID.
- LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
- RAG_CORPUS_ID: Die Korpus-ID Ihres RAG-Korpus.
- FOLDER_RESOURCE_ID: Die Ressourcen-ID Ihres Drive-Ordners.
- GCS_URIS: Eine Liste der Cloud Storage-Speicherorte.
Beispiel:
gs://my-bucket1
. - CHUNK_SIZE: Anzahl der Tokens, die jeder Block haben soll.
- CHUNK_OVERLAP: Anzahl der Tokens, die sich zwischen Blöcken überschneiden.
- EMBEDDING_MODEL_QPM_RATE: Die QPM-Rate, um den Zugriff von RAG auf Ihr Einbettungsmodell einzuschränken. Beispiel: 1.000.
HTTP-Methode und URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:import
JSON-Text der Anfrage:
{
"import_rag_files_config": {
"gcs_source": {
"uris": "GCS_URIS"
},
"rag_file_chunking_config": {
"chunk_size": "CHUNK_SIZE",
"chunk_overlap": "CHUNK_OVERLAP"
}
}
}
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei namens „request.json“ und führen Sie den folgenden Befehl aus:
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
Speichern Sie den Anfragetext in einer Datei namens „request.json“ und führen Sie den folgenden Befehl aus:
$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
Eine erfolgreiche Antwort gibt die Ressource ImportRagFilesOperationMetadata
zurück.
Im folgenden Beispiel wird gezeigt, wie eine Datei aus Cloud Storage importiert wird. Mit dem Steuerfeld max_embedding_requests_per_min
können Sie die Rate begrenzen, mit der die RAG-Engine das Einbettungsmodell während des ImportRagFiles
-Indexierungsvorgangs aufruft. Der Standardwert für das Feld ist 1000
Aufrufe pro Minute.
- PROJECT_ID: Ihre Projekt-ID.
- LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
- RAG_CORPUS_ID: Die Korpus-ID Ihres RAG-Korpus.
- GCS_URIS: Eine Liste der Cloud Storage-Speicherorte.
Beispiel:
gs://my-bucket1
. - CHUNK_SIZE: Anzahl der Tokens, die jeder Block haben soll.
- CHUNK_OVERLAP: Anzahl der Tokens, die sich zwischen Blöcken überschneiden.
- EMBEDDING_MODEL_QPM_RATE: Die QPM-Rate, um den RAGs-Zugriff auf Ihr Einbettungsmodell einzuschränken. Beispiel: 1.000.
// ImportRagFiles
// Import a single Cloud Storage file or all files in a Cloud Storage bucket.
// Input: LOCATION, PROJECT_ID, RAG_CORPUS_ID, GCS_URIS
// Output: ImportRagFilesOperationMetadataNumber
// Use ListRagFiles to find the server-generated rag_file_id.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:import \
-d '{
"import_rag_files_config": {
"gcs_source": {
"uris": "GCS_URIS"
},
"rag_file_chunking_config": {
"chunk_size": CHUNK_SIZE,
"chunk_overlap": CHUNK_OVERLAP
},
"max_embedding_requests_per_min": EMBEDDING_MODEL_QPM_RATE
}
}'
Im folgenden Beispiel wird gezeigt, wie Sie eine Datei aus Google Drive importieren. Mit dem Steuerfeld max_embedding_requests_per_min
können Sie die Rate begrenzen, mit der die RAG Engine das Einbettungsmodell während des ImportRagFiles
-Indexierungsvorgangs aufruft. Der Standardwert für das Feld ist 1000
Aufrufe pro Minute.
- PROJECT_ID: Ihre Projekt-ID.
- LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
- RAG_CORPUS_ID: Die Korpus-ID Ihres RAG-Korpus.
- FOLDER_RESOURCE_ID: Die Ressourcen-ID Ihres Drive-Ordners.
- CHUNK_SIZE: Anzahl der Tokens, die jeder Block haben soll.
- CHUNK_OVERLAP: Anzahl der Tokens, die sich zwischen Blöcken überschneiden.
- EMBEDDING_MODEL_QPM_RATE: Die QPM-Rate, um den Zugriff von RAG auf Ihr Einbettungsmodell einzuschränken. Beispiel: 1.000.
// ImportRagFiles
// Import all files in a Google Drive folder.
// Input: LOCATION, PROJECT_ID, RAG_CORPUS_ID, FOLDER_RESOURCE_ID
// Output: ImportRagFilesOperationMetadataNumber
// Use ListRagFiles to find the server-generated rag_file_id.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:import \
-d '{
"import_rag_files_config": {
"google_drive_source": {
"resource_ids": {
"resource_id": "FOLDER_RESOURCE_ID",
"resource_type": "RESOURCE_TYPE_FOLDER"
}
},
"max_embedding_requests_per_min": EMBEDDING_MODEL_QPM_RATE
}
}'
Python
Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI SDK for Python API.
Beispiel für das Auflisten von RAG-Dateien
Diese Codebeispiele zeigen, wie RAG-Dateien aufgelistet werden.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Projekt-ID.
- LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
- RAG_CORPUS_ID: Die ID der Ressource
RagCorpus
. - PAGE_SIZE: Das ist die Standardgröße der Listenseite. Sie können die Anzahl von
RagFiles
anpassen, die pro Seite zurückgegeben werden sollen, indem Sie den Parameter page_size aktualisieren. - PAGE_TOKEN: Das Standardtoken der Listenseite. Mit
ListRagFilesResponse.next_page_token
des vorherigenVertexRagDataService.ListRagFiles
-Aufrufs abgerufen.
HTTP-Methode und 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
Senden Sie die Anfrage mithilfe einer der folgenden Optionen:
curl
Führen Sie dazu diesen Befehl aus:
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
Führen Sie dazu diesen Befehl aus:
$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
Sie sollten einen erfolgreichen Statuscode (2xx) zusammen mit einer Liste von RagFiles
unter dem angegebenen RAG_CORPUS_ID
erhalten.
Python
Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI SDK for Python API.
Beispiel für eine RAG-Datei abrufen
Diese Codebeispiele zeigen, wie Sie eine RAG-Datei abrufen.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Projekt-ID.
- LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
- RAG_CORPUS_ID: Die ID der Ressource
RagCorpus
. - RAG_FILE_ID: Die ID der Ressource
RagFile
.
HTTP-Methode und URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID
Senden Sie die Anfrage mithilfe einer der folgenden Optionen:
curl
Führen Sie dazu diesen Befehl aus:
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
Führen Sie dazu diesen Befehl aus:
$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
Eine erfolgreiche Antwort gibt die Ressource RagFile
zurück.
Python
Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI SDK for Python API.
Beispiel für das Löschen einer RAG-Datei
Diese Codebeispiele zeigen, wie eine RAG-Datei gelöscht wird.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID>: Ihre Projekt-ID.
- LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
- RAG_CORPUS_ID: Die ID der RagCorpus-Ressource.
- RAG_FILE_ID: Die ID der RagFile-Ressource. Format:
projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{rag_file_id}
.
HTTP-Methode und URL:
DELETE https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID
Senden Sie die Anfrage mithilfe einer der folgenden Optionen:
curl
Führen Sie dazu diesen Befehl aus:
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
Führen Sie dazu diesen Befehl aus:
$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
Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI SDK for Python API.
Abrufabfrage
Wenn ein Nutzer eine Frage stellt oder einen Prompt bereitstellt, durchsucht die Abrufkomponente in RAG in ihrer Wissensdatenbank nach relevanten Informationen.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Projekt-ID.
- LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
- RAG_CORPUS_RESOURCE: Der Name der Ressource
RagCorpus
. Format:projects/{project}/locations/{location}/ragCorpora/{rag_corpus}
. - VECTOR_DISTANCE_THRESHOLD: Nur Kontexte mit einer Vektorentfernung, die kleiner als der Schwellenwert ist, werden zurückgegeben.
- TEXT: Der Abfragetext, um relevante Kontexte abzurufen.
- SIMILARITY_TOP_K: Die Anzahl der abzurufenden wichtigsten Kontexte.
HTTP-Methode und URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION:retrieveContexts
JSON-Text anfordern:
{
"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
Speichern Sie den Anfragetext in einer Datei namens „request.json“ und führen Sie den folgenden Befehl aus:
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
Speichern Sie den Anfragetext in einer Datei namens „request.json“ und führen Sie den folgenden Befehl aus:
$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
Sie sollten einen erfolgreichen Statuscode (2xx) und eine Liste der zugehörigen RagFiles
erhalten.
Python
Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI SDK for Python API.
Generierung
Das LLM generiert mithilfe der abgerufenen Kontexte eine fundierte Antwort.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Projekt-ID.
- LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
- MODEL_ID: LLM-Modell für die Inhaltsgenerierung. Beispiel:
gemini-2.0-flash-001
. - GENERATION_METHOD: LLM-Methode für die Inhaltsgenerierung.
Optionen:
generateContent
,streamGenerateContent
. - INPUT_PROMPT: Der Text, der zur Inhaltsgenerierung an das LLM gesendet wird. Versuchen Sie, einen Prompt zu verwenden, der für die hochgeladenen Rap-Dateien relevant ist.
- RAG_CORPUS_RESOURCE: Der Name der Ressource
RagCorpus
. Format:projects/{project}/locations/{location}/ragCorpora/{rag_corpus}
. - SIMILARITY_TOP_K (optional): Die Anzahl der abzurufenden wichtigsten Kontexte.
- VECTOR_DISTANCE_THRESHOLD: Optional: Kontexte mit einer Vektorentfernung, die kleiner als der Grenzwert ist, werden zurückgegeben.
- USER: Ihr Nutzername.
HTTP-Methode und URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:GENERATION_METHOD
JSON-Text der Anfrage:
{
"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
}
}
}
}
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei namens „request.json“ und führen Sie den folgenden Befehl aus:
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
Speichern Sie den Anfragetext in einer Datei namens „request.json“ und führen Sie den folgenden Befehl aus:
$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
Eine erfolgreiche Antwort gibt den generierten Inhalt mit Zitationen zurück.
Python
Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI SDK for Python API.
Nächste Schritte
- Weitere Informationen zu unterstützten Generationsmodellen finden Sie unter Modelle für generative KI, die RAG unterstützen.
- Weitere Informationen zu unterstützten Einbettungsmodellen finden Sie unter Einbettungsmodelle.
- Weitere Informationen zu offenen Modellen finden Sie unter Offene Modelle.
- Weitere Informationen zu RAG Engine finden Sie unter RAG Engine – Übersicht.