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. Mithilfe von RAG können LLMs genauere und informativere Antworten generieren.
Beispielsyntax
In diesem Abschnitt finden Sie die Syntax zum Erstellen eines RAG-Korpus.
curl
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" : "...", "description": "...", "rag_embedding_model_config": { "vertex_prediction_endpoint": { "endpoint": "..." } } }'
Python
corpus = rag.create_corpus(display_name=..., description=...) print(corpus)
Parameterliste
In diesem Abschnitt finden Sie Folgendes:
Parameter | Beispiele |
---|---|
Weitere Informationen finden Sie unter 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-Corpus verwendet werden.
Parameter | |
---|---|
|
Optional: Der Anzeigename des RAG-Corpus. |
|
Optional: Die Beschreibung des RAG-Korpus. |
|
Optional: Das Einbettungsmodell, das für den RAG-Corpus verwendet werden soll. |
|
Optional: Der HTTPS- oder HTTP-Endpunkt der Weaviate-Instanz. |
|
Optional: Die Weaviate-Sammlung, der der RAG-Korpus zugeordnet ist. |
|
Optional: Der Vertex AI Feature Store Format: |
|
Optional: Der Name der Secret-Version des Secret Manager, in dem der API-Schlüssel gespeichert ist. Format: |
|
In diesem Feld können Sie eine Vektordatenbank auswählen, die Sie Ihrem RAG-Corpus zuordnen möchten. Es muss während des |
|
Mit diesem Namen wird der Pinecone-Index erstellt, der mit dem RAG-Corpus verwendet wird. Sie können den Namen beim |
|
Dies ist der vollständige Ressourcenname des Secrets, das im Secret Manager gespeichert ist und Ihren Pinecone API-Schlüssel enthält. Sie können den Namen beim |
|
In diesem Feld können Sie eine Vektordatenbank auswählen, die Sie Ihrem RAG-Corpus zuordnen möchten. Es muss während des |
|
Dies ist der Ressourcenname der Vektorsuche, die mit dem RAG-Corpus verwendet wird. Sie können den Namen beim |
|
Dies ist der Ressourcenname des Vektorsuchindex-Endpunkts, der mit dem RAG-Korpus verwendet wird. Sie können den Namen beim |
RAG-Korpus aktualisieren
In dieser Tabelle sind die Parameter aufgeführt, die zum Aktualisieren eines RAG-Corpus verwendet werden.
Name | Beschreibung |
---|---|
display_name |
Optional: string Der Anzeigename des RAG-Corpus. |
description |
Optional: string Die Anzeige des RAG-Korpus. |
rag_vector_db_config.weaviate.http_endpoint |
Optional: string HTTPS- oder HTTP-Endpunkt der Weaviate-Instanz. |
rag_vector_db_config.weaviate.collection_name |
Optional: string Die Weaviate-Sammlung, der der RAG-Korpus zugeordnet ist. |
rag_vector_db_config.vertex_feature_store.feature_view_resource_name |
Optional: string Die Vertex AI Feature Store-Featureansicht, der das RAG-Corpus zugeordnet ist. Format: projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view} |
api_auth.api_key_config.api_key_secret_version |
Optional: string Der Name der Secret-Versionsressource von Secret Manager, in der der API-Schlüssel gespeichert ist. Format: projects/{project}/secrets/{secret}/versions/{version} |
|
In diesem Feld können Sie eine Vektordatenbank auswählen, die Sie Ihrem RAG-Corpus zuordnen möchten. Es muss während des |
|
Mit diesem Namen wird der Pinecone-Index erstellt, der mit dem RAG-Corpus verwendet wird. Sie können den Namen beim |
|
Dies ist der vollständige Ressourcenname des Secrets, das im Secret Manager gespeichert ist und Ihren Pinecone API-Schlüssel enthält. Sie können den Namen beim |
|
In diesem Feld können Sie eine Vektordatenbank auswählen, die Sie Ihrem RAG-Corpus zuordnen möchten. Es muss während des |
|
Dies ist der Ressourcenname der Vektorsuche, die mit dem RAG-Corpus verwendet wird. Sie können den Namen beim |
|
Dies ist der Ressourcenname des Vektorsuchindex-Endpunkts, der mit dem RAG-Korpus verwendet wird. Sie können den Namen beim |
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 | |
---|---|
|
Die ID der |
RAG-Korpus löschen
In dieser Tabelle sind die Parameter aufgeführt, die zum Löschen eines RAG-Corpus verwendet werden.
Parameter | |
---|---|
|
Die ID 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.
Parameter | |
---|---|
|
Die ID der |
|
Optional: Der Anzeigename des RagCorpus. |
|
Optional: Die Beschreibung des RagCorpus. |
RAG-Dateien importieren
In dieser Tabelle sind die Parameter aufgeführt, die zum Importieren einer RAG-Datei verwendet werden.
Parameter | |
---|---|
|
Die ID der |
|
Cloud Storage-URI, der die Uploaddatei enthält. |
|
Optional: Der Typ der Google Drive-Ressource. |
|
Optional: Die ID der Google Drive-Ressource. |
|
Optional: Anzahl der Tokens, die jeder Block haben sollte. |
|
Optional: Die Anzahl der Tokens überlappen sich zwischen zwei Blöcken. |
|
Optional: Eine Zahl, die die Häufigkeit begrenzt, mit der die RAG Engine das Einbettungsmodell während des Indexierungsprozesses aufruft. Das Standardlimit ist |
|
Die ID der |
|
Optional: Die Standardgröße der Listenseite |
|
Optional: Das Standardtoken der Listenseite Wird normalerweise aus |
RAG-Datei abrufen
In dieser Tabelle sind die Parameter aufgeführt, die zum Abrufen einer RAG-Datei verwendet werden.
Parameter | |
---|---|
|
Die ID der |
RAG-Datei löschen
In dieser Tabelle sind die Parameter aufgeführt, die zum Löschen einer RAG-Datei verwendet werden.
Parameter | |
---|---|
|
Die ID der |
Abruf und Vorhersage
In diesem Abschnitt sind die Abruf- und Vorhersageparameter aufgeführt.
Abrufparameter
In dieser Tabelle sind die Abrufparameter aufgeführt.
Parameter | Beschreibung |
---|---|
similarity_top_k |
Steuert die maximale Anzahl von Kontexten, die abgerufen werden. |
vector_distance_threshold |
Es werden nur Kontexte mit einer kleineren Entfernung als der Grenzwert berücksichtigt. |
Vorhersageparameter
In dieser Tabelle sind die Parameter für die Vorhersage aufgeführt.
Parameter | |
---|---|
|
LLM-Modell für die Inhaltsgenerierung |
|
Der Name der RagCorpus-Ressource. Format: |
|
Der Text an LLM für das Generieren von Inhalten. Höchstwert: |
|
Optional: Es werden nur Kontexte mit einer Vektordistanz zurückgegeben, die kleiner als der Grenzwert ist. |
|
Optional: Die Anzahl der Top-Kontexte, die abgerufen werden sollen. |
Beispiele für die Korpusverwaltung
In diesem Abschnitt finden Sie Beispiele dafür, wie Sie Ihren RAG-Corpus mithilfe der API verwalten.
Beispiel für einen RAG-Korpus erstellen
Dieses Codebeispiel zeigt, 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 von
RagCorpus
. - CORPUS_DESCRIPTION: Die Beschreibung von
RagCorpus
. - RAG_EMBEDDING_MODEL_CONFIG_ENDPOINT: Das Einbettungsmodell der
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", "rag_embedding_model_config_endpoint": "RAG_EMBEDDING_MODEL_CONFIG_ENDPOINT" }
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 "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:
$headers = @{ }
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.
// Either your first party publisher model or fine-tuned endpoint
// Example: projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/textembedding-gecko@003
// or
// Example: projects/${PROJECT_ID}/locations/${LOCATION}/endpoints/12345
ENDPOINT_NAME=${RAG_EMBEDDING_MODEL_CONFIG_ENDPOINT}
// Corpus display name
// Such as "my_test_corpus"
CORPUS_DISPLAY_NAME=YOUR_CORPUS_DISPLAY_NAME
// CreateRagCorpus
// Input: ENDPOINT, PROJECT_ID, CORPUS_DISPLAY_NAME
// Output: CreateRagCorpusOperationMetadata
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://${ENDPOINT}/v1beta1/projects/${PROJECT_ID}/locations/${LOCATION}/ragCorpora \
-d '{
"display_name" : '\""${CORPUS_DISPLAY_NAME}"\"',
"rag_embedding_model_config" : {
"vertex_prediction_endpoint": {
"endpoint": '\""${ENDPOINT_NAME}"\"'
}
}
}'
// Poll the operation status.
// The last component of the RagCorpus "name" field is the server-generated
// rag_corpus_id: (only Bold part)
// projects/${PROJECT_ID}/locations/${LOCATION}/ragCorpora/7454583283205013504.
OPERATION_ID=OPERATION_ID
poll_op_wait ${OPERATION_ID}
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 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.
Diese Beispiele zeigen, wie Sie einen RAG-Korpus aktualisieren.
Python
Informationen zum Installieren oder Aktualisieren des Vertex AI SDK finden Sie unter Vertex AI SDK installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Python API.
from vertexai.preview import rag
import vertexai
# TODO(developer): Update and un-comment on the following lines:
# PROJECT_ID = "YOUR_PROJECT_ID"
# corpus_name = "YOUR_CORPUS_NAME"
# e.g. "projects/1234567890/locations/us-central1/ragCorpora/1234567890'"
# display_name = "test_corpus"
# description = "Corpus Description"
# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location="us-central1")
corpus = rag.update_corpus(
corpus_name=corpus_name,
display_name=display_name,
description=description,
)
print(corpus)
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID: Your project ID.
LOCATION: The region to process the request.
CORPUS_ID: The corpus ID of your RAG corpus.
CORPUS_DISPLAY_NAME: The display name of the RAG corpus.
CORPUS_DESCRIPTION: The description of the RAG corpus.
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}
}
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 PATH \
-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 }
Save the request body in a file named request.json, and execute the following command:
```sh
$headers = @{ }
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 \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora?page_size=PAGE_SIZE&page_token=PAGE_TOKEN"
PowerShell
Führen Sie diesen Befehl aus:
$headers = @{ }
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.
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 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 \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID"
PowerShell
Führen Sie folgenden Befehl aus:
$headers = @{ }
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
verwendet, das auf das von Ihnen ausgewählte Einbettungsmodell verweist.
// Server-generated rag_corpus_id in CreateRagCorpus
RAG_CORPUS_ID=RAG_CORPUS_ID
// GetRagCorpus
// Input: ENDPOINT, PROJECT_ID, RAG_CORPUS_ID
// Output: RagCorpus
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://${ENDPOINT}/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://${ENDPOINT}/v1beta1/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 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 \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID"
PowerShell
Führen Sie folgenden Befehl aus:
$headers = @{ }
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.
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 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: Ihre Projekt-ID.
- LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
- RAG_CORPUS_ID: Die ID der Ressource
RagCorpus
. - INPUT_FILE: der Pfad einer lokalen Datei.
- FILE_DISPLAY_NAME: Der Anzeigename von
RagFile
. - RAG_FILE_DESCRIPTION: Die Beschreibung von
RagFile
.
HTTP-Methode und URL:
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:upload
JSON-Text der Anfrage:
{ "rag_file": { "display_name": "FILE_DISPLAY_NAME", "description": "RAG_FILE_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 INPUT_FILE
und führen Sie den folgenden Befehl aus:
curl -X POST \
-H "Content-Type: application/json; charset=utf-8" \
-d @INPUT_FILE \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:upload"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen INPUT_FILE
und führen Sie den folgenden Befehl aus:
$headers = @{ }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile INPUT_FILE `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:upload" | Select-Object -Expand Content
RagFile
zurück. Die letzte Komponente des Feldes RagFile.name
ist der vom Server generierte rag_file_id
.
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 Python API.
Beispiel für den Import von RAG-Dateien
Dateien und Ordner können aus Google Drive oder Cloud Storage importiert werden. Mit response.metadata
können Sie sich im response
-Objekt des SDKs Teilfehler, Anfragezeit und Antwortzeit ansehen.
response.skipped_rag_files_count
bezieht sich auf die Anzahl der Dateien, die beim Import übersprungen wurden. Eine Datei wird übersprungen, wenn folgende 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
. - DRIVE_RESOURCE_ID: Die ID der Drive-Ressource. Beispiele:
https://drive.google.com/file/d/ABCDE
https://drive.google.com/corp/drive/u/0/folders/ABCDEFG
- DRIVE_RESOURCE_TYPE: Typ der Drive-Ressource. Optionen:
RESOURCE_TYPE_FILE
- DateiRESOURCE_TYPE_FOLDER
- Ordner- 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 }, "google_drive_source": { "resource_ids": { "resource_id": DRIVE_RESOURCE_ID, "resource_type": DRIVE_RESOURCE_TYPE }, } } }
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 "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:
$headers = @{ }
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 Häufigkeit begrenzen, mit der die RAG-Engine das Einbettungsmodell während des ImportRagFiles
-Indexierungsvorgangs aufruft. Der Standardwert des Felds ist 1000
Anrufe pro Minute.
// Cloud Storage bucket/file location.
// Such as "gs://rag-e2e-test/"
GCS_URIS=YOUR_GCS_LOCATION
// Enter the QPM rate to limit RAG's access to your embedding model
// Example: 1000
EMBEDDING_MODEL_QPM_RATE=MAX_EMBEDDING_REQUESTS_PER_MIN_LIMIT
// ImportRagFiles
// Import a single Cloud Storage file or all files in a Cloud Storage bucket.
// Input: ENDPOINT, 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://${ENDPOINT}/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": 512
},
"max_embedding_requests_per_min": '"${EMBEDDING_MODEL_QPM_RATE}"'
}
}'
// Poll the operation status.
// The response contains the number of files imported.
OPERATION_ID=OPERATION_ID
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 Häufigkeit begrenzen, mit der die RAG Engine das Einbettungsmodell während des Indexierungsvorgangs ImportRagFiles
aufruft. Der Standardwert für das Feld ist 1000
Anrufe pro Minute.
// Google Drive folder location.
FOLDER_RESOURCE_ID=YOUR_GOOGLE_DRIVE_FOLDER_RESOURCE_ID
// Enter the QPM rate to limit RAG's access to your embedding model
// Example: 1000
EMBEDDING_MODEL_QPM_RATE=MAX_EMBEDDING_REQUESTS_PER_MIN_LIMIT
// ImportRagFiles
// Import all files in a Google Drive folder.
// Input: ENDPOINT, 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://${ENDPOINT}/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=OPERATION_ID
poll_op_wait ${OPERATION_ID}
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 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 \
"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:
$headers = @{ }
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.
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 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 \
"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:
$headers = @{ }
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.
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 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 \
"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:
$headers = @{ }
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.
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 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": 0.8 }, "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 "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:
$headers = @{ }
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.
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 Python API.
Vorhersage
Die Vorhersage 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 "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:
$headers = @{ }
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
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 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 Einbettungsmodelle.
- Weitere Informationen zu offenen Modellen finden Sie unter Offene Modelle.
- Weitere Informationen zur RAG Engine finden Sie unter RAG Engine – Übersicht.