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. |
RagVectorDbConfig
Parameter | |
---|---|
|
Wenn keine Vektordatenbank angegeben ist, ist |
|
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 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 Secrets, das im Secret Manager gespeichert ist und Ihren Pinecone API-Schlüssel enthält. 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. |
|
Mit diesem Namen wird der Pinecone-Index erstellt, der mit dem RAG-Korpus verwendet wird. Wenn Ihre |
|
Dies ist der Ressourcenname des Vektorsuchindex, der mit dem RAG-Korpus verwendet wird. Format: Wenn Ihre |
|
Dies ist der Ressourcenname des Vektorsuchindex-Endpunkts, der mit dem RAG-Korpus verwendet wird. Format: Wenn Ihre |
|
Der vollständige Ressourcenname des Secrets, das im Secret Manager gespeichert ist 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
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: 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. |
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. |
|
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. |
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
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 Python API.
- 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.
from vertexai import rag
import vertexai
PROJECT_ID = "PROJECT_ID"
display_name = "CORPUS_DISPLAY_NAME"
description = "CORPUS_DESCRIPTION"
# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location="LOCATION")
# Configure embedding model
embedding_model_config = rag.EmbeddingModelConfig(
publisher_model="publishers/google/models/text-embedding-004"
)
corpus = rag.create_corpus(
display_name=display_name,
description=description,
embedding_model_config=embedding_model_config,
)
print(corpus)
# Example response:
# RagCorpus(name='projects/1234567890/locations/us-central1/ragCorpora/1234567890',
# display_name='test_corpus', description='Corpus Description', embedding_model_config=...
# ...
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 des RAG-Korpus.
- CORPUS_DESCRIPTION: Die Beschreibung des RAG-Korpus.
- INDEX_NAME: Der Ressourcenname des Index für die Vektorsuche. 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.
Beispiel für die Auflistung von RAG-Korpora
Diese Codebeispiele zeigen, wie Sie alle RAG-Korpora auflisten.
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 RAG-Korpora anpassen, die pro Seite zurückgegeben werden sollen, indem Sie den Parameter
page_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/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 der RAG-Korpora 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.
from vertexai import rag
import vertexai
PROJECT_ID = "PROJECT_ID"
LOCATION = "us-central1"
# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location=LOCATION)
corpora = rag.list_corpora()
print(corpora)
# Example response:
# ListRagCorporaPager<rag_corpora {
# name: "projects/[PROJECT_ID]/locations/us-central1/ragCorpora/2305843009213693952"
# display_name: "test_corpus"
# create_time {
# ...
Beispiel für einen RAG-Korpus abrufen
Diese Codebeispiele zeigen, wie Sie 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 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 veranschaulichen, wie RagCorpus
das Feld rag_embedding_model_config
innerhalb von 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 Python API.
- PROJECT_ID: Ihre Projekt-ID.
- LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
- RAG_CORPUS_ID: Die ID der RAG-Korpusressource.
from vertexai import rag
import vertexai
PROJECT_ID = "PROJECT_ID"
LOCATION = "LOCATION"
corpus_name = "projects/{PROJECT_ID}/locations/{LOCATION}/ragCorpora/{rag_corpus_id}"
# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location=LOCATION)
corpus = rag.get_corpus(name=corpus_name)
print(corpus)
# Example response:
# RagCorpus(name='projects/[PROJECT_ID]/locations/us-central1/ragCorpora/1234567890',
# display_name='test_corpus', description='Corpus Description',
# ...
Beispiel für einen RAG-Korpus 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
RagCorpus
-Ressource.
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 Python API.
from vertexai import rag
import vertexai
PROJECT_ID = "PROJECT_ID"
corpus_name = "projects/{PROJECT_ID}/locations/LOCATION/ragCorpora/RAG_CORPUS_ID"
# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location="LOCATION")
rag.delete_corpus(name=corpus_name)
print(f"Corpus {corpus_name} deleted.")
# Example response:
# Successfully deleted the RagCorpus.
# Corpus projects/[PROJECT_ID]/locations/us-central1/ragCorpora/123456789012345 deleted. import rag
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
Diese Codebeispiele zeigen, wie Sie 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 Korpus-ID Ihres RAG-Korpus.
- LOCAL_FILE_PATH: Der lokale Pfad zur hochzuladenden Datei.
- 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 Python API.
- 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 hochzuladenden Datei.
- DISPLAY_NAME: Der Anzeigename der RAG-Datei.
- DESCRIPTION: Die Beschreibung der RAG-Datei.
from vertexai import rag
import vertexai
PROJECT_ID = "PROJECT_ID"
corpus_name = "projects/{PROJECT_ID}/locations/LOCATION/ragCorpora/RAG_CORPUS_ID"
path = "path/to/local/file.txt"
display_name = "file_display_name"
description = "file description"
# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location="LOCATION")
rag_file = rag.upload_file(
corpus_name=corpus_name,
path=path,
display_name=display_name,
description=description,
)
print(rag_file)
# RagFile(name='projects/[PROJECT_ID]/locations/us-central1/ragCorpora/1234567890/ragFiles/09876543',
# display_name='file_display_name', description='file description')
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 Informationen zu Teilausfällen, zur Anfragezeit und zur Antwortzeit im response
-Objekt des SDKs ansehen.
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 Korpus-ID Ihres RAG-Korpus.
- FOLDER_RESOURCE_ID: Die Ressourcen-ID Ihres Drive-Ordners.
- GCS_URIS: Eine Liste der Cloud Storage-Standorte.
Beispiel:
gs://my-bucket1
. - CHUNK_SIZE: Anzahl der Tokens, die jeder Block haben sollte.
- CHUNK_OVERLAP: Anzahl der Tokens, die sich zwischen Blöcken überschneiden.
- EMBEDDING_MODEL_QPM_RATE: Die QPM-Rate, mit der der Zugriff von RAG auf Ihr Einbettungsmodell begrenzt wird. 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-Standorte.
Beispiel:
gs://my-bucket1
. - CHUNK_SIZE: Anzahl der Tokens, die jeder Block haben sollte.
- CHUNK_OVERLAP: Anzahl der Tokens, die sich zwischen Blöcken überschneiden.
- EMBEDDING_MODEL_QPM_RATE: Die QPM-Rate, mit der der Zugriff von RAGs auf Ihr Einbettungsmodell eingeschränkt wird. 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 sollte.
- CHUNK_OVERLAP: Anzahl der Tokens, die sich zwischen Blöcken überschneiden.
- EMBEDDING_MODEL_QPM_RATE: Die QPM-Rate, mit der der Zugriff von RAG auf Ihr Einbettungsmodell begrenzt wird. 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 Python API.
- 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 sollte.
- CHUNK_OVERLAP: Anzahl der Tokens, die sich zwischen Blöcken überschneiden.
- EMBEDDING_MODEL_QPM_RATE: Die QPM-Rate, mit der der Zugriff von RAG auf Ihr Einbettungsmodell begrenzt wird. Beispiel: 1.000.
from vertexai import rag
import vertexai
PROJECT_ID = "PROJECT_ID"
corpus_name = "projects/{PROJECT_ID}/locations/LOCATION/ragCorpora/RAG_CORPUS_ID"
paths = ["https://drive.google.com/file/123", "gs://my_bucket/my_files_dir"]
# Supports Google Cloud Storage and Google Drive Links
# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location="LOCATION")
response = rag.import_files(
corpus_name=corpus_name,
paths=paths,
chunk_size=512, # Optional
chunk_overlap=100, # Optional
max_embedding_requests_per_min=900, # Optional
)
print(f"Imported {response.imported_rag_files_count} files.")
# Example response:
# Imported 2 files.
Beispiel für die Auflistung 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
RagCorpus
-Ressource. - 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 Parameter „page_size“ aktualisieren. - PAGE_TOKEN: Das Standardtoken der Listenseite. Wird 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 Python API.
Ersetzen Sie die folgenden Variablen im Codebeispiel:
- PROJECT_ID: Ihre Projekt-ID.
- LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
- RAG_CORPUS_ID: Die ID der
RagCorpus
-Ressource. - 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 Parameter „page_size“ aktualisieren. - PAGE_TOKEN: Das Standardtoken der Listenseite. Wird mit
ListRagFilesResponse.next_page_token
des vorherigenVertexRagDataService.ListRagFiles
-Aufrufs abgerufen.
from vertexai import rag
import vertexai
PROJECT_ID = "PROJECT_ID"
corpus_name = "projects/{PROJECT_ID}/locations/LOCATION/ragCorpora/RAG_CORPUS_ID"
# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location="LOCATION")
files = rag.list_files(corpus_name=corpus_name)
for file in files:
print(file.display_name)
print(file.name)
# Example response:
# g-drive_file.txt
# projects/1234567890/locations/us-central1/ragCorpora/111111111111/ragFiles/222222222222
# g_cloud_file.txt
# projects/1234567890/locations/us-central1/ragCorpora/111111111111/ragFiles/333333333333
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
RagCorpus
-Ressource. - RAG_FILE_ID: Die ID der
RagFile
-Ressource.
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 Python API.
- 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.
from vertexai import rag
import vertexai
PROJECT_ID = "PROJECT_ID"
file_name = "projects/{PROJECT_ID}/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID"
# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location="LOCATION")
rag_file = rag.get_file(name=file_name)
print(rag_file)
# Example response:
# RagFile(name='projects/1234567890/locations/LOCATION/ragCorpora/11111111111/ragFiles/22222222222',
# display_name='file_display_name', description='file description')
Beispiel für eine RAG-Datei löschen
Diese Codebeispiele zeigen, 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 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 Python API.
- 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}
.
from vertexai import rag
import vertexai
PROJECT_ID = "PROJECT_ID"
file_name = "projects/{PROJECT_ID}/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID"
# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location="LOCATION")
rag.delete_file(name=file_name)
print(f"File {file_name} deleted.")
# Example response:
# Successfully deleted the RagFile.
# File projects/1234567890/locations/us-central1/ragCorpora/1111111111/ragFiles/2222222222 deleted.
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
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/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 Python API.
- PROJECT_ID: Ihre Projekt-ID.
- LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
- RAG_CORPUS_RESOURCE: Der 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.
from vertexai import rag
import vertexai
PROJECT_ID = "PROJECT_ID"
corpus_name = "projects/[PROJECT_ID]/locations/LOCATION/ragCorpora/RAG_CORPUS_ID"
# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location="LOCATION")
response = rag.retrieval_query(
rag_resources=[
rag.RagResource(
rag_corpus=corpus_name,
# Optional: supply IDs from `rag.list_files()`.
# rag_file_ids=["rag-file-1", "rag-file-2", ...],
)
],
text="TEXT",
similarity_top_k=SIMILARITY_TOP_K, # Optional
vector_distance_threshold=VECTOR_DISTANCE_THRESHOLD, # Optional
)
print(response)
# Example response:
# contexts {
# contexts {
# source_uri: "gs://your-bucket-name/file.txt"
# text: "....
# ....
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 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
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 Vektordistanz, 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 Python API.
- 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 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
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 Vektordistanz, die kleiner als der Grenzwert ist, werden zurückgegeben.
from vertexai import rag
from vertexai.generative_models import GenerativeModel, Tool
import vertexai
PROJECT_ID = "PROJECT_ID"
corpus_name = "projects/{PROJECT_ID}/locations/LOCATION/ragCorpora/RAG_CORPUS_ID"
# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location="LOCATION")
rag_retrieval_tool = Tool.from_retrieval(
retrieval=rag.Retrieval(
source=rag.VertexRagStore(
rag_resources=[
rag.RagResource(
rag_corpus="RAG_CORPUS_RESOURCE",
# Optional: supply IDs from `rag.list_files()`.
# rag_file_ids=["rag-file-1", "rag-file-2", ...],
)
],
similarity_top_k=SIMILARITY_TOP_K, # Optional
vector_distance_threshold=VECTOR_DISTANCE_THRESHOLD, # Optional
),
)
)
rag_model = GenerativeModel(
model_name="MODEL_ID", tools=[rag_retrieval_tool]
)
response = rag_model.generate_content("Why is the sky blue?")
print(response.text)
# Example response:
# The sky appears blue due to a phenomenon called Rayleigh scattering.
# Sunlight, which contains all colors of the rainbow, is scattered
# by the tiny particles in the Earth's atmosphere....
# ...
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.