Die Vertex AI RAG Engine ist eine Komponente der Vertex AI-Plattform, die die Retrieval-Augmented Generation (RAG) ermöglicht. Mit der 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 Antworten generieren.
Beispielsyntax
In diesem Abschnitt finden Sie die Syntax zum Erstellen eines RAG-Korpus.
curl
PROJECT_ID: Your project ID. LOCATION: The region to process the request. 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" : "...", "description": "..." }'
Python
corpus = rag.create_corpus(display_name=..., description=...) print(corpus)
Parameterliste
In diesem Abschnitt finden Sie Folgendes:
Parameter | Beispiele |
---|---|
Siehe Parameter für die Corpusverwaltung. | Beispiele für die Corpusverwaltung |
Siehe Parameter für die Dateiverwaltung. | Beispiele für die Dateiverwaltung |
Parameter für die Korpusverwaltung
Informationen zu einem RAG-Korpus finden Sie unter Corpus-Verwaltung.
RAG-Korpus erstellen
In dieser Tabelle sind die Parameter aufgeführt, die zum Erstellen eines RAG-Korpus verwendet werden.
Anfragetext
Parameter | |
---|---|
|
Erforderlich: Der Anzeigename des RAG-Corpus. |
|
Optional: Die Beschreibung des RAG-Korpus. |
|
Optional: Unveränderlich: Die Konfiguration für die Vektordatenbanken. |
|
Optional: Die Konfiguration für die Vertex AI Search. Format: |
RagVectorDbConfig
Parameter | |
---|---|
|
Wenn keine Vektordatenbank angegeben ist, ist |
|
Gibt Ihre Weaviate-Instanz an. |
|
Der HTTP-Endpunkt der Weaviate-Instanz. Dieser Wert kann nach der Festlegung nicht mehr geändert werden. Du kannst ihn im |
|
Die Weaviate-Sammlung, der der RAG-Korpus zugeordnet ist. Dieser Wert kann nach der Festlegung nicht mehr geändert werden. Du kannst ihn im |
|
Gibt Ihre Pinecone-Instanz an. |
|
Mit diesem Namen wird der Pinecone-Index erstellt, der mit dem RAG-Korpus verwendet wird. Dieser Wert kann nach der Festlegung nicht mehr geändert werden. Du kannst ihn im |
|
Gibt die Vertex AI Feature Store-Instanz an. |
|
Die Vertex AI Feature Store- Format: Dieser Wert kann nach der Festlegung nicht mehr geändert werden. Du kannst ihn im |
|
Gibt die Vertex Vector Search-Instanz an. |
|
Dies ist der Ressourcenname des Vektorsuchindex, der mit dem RAG-Korpus verwendet wird. Format: Dieser Wert kann nach der Festlegung nicht mehr geändert werden. Du kannst ihn im |
|
Dies ist der Ressourcenname des Endpunkts des Vektorsuchindex, der mit dem RAG-Korpus verwendet wird. Format: Dieser Wert kann nach der Festlegung nicht mehr geändert werden. Du kannst ihn im |
|
Dies ist der vollständige Ressourcenname des im Secret Manager gespeicherten Secrets, der Ihren Weaviate- oder Pinecone-API-Schlüssel enthält, der von Ihrer Auswahl der Vektordatenbank abhängt. Format: Du kannst ihn im |
|
Optional: Unveränderlich: Das Einbettungsmodell, das für den RAG-Corpus verwendet werden soll. Dieser Wert kann nach der Festlegung nicht mehr geändert werden. Wenn Sie dieses Feld leer lassen, verwenden wir text-embedding-004 als Einbettungsmodell. |
RAG-Korpus aktualisieren
In dieser Tabelle sind die Parameter aufgeführt, die zum Aktualisieren eines RAG-Corpus verwendet werden.
Anfragetext
Parameter | |
---|---|
|
Optional: Der Anzeigename des RAG-Corpus. |
|
Optional: Die Beschreibung des RAG-Korpus. |
|
Der HTTP-Endpunkt der Weaviate-Instanz. Wenn Ihre |
|
Die Weaviate-Sammlung, der der RAG-Korpus zugeordnet ist. Wenn Ihre |
|
Mit diesem Namen wird der Pinecone-Index erstellt, der mit dem RAG-Korpus verwendet wird. Wenn Ihre |
|
Die Vertex AI Feature Store- Format: Wenn Ihre |
|
Dies ist der Ressourcenname des Vektorsuchindex, der mit dem RAG-Korpus verwendet wird. Format: Wenn Ihre |
|
Dies ist der Ressourcenname des Endpunkts des Vektorsuchindex, der mit dem RAG-Korpus verwendet wird. Format: Wenn Ihre |
|
Der vollständige Ressourcenname des im Secret Manager gespeicherten Secrets, der Ihren Weaviate- oder Pinecone-API-Schlüssel enthält, hängt von der von Ihnen ausgewählten Vektordatenbank ab. 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
In dieser Tabelle sind die Parameter aufgeführt, die zum Abrufen eines RAG-Korpus verwendet werden.
Parameter | |
---|---|
|
Der Name der |
RAG-Korpus löschen
In dieser Tabelle sind die Parameter aufgeführt, die zum Löschen eines RAG-Corpus verwendet werden.
Parameter | |
---|---|
|
Der Name der |
Parameter für die 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.
Anfragetext
Parameter | |
---|---|
|
Der Name der |
|
Erforderlich: Die Datei, die hochgeladen werden soll. |
|
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 den Blöcken. |
RAG-Dateien importieren
In dieser Tabelle sind die Parameter aufgeführt, die zum Importieren einer RAG-Datei verwendet werden.
Parameter | |
---|---|
|
Erforderlich: Der Name der Format: |
|
Cloud Storage-Speicherort Es wird der Import einzelner Dateien sowie ganzer Cloud Storage-Verzeichnisse unterstützt. |
|
Cloud Storage-URI, der die Uploaddatei enthält |
|
Speicherort für Google Drive Es können sowohl einzelne Dateien als auch Google Drive-Ordner importiert werden. |
|
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 den Blöcken. |
|
Optional: Gibt die Parsekonfiguration für Wenn dieses Feld nicht festgelegt ist, verwendet RAG den Standardparser. |
|
Optional: Die maximale Anzahl von Abfragen pro Minute, die dieser Job an das im Corpus angegebene Einbettungsmodell stellen darf. Dieser Wert ist für diesen Job spezifisch und wird nicht für andere Importjobs verwendet. Rufen Sie die Seite „Kontingente“ des Projekts auf, um einen geeigneten Wert festzulegen. Wenn nichts angegeben ist, wird der Standardwert 1.000 QPM verwendet. |
GoogleDriveSource |
|
---|---|
|
Erforderlich: Die ID der Google Drive-Ressource. |
|
Erforderlich: Der Typ der Google Drive-Ressource. |
SlackSource |
|
---|---|
|
Wiederholt: Informationen zum Slack-Kanal, einschließlich ID und Zeitraum für den Import. |
|
Erforderlich: Die Slack-Kanal-ID. |
|
Optional: Der Startzeitstempel für die zu importierenden Nachrichten. |
|
Optional: Der Endzeitstempel für die zu importierenden Nachrichten. |
|
Erforderlich: Der vollständige Ressourcenname des Secrets, das in Secret Manager gespeichert ist und ein Slack-Kanalzugriffstoken mit Zugriff auf die Slack-Kanal-IDs enthält.
Format: |
JiraSource |
|
---|---|
|
Wiederholt: Eine Liste der 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 E-Mail-Adresse für Jira. |
|
Erforderlich: Die Jira-Server-URI. |
|
Erforderlich: Der vollständige Ressourcenname des Secrets, das im Secret Manager gespeichert ist und den Jira API-Schlüssel enthält, 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 der im Microsoft Azure-Portal registrierten App.
|
|
Erforderlich: Der vollständige Ressourcenname des im Secret Manager gespeicherten Secrets, das das Anwendungssecret für die in Azure registrierte App enthält. Format: |
|
Eindeutige Kennung der Azure Active Directory-Instanz. |
|
Der Name der SharePoint-Website, von der heruntergeladen werden soll. Dies kann der Websitename oder die Website-ID sein. |
RagFileParsingConfig |
|
---|---|
|
Der Layout-Parser, der für |
|
Der vollständige Ressourcenname eines Document AI-Prozessors oder einer Document AI-Prozessorversion. Format:
|
|
Die maximale Anzahl von Anfragen, die der Job pro Minute an den Document AI-Prozessor senden darf. Weitere Informationen finden Sie unter https://cloud.google.com/document-ai/quotas und auf der Seite „Kontingent“ für Ihr Projekt. Wenn nichts angegeben ist, wird der Standardwert 120 QPM verwendet. |
RAG-Datei abrufen
In dieser Tabelle sind die Parameter aufgeführt, die zum Abrufen einer RAG-Datei verwendet werden.
Parameter | |
---|---|
|
Der Name der |
RAG-Datei löschen
In dieser Tabelle sind die Parameter aufgeführt, die zum Löschen einer RAG-Datei verwendet werden.
Parameter | |
---|---|
|
Der Name der |
Abruf und Vorhersage
In diesem Abschnitt sind die Abruf- und Vorhersageparameter aufgeführt.
Abrufparameter
In dieser Tabelle sind die Parameter für die retrieveContexts
API aufgeführt.
Parameter | |
---|---|
|
Erforderlich: Der Ressourcenname des Standorts, für den Format: |
|
Die Datenquelle für Vertex RagStore. |
|
Erforderlich: Abrufabfrage für eine einzelne RAG. |
VertexRagStore
VertexRagStore |
|
---|---|
|
Liste: Die Darstellung der RAG-Quelle. Sie können damit nur den Korpus oder |
|
Optional:
Format: |
|
Liste: Eine Liste mit Format: |
RagQuery |
|
---|---|
|
Die Abfrage im Textformat, um relevante Kontexte abzurufen. |
|
Optional: Die Abrufkonfiguration für die Abfrage. |
RagRetrievalConfig |
|
---|---|
|
Optional: Die Anzahl der Kontexte, die abgerufen werden sollen. |
|
Optional: Der Alphawert steuert die Gewichtung zwischen Ergebnissen der dichten und der dünnen Vektorsuche. Der Bereich ist [0, 1], wobei 0 nur die sparse Vektorsuche und 1 nur die dichte Vektorsuche bedeutet. Der Standardwert ist 0,5, was eine ausgewogene Suche nach dünn besetzten und dicht besetzten Vektoren bedeutet. Die Hybridsuche ist nur für Weaviate verfügbar. |
|
Es werden nur Kontexte mit einer Vektordistanz zurückgegeben, die kleiner als der Grenzwert ist. |
|
Es werden nur Kontexte mit einer Vektorähnlichkeit zurückgegeben, die größer als der Schwellenwert ist. |
|
Optional: Der Modellname des Rangdienstes. Beispiel: |
|
Optional: Der Name des Modells, der für das Ranking verwendet wird. Beispiel: |
Vorhersageparameter
In dieser Tabelle sind die Parameter für die Vorhersage aufgeführt.
GenerateContentRequest |
|
---|---|
|
Legen Sie fest, dass eine Datenquelle verwendet werden soll, die vom Vertex AI RAG-Speicher unterstützt wird. |
Weitere Informationen finden Sie unter VertexRagStore.
Beispiele für die Korpusverwaltung
In diesem Abschnitt finden Sie Beispiele dafür, wie Sie Ihren RAG-Corpus mit der API verwalten.
Beispiel für einen RAG-Korpus erstellen
Dieses Codebeispiel zeigt, wie Sie einen RAG-Corpus 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 von
RagCorpus
. - CORPUS_DESCRIPTION: Die Beschreibung von
RagCorpus
.
HTTP-Methode und URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/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 mit dem Namen 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/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen 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/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora" | Select-Object -Expand Content
Im folgenden Beispiel wird gezeigt, wie Sie mithilfe der REST API einen RAG-Korpus erstellen.
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"
}'
Vertex AI SDK für 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 einen RAG-Korpus aktualisieren
Sie können Ihren RAG-Korpus mit einem neuen Anzeigenamen, einer neuen Beschreibung und einer neuen Vektordatenbankkonfiguration aktualisieren. Die folgenden Parameter in Ihrem RAG-Corpus können Sie jedoch nicht ändern:
- Der Typ der Vektordatenbank. Sie können beispielsweise die Vektordatenbank nicht von Weaviate zu Vertex AI Feature Store ändern.
- Wenn Sie die Option „Verwaltete Datenbank“ verwenden, können Sie die Konfiguration der Vektordatenbank nicht aktualisieren.
In diesen Beispielen wird gezeigt, 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 von
RagCorpus
. - CORPUS_DESCRIPTION: Die Beschreibung von
RagCorpus
. - INDEX_NAME: Der Ressourcenname der
Vector Search Index
. Format:projects/{project}/locations/{location}/indexes/{index}
- INDEX_ENDPOINT_NAME: Der Ressourcenname der
Vector Search Index Endpoint
. Format:projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}
HTTP-Methode und URL:
PATCH https://LOCATION-aiplatform.googleapis.com/v1beta1/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 mit dem Namen 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/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/CORPUS_ID"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen 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/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/CORPUS_ID" | Select-Object -Expand Content
Beispiel für die Auflistung von RAG-Korpora
Dieses Codebeispiel zeigt, 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: Die Standardgröße der Listenseite Sie können die Anzahl der
RagCorpora
anpassen, die pro Seite zurückgegeben werden sollen, indem Sie den Parameterpage_size
aktualisieren. - PAGE_TOKEN: Das Standardtoken der Listenseite Wird normalerweise mit
ListRagCorporaResponse.next_page_token
des vorherigenVertexRagDataService.ListRagCorpora
-Aufrufs abgerufen.
HTTP-Methode und URL:
GET https://LOCATION-aiplatform.googleapis.com/v1beta1/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 folgenden Befehl aus:
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
Führen Sie folgenden Befehl aus:
$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
unter dem angegebenen PROJECT_ID
erhalten.
Vertex AI SDK für 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 einen RAG-Korpus 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
.
HTTP-Methode und URL:
GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID
Senden Sie die Anfrage mithilfe einer der folgenden Optionen:
curl
Führen Sie folgenden Befehl aus:
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
Führen Sie folgenden Befehl aus:
$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
zurück.
Die Befehle get
und list
werden in einem Beispiel verwendet, um zu veranschaulichen, wie RagCorpus
das Feld rag_embedding_model_config
innerhalb des 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.
// 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/
Vertex AI SDK für 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 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/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID
Senden Sie die Anfrage mithilfe einer der folgenden Optionen:
curl
Führen Sie folgenden Befehl aus:
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
Führen Sie folgenden Befehl aus:
$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
zurück.
Vertex AI SDK für 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
In diesem Abschnitt finden Sie Beispiele für die Verwendung der API zum Verwalten von RAG-Dateien.
Beispiel für eine RAG-Datei hochladen
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten: 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.
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/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:upload"
Vertex AI SDK für 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 Google Drive oder Cloud Storage importiert werden.
response.skipped_rag_files_count
bezieht sich auf die Anzahl der Dateien, die beim Import ü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 ID der Ressource
RagCorpus
. - GCS_URIS: Eine Liste der Cloud Storage-Standorte. Beispiel:
gs://my-bucket1, gs://my-bucket2
. - CHUNK_SIZE: Optional: Anzahl der Tokens, die jeder Block haben sollte.
- CHUNK_OVERLAP: Optional: Die Anzahl der Tokens überschneiden sich zwischen Blöcken.
HTTP-Methode und URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/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 mit dem Namen 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/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:import"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen 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/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:import" | Select-Object -Expand Content
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: 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
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: 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
Vertex AI SDK für 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 die Auflistung von RAG-Dateien
Dieses Codebeispiel zeigt, 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: Die Standardgröße der Listenseite Sie können die Anzahl der
RagFiles
anpassen, die pro Seite zurückgegeben werden sollen, indem Sie den Parameterpage_size
aktualisieren. - PAGE_TOKEN: Das Standardtoken der Listenseite Wird normalerweise mit
ListRagFilesResponse.next_page_token
des vorherigenVertexRagDataService.ListRagFiles
-Aufrufs abgerufen.
HTTP-Methode und 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
Senden Sie die Anfrage mithilfe einer der folgenden Optionen:
curl
Führen Sie folgenden Befehl aus:
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
Führen Sie folgenden Befehl aus:
$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
unter dem angegebenen RAG_CORPUS_ID
erhalten.
Vertex AI SDK für 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
Dieses Codebeispiel zeigt, 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/v1beta1/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 folgenden Befehl aus:
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
Führen Sie folgenden Befehl aus:
$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
zurück.
Vertex AI SDK für 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 löschen
In diesem Codebeispiel wird gezeigt, wie Sie eine RAG-Datei 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
. - RAG_FILE_ID: Die ID der Ressource
RagFile
. Format:projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{rag_file_id}
.
HTTP-Methode und URL:
DELETE https://LOCATION-aiplatform.googleapis.com/v1beta1/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 folgenden Befehl aus:
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
Führen Sie folgenden Befehl aus:
$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
zurück.
Vertex AI SDK für 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:
- LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
- PROJECT_ID: Ihre Projekt-ID.
- RAG_CORPUS_RESOURCE: Name der
RagCorpus
-Ressource. Format:projects/{project}/locations/{location}/ragCorpora/{rag_corpus}
. - VECTOR_DISTANCE_THRESHOLD: Es werden nur Kontexte mit einer Vektordistanz zurückgegeben, die kleiner als der Grenzwert ist.
- TEXT: Der Abfragetext, um relevante Kontexte abzurufen.
- SIMILARITY_TOP_K: Die Anzahl der Top-Kontexte, die abgerufen werden sollen.
HTTP-Methode und URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION:retrieveContexts
JSON-Text der Anfrage:
{ "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 } }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen 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/v1beta1/projects/PROJECT_ID/locations/LOCATION:retrieveContexts"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen 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/v1beta1/projects/PROJECT_ID/locations/LOCATION:retrieveContexts" | Select-Object -Expand Content
RagFiles
erhalten.
Vertex AI SDK für 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 anhand 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-1.5-pro-002
- GENERATION_METHOD: LLM-Methode zum Generieren von Inhalten. 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: Name der
RagCorpus
-Ressource. Format:projects/{project}/locations/{location}/ragCorpora/{rag_corpus}
. - SIMILARITY_TOP_K: Optional: Die Anzahl der Top-Kontexte, die abgerufen werden sollen.
- VECTOR_DISTANCE_THRESHOLD: Optional: Kontexte mit einer Vektorentfernung, die kleiner als der Grenzwert ist, werden zurückgegeben.
HTTP-Methode und URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/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 mit dem Namen 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/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:GENERATION_METHOD"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen 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/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:GENERATION_METHOD" | Select-Object -Expand Content
Vertex AI SDK für 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 Modellen für die Generierung finden Sie unter Generative AI-Modelle, die RAG unterstützen.
- Weitere Informationen zu unterstützten Einbettungsmodellen finden Sie unter Embedding-Modelle.
- Weitere Informationen zu offenen Modellen finden Sie unter Offene Modelle.
- Weitere Informationen zur RAG Engine finden Sie unter RAG Engine – Übersicht.