RAG Engine API

Die Vertex AI RAG Engine ist eine Komponente der Vertex AI-Plattform, die die Retrieval-Augmented Generation (RAG) ermöglicht. Mit RAG Engine können Large Language Models (LLMs) auf Daten aus externen Wissensquellen wie Dokumenten und Datenbanken zugreifen und diese einbinden. Mit RAG können LLMs genauere und informativere Antworten generieren.

Parameterliste

In diesem Abschnitt wird Folgendes aufgeführt:

Parameter Beispiele
Weitere Informationen finden Sie unter Parameter für die Corpus-Verwaltung. Beispiele für die Corpus-Verwaltung
Siehe Parameter für die Dateiverwaltung. Beispiele für die Dateiverwaltung
Weitere Informationen finden Sie unter Parameter für das Projektmanagement. Beispiele für das Projektmanagement

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.

Anfragetext
Parameter

display_name

Erforderlich: string

Der Anzeigename des RAG-Korpus.

description

Optional: string

Die Beschreibung des RAG-Korpus.

encryption_spec

Optional: Unveränderlich: string

Der CMEK-Schlüsselname wird verwendet, um ruhende Daten zu verschlüsseln, die mit dem RAG-Korpus zusammenhängen. Der Schlüsselname gilt nur für die Option RagManaged für die Vektordatenbank. Wenn der Korpus erstellt wird, kann dieses Feld festgelegt werden. Es kann nicht aktualisiert oder gelöscht werden.

Format: projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{key_name}

vector_db_config

Optional: Unveränderlich: vectorDbConfig

Die Konfiguration für die Vektordatenbanken.

vertex_ai_search_config.serving_config

Optional: string

Die Konfiguration für Vertex AI Search.

Format: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/servingConfigs/{serving_config} oder projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/servingConfigs/{serving_config}

vectorDbConfig
Parameter

rag_managed_db

oneof vector_db: vectorDbConfig.RagManagedDb

Wenn keine Vektordatenbank angegeben ist, ist rag_managed_db die Standardvektordatenbank.

pinecone

oneof vector_db: vectorDbConfig.Pinecone

Gibt Ihre Pinecone-Instanz an.

pinecone.index_name

string

Dies ist der Name, der zum Erstellen des Pinecone-Index verwendet wird, der mit dem RAG-Korpus verwendet wird.

Dieser Wert kann nach dem Festlegen nicht mehr geändert werden. Sie können es im CreateRagCorpus-API-Aufruf leer lassen und in einem nachfolgenden UpdateRagCorpus-API-Aufruf einen nicht leeren Wert festlegen.

vertex_vector_search

oneof vector_db: vectorDbConfig.VertexVectorSearch

Gibt Ihre Vertex Vector Search-Instanz an.

vertex_vector_search.index

string

Dies ist der Ressourcenname des Vektorsuchindex, der mit dem RAG-Korpus verwendet wird.

Format: projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}

Dieser Wert kann nach dem Festlegen nicht mehr geändert werden. Sie können es im CreateRagCorpus-API-Aufruf leer lassen und in einem nachfolgenden UpdateRagCorpus-API-Aufruf einen nicht leeren Wert festlegen.

vertex_vector_search.index_endpoint

string

Dies ist der Ressourcenname des Vektorsuchindex-Endpunkts, der mit dem RAG-Korpus verwendet wird.

Format: projects/{project}/locations/{location}/indexes/{index}

Dieser Wert kann nach dem Festlegen nicht mehr geändert werden. Sie können es im CreateRagCorpus-API-Aufruf leer lassen und in einem nachfolgenden UpdateRagCorpus-API-Aufruf einen nicht leeren Wert festlegen.

api_auth.api_key_config.api_key_secret_version

string

Dies ist der vollständige Ressourcenname des im Secret Manager gespeicherten Secrets, das Ihren Pinecone-API-Schlüssel enthält.

Format: projects/{PROJECT_NUMBER}/secrets/{SECRET_ID}/versions/{VERSION_ID}

Sie können sie im CreateRagCorpus API-Aufruf leer lassen und in einem nachfolgenden UpdateRagCorpus API-Aufruf einen nicht leeren Wert festlegen.

rag_embedding_model_config.vertex_prediction_endpoint.endpoint

Optional: Unveränderlich: string

Das Einbettungsmodell, das für den RAG-Corpus verwendet werden soll. Dieser Wert kann nach dem Festlegen nicht mehr geändert werden. Wenn Sie dieses Feld leer lassen, verwenden wir text-embedding-005 als Einbettungsmodell.

RAG-Korpus aktualisieren

In dieser Tabelle sind die Parameter aufgeführt, die zum Aktualisieren eines RAG-Korpus verwendet werden.

Anfragetext
Parameter

display_name

Optional: string

Der Anzeigename des RAG-Korpus.

description

Optional: string

Die Beschreibung des RAG-Korpus.

rag_vector_db.pinecone.index_name

string

Dies ist der Name, der zum Erstellen des Pinecone-Index verwendet wird, der mit dem RAG-Korpus verwendet wird.

Wenn Ihre RagCorpus mit einer Pinecone-Konfiguration erstellt wurde und dieses Feld noch nie festgelegt wurde, können Sie den Indexnamen der Pinecone-Instanz aktualisieren.

rag_vector_db.vertex_vector_search.index

string

Dies ist der Ressourcenname des Vektorsuchindex, der mit dem RAG-Korpus verwendet wird.

Format: projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}

Wenn Ihr RagCorpus mit einer Vector Search-Konfiguration erstellt wurde und dieses Feld noch nie festgelegt wurde, können Sie es aktualisieren.

rag_vector_db.vertex_vector_search.index_endpoint

string

Dies ist der Ressourcenname des Vektorsuchindex-Endpunkts, der mit dem RAG-Korpus verwendet wird.

Format: projects/{project}/locations/{location}/indexes/{index}

Wenn Ihr RagCorpus mit einer Vector Search-Konfiguration erstellt wurde und dieses Feld noch nie festgelegt wurde, können Sie es aktualisieren.

rag_vector_db.api_auth.api_key_config.api_key_secret_version

string

Der vollständige Ressourcenname des Secrets, das in Secret Manager gespeichert ist und Ihren Pinecone-API-Schlüssel enthält.

Format: projects/{PROJECT_NUMBER}/secrets/{SECRET_ID}/versions/{VERSION_ID}

RAG-Korpora auflisten

In dieser Tabelle sind die Parameter aufgeführt, die zum Auflisten von RAG-Corpora verwendet werden.

Parameter

page_size

Optional: int

Die Standardgröße der Listenseite

page_token

Optional: string

Das Standardtoken der Listenseite Wird normalerweise aus [ListRagCorporaResponse.next_page_token][] des vorherigen [VertexRagDataService.ListRagCorpora][]-Aufrufs abgerufen.

RAG-Korpus abrufen

In dieser Tabelle sind die Parameter aufgeführt, die zum Abrufen eines RAG-Korpus verwendet werden.

Parameter

name

string

Der Name der RagCorpus-Ressource. Format: projects/{project}/locations/{location}/ragCorpora/{rag_corpus_id}

RAG-Korpus löschen

In dieser Tabelle sind die Parameter aufgeführt, die zum Löschen eines RAG-Korpus verwendet werden.

Parameter

name

string

Der Name der RagCorpus-Ressource. Format: projects/{project}/locations/{location}/ragCorpora/{rag_corpus_id}

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

parent

string

Der Name der RagCorpus-Ressource. Format: projects/{project}/locations/{location}/ragCorpora/{rag_corpus_id}

rag_file

Erforderlich: RagFile

Die Datei, die hochgeladen werden soll.

upload_rag_file_config

Erforderlich: UploadRagFileConfig

Die Konfiguration für RagFile, die in RagCorpus hochgeladen werden soll.

RagFile

display_name

Erforderlich: string

Der Anzeigename der RAG-Datei.

description

Optional: string

Die Beschreibung der RAG-Datei.

UploadRagFileConfig

rag_file_transformation_config.rag_file_chunking_config.fixed_length_chunking.chunk_size

int32

Anzahl der Tokens in jedem Block.

rag_file_transformation_config.rag_file_chunking_config.fixed_length_chunking.chunk_overlap

int32

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

parent

Erforderlich: string

Der Name der RagCorpus-Ressource.

Format: projects/{project}/locations/{location}/ragCorpora/{rag_corpus_id}

gcs_source

oneof import_source: GcsSource

Cloud Storage-Speicherort

Unterstützt den Import einzelner Dateien sowie ganzer Cloud Storage-Verzeichnisse.

gcs_source.uris

list von string

Cloud Storage-URI, der die Uploaddatei enthält

google_drive_source

oneof import_source: GoogleDriveSource

Speicherort für Google Drive

Unterstützt den Import einzelner Dateien sowie von Google Drive-Ordnern.

slack_source

oneof import_source: SlackSource

Der Slack-Channel, in dem die Datei hochgeladen wird.

jira_source

oneof import_source: JiraSource

Die Jira-Abfrage, in die die Datei hochgeladen wird.

share_point_sources

oneof import_source: SharePointSources

Die SharePoint-Quellen, in die die Datei hochgeladen wird.

rag_file_transformation_config.rag_file_chunking_config.fixed_length_chunking.chunk_size

int32

Anzahl der Tokens in jedem Block.

rag_file_transformation_config.rag_file_chunking_config.fixed_length_chunking.chunk_overlap

int32

Die Überschneidung zwischen den Blöcken.

rag_file_parsing_config

Optional: RagFileParsingConfig

Gibt die Parsing-Konfiguration für RagFiles an.

Wenn dieses Feld nicht festgelegt ist, verwendet RAG den Standardparser.

max_embedding_requests_per_min

Optional: int32

Die maximale Anzahl von Anfragen pro Minute, die mit diesem Job an das im Korpus angegebene Einbettungsmodell gesendet werden dürfen. Dieser Wert ist spezifisch für diesen Job und wird nicht für andere Importjobs verwendet. Sehen Sie auf der Seite „Kontingente“ des Projekts nach, um einen geeigneten Wert festzulegen.

Wenn nichts angegeben ist, wird der Standardwert von 1.000 QPM verwendet.

GoogleDriveSource

resource_ids.resource_id

Erforderlich: string

Die ID der Google Drive-Ressource.

resource_ids.resource_type

Erforderlich: string

Der Typ der Google Drive-Ressource.

SlackSource

channels.channels

Wiederholt: SlackSource.SlackChannels.SlackChannel

Informationen zum Slack-Channel, einschließlich ID und zu importierender Zeitraum.

channels.channels.channel_id

Erforderlich: string

Die Slack-Kanal-ID.

channels.channels.start_time

Optional: google.protobuf.Timestamp

Der Startzeitstempel für zu importierende Nachrichten.

channels.channels.end_time

Optional: google.protobuf.Timestamp

Der Endzeitstempel für die zu importierenden Nachrichten.

channels.api_key_config.api_key_secret_version

Erforderlich: string

Der vollständige Ressourcenname des Secrets, das in Secret Manager gespeichert ist und ein Slack-Channel-Zugriffstoken enthält, das Zugriff auf die Slack-Channel-IDs hat.
Weitere Informationen: https://api.slack.com/tutorials/tracks/getting-a-token.

Format: projects/{PROJECT_NUMBER}/secrets/{SECRET_ID}/versions/{VERSION_ID}

JiraSource

jira_queries.projects

Wiederholt: string

Eine Liste der Jira-Projekte, die vollständig importiert werden sollen.

jira_queries.custom_queries

Wiederholt: string

Eine Liste mit benutzerdefinierten Jira-Abfragen, die importiert werden sollen. Informationen zu JQL (Jira Query Language) finden Sie im
Jira-Support.

jira_queries.email

Erforderlich: string

Die Jira-E-Mail-Adresse.

jira_queries.server_uri

Erforderlich: string

Der Jira-Server-URI.

jira_queries.api_key_config.api_key_secret_version

Erforderlich: string

Der vollständige Ressourcenname des Secrets, das im Secret Manager gespeichert ist und den Jira-API-Schlüssel mit Zugriff auf die Slack-Channel-IDs enthält.
Weitere Informationen: https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/

Format: projects/{PROJECT_NUMBER}/secrets/{SECRET_ID}/versions/{VERSION_ID}

SharePointSources

share_point_sources.sharepoint_folder_path

oneof in folder_source: string

Der Pfad des SharePoint-Ordners, aus dem heruntergeladen werden soll.

share_point_sources.sharepoint_folder_id

oneof in folder_source: string

Die ID des SharePoint-Ordners, aus dem heruntergeladen werden soll.

share_point_sources.drive_name

oneof in drive_source: string

Der Name des Laufwerks, von dem heruntergeladen werden soll.

share_point_sources.drive_id

oneof in drive_source: string

Die ID des Laufwerks, von dem heruntergeladen werden soll.

share_point_sources.client_id

string

Die Anwendungs-ID für die im Microsoft Azure-Portal registrierte App.
Die Anwendung muss auch mit den MS Graph-Berechtigungen „Files.ReadAll“, „Sites.ReadAll“ und „BrowserSiteLists.Read.All“ konfiguriert werden.

share_point_sources.client_secret.api_key_secret_version

Erforderlich: string

Der vollständige Ressourcenname des Secrets, das im Secret Manager gespeichert ist und das Anwendungs-Secret für die in Azure registrierte App enthält.

Format: projects/{PROJECT_NUMBER}/secrets/{SECRET_ID}/versions/{VERSION_ID}

share_point_sources.tenant_id

string

Eindeutige Kennung der Azure Active Directory-Instanz.

share_point_sources.sharepoint_site_name

string

Der Name der SharePoint-Website, von der heruntergeladen werden soll. Das kann der Websitename oder die Website-ID sein.

RagFileParsingConfig

layout_parser

oneof parser: RagFileParsingConfig.LayoutParser

Der Layout-Parser, der für RagFile verwendet werden soll.

layout_parser.processor_name

string

Der vollständige Ressourcenname eines Document AI-Prozessors oder einer Prozessorversion.

Format:
projects/{project_id}/locations/{location}/processors/{processor_id}
projects/{project_id}/locations/{location}/processors/{processor_id}/processorVersions/{processor_version_id}

layout_parser.max_parsing_requests_per_min

string

Die maximale Anzahl von Anfragen, die der Job pro Minute an den Document AI-Prozessor senden darf.

Unter https://cloud.google.com/document-ai/quotas und auf der Seite „Kontingente“ für Ihr Projekt finden Sie Informationen zum Festlegen eines geeigneten Werts. Wenn nichts angegeben ist, wird der Standardwert von 120 QPM verwendet.

llm_parser

oneof parser: RagFileParsingConfig.LlmParser

Der LLM-Parser, der für RagFile verwendet werden soll.

llm_parser.model_name

string

Der Ressourcenname eines LLM-Modells.

Format:
projects/{project_id}/locations/{location}/publishers/{publisher}/models/{model}

llm_parser.max_parsing_requests_per_min

string

Die maximale Anzahl von Anfragen, die der Job pro Minute an das LLM-Modell senden darf.

Informationen zum Festlegen eines geeigneten Werts für Ihr Projekt finden Sie im Abschnitt „Modellkontingent“ und auf der Seite „Kontingent“ für Ihr Projekt. Wenn nichts angegeben ist, wird der Standardwert von 5.000 QPM verwendet.

RAG-Datei abrufen

In dieser Tabelle sind die Parameter aufgeführt, die zum Abrufen einer RAG-Datei verwendet werden.

Parameter

name

string

Der Name der RagFile-Ressource. Format: projects/{project}/locations/{location}/ragCorpora/{rag_file_id}

RAG-Datei löschen

In dieser Tabelle sind die Parameter aufgeführt, die zum Löschen einer RAG-Datei verwendet werden.

Parameter

name

string

Der Name der RagFile-Ressource. Format: projects/{project}/locations/{location}/ragCorpora/{rag_file_id}

Parameter für Abruf und Vorhersage

In diesem Abschnitt werden die Parameter für das Abrufen und die Vorhersage aufgeführt.

Abrufparameter

In dieser Tabelle sind die Parameter für die retrieveContexts API aufgeführt.

Parameter

parent

Erforderlich: string

Der Ressourcenname des abzurufenden Standorts RagContexts.
Die Nutzer müssen die Berechtigung haben, einen Aufruf im Projekt zu starten.

Format: projects/{project}/locations/{location}

vertex_rag_store

VertexRagStore

Die Datenquelle für Vertex RagStore.

query

Erforderlich: RagQuery

Einzelne RAG-Abfrage.

VertexRagStore
VertexRagStore

rag_resources

Liste: RagResource

Die Darstellung der RAG-Quelle. Damit kann nur das Korpus oder RagFile angegeben werden. Es wird nur ein Korpus oder mehrere Dateien aus einem Korpus unterstützt.

rag_resources.rag_corpus

Optional: string

RagCorpora-Ressourcenname.

Format: projects/{project}/locations/{location}/ragCorpora/{rag_corpus}

rag_resources.rag_file_ids

Liste: string

Eine Liste mit RagFile-Ressourcen.

Format: projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{rag_file}

RagQuery

text

string

Die Abfrage im Textformat, um relevante Kontexte abzurufen.

rag_retrieval_config

Optional: RagRetrievalConfig

Die Abrufkonfiguration für die Anfrage.

RagRetrievalConfig

top_k

Optional: int32

Die Anzahl der abzurufenden Kontexte.

filter.vector_distance_threshold

oneof vector_db_threshold: double

Es werden nur Kontexte mit einer Vektorentfernung zurückgegeben, die kleiner als der Grenzwert ist.

filter.vector_similarity_threshold

oneof vector_db_threshold: double

Es werden nur Kontexte mit einer Vektorähnlichkeit zurückgegeben, die größer als der Schwellenwert ist.

ranking.rank_service.model_name

Optional: string

Der Modellname des Ranking-Dienstes.

Beispiel: semantic-ranker-512@latest

ranking.llm_ranker.model_name

Optional: string

Der Modellname, der für das Ranking verwendet wird.

Beispiel: gemini-2.5-flash

Vorhersageparameter

In dieser Tabelle sind die Vorhersageparameter aufgeführt.

GenerateContentRequest

tools.retrieval.vertex_rag_store

VertexRagStore

Legen Sie fest, dass eine Datenquelle verwendet werden soll, die auf einem Vertex AI RAG-Speicher basiert.

Weitere Informationen finden Sie unter VertexRagStore.

Parameter für das Projektmanagement

In dieser Tabelle sind Parameter auf Projektebene aufgeführt.

RagEngineConfig
Parameter
RagManagedDbConfig.scaled Diese Stufe bietet Leistung auf Produktionsniveau sowie Autoscaling-Funktionen.
RagManagedDbConfig.basic Diese Stufe bietet eine kostengünstige und rechenarme Stufe.
RagManagedDbConfig.unprovisioned Mit diesem Tarif wird die RagManagedDb und die zugrunde liegende Spanner-Instanz gelöscht.

Beispiele für die Korpusverwaltung

In diesem Abschnitt finden Sie Beispiele für die Verwendung der API zum Verwalten Ihres RAG-Corpus.

Beispiel für das Erstellen eines RAG-Korpus

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

aus.

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

können Sie das aktive Konto prüfen.

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 Python-API-Referenzdokumentation.


from vertexai import rag
import vertexai

# TODO(developer): Update and un-comment below lines
# PROJECT_ID = "your-project-id"
# display_name = "test_corpus"
# description = "Corpus Description"

# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location="us-central1")

# Configure backend_config
backend_config = rag.RagVectorDbConfig(
    rag_embedding_model_config=rag.RagEmbeddingModelConfig(
        vertex_prediction_endpoint=rag.VertexPredictionEndpoint(
            publisher_model="publishers/google/models/text-embedding-005"
        )
    )
)

corpus = rag.create_corpus(
    display_name=display_name,
    description=description,
    backend_config=backend_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 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-Korpus können Sie jedoch nicht ändern:

  • Der Typ der Vektordatenbank. Sie können beispielsweise die Vektordatenbank nicht von Weaviate in Vertex AI Feature Store ändern.
  • Wenn Sie die Option für die verwaltete Datenbank verwenden, können Sie die Konfiguration der Vektordatenbank nicht aktualisieren.

Diese Beispiele zeigen, wie Sie einen RAG-Korpus aktualisieren.

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Ihre Projekt-ID.
  • LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
  • CORPUS_ID: Die Korpus-ID Ihres RAG-Korpus.
  • CORPUS_DISPLAY_NAME: Der Anzeigename des RAG-Korpus.
  • CORPUS_DESCRIPTION: Die Beschreibung des RAG-Korpus.
  • INDEX_NAME: Der Ressourcenname des Vektorsuchindex. Format: projects/{project}/locations/{location}/indexes/{index}.
  • INDEX_ENDPOINT_NAME: Der Ressourcenname des Vektorsuchindex-Endpunkts. 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",
  "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

können Sie das aktive Konto prüfen.

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 das Auflisten 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 vorherigen VertexRagDataService.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

können Sie das aktive Konto prüfen.

Führen Sie dazu diesen Befehl aus:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
    -Method GET `
    -Headers $headers `
    -Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora?page_size=PAGE_SIZE&page_token=PAGE_TOKEN" | Select-Object -Expand Content

Sie sollten einen erfolgreichen Statuscode (2xx) und eine Liste von RAG-Korpora unter 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 Python-API-Referenzdokumentation.


from vertexai import rag
import vertexai

# TODO(developer): Update and un-comment below lines
# PROJECT_ID = "your-project-id"

# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location="us-central1")

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

können Sie das aktive Konto prüfen.

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 in vector_db_config verwendet, das auf das von Ihnen ausgewählte Einbettungsmodell verweist.

    PROJECT_ID: Your project ID.
    LOCATION: The region to process the request.
    RAG_CORPUS_ID: The corpus ID of your RAG corpus.
  ```

```sh
  // GetRagCorpus
  // Input: LOCATION, PROJECT_ID, RAG_CORPUS_ID
  // Output: RagCorpus
  curl -X GET \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID

  // ListRagCorpora
  curl -sS -X GET \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/
  ```

Python

Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der Python-API-Referenzdokumentation.


from vertexai import rag
import vertexai

# TODO(developer): Update and un-comment below lines
# PROJECT_ID = "your-project-id"
# corpus_name = "projects/{PROJECT_ID}/locations/us-central1/ragCorpora/{rag_corpus_id}"

# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location="us-central1")

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 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

können Sie das aktive Konto prüfen.

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 Python-API-Referenzdokumentation.


from vertexai import rag
import vertexai

# TODO(developer): Update and un-comment below lines
# PROJECT_ID = "your-project-id"
# corpus_name = "projects/{PROJECT_ID}/locations/us-central1/ragCorpora/{rag_corpus_id}"

# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location="us-central1")

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.

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 das Hochladen einer RAG-Datei

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 Python-API-Referenzdokumentation.


from vertexai import rag
import vertexai

# TODO(developer): Update and un-comment below lines
# PROJECT_ID = "your-project-id"
# corpus_name = "projects/{PROJECT_ID}/locations/us-central1/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="us-central1")

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 das Importieren 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:

  1. Die Datei wurde bereits importiert.
  2. Die Datei hat sich nicht geändert.
  3. Die Blockkonfiguration für die Datei hat sich nicht geändert.

Python

from vertexai import rag
import vertexai

# TODO(developer): Update and un-comment below lines
# PROJECT_ID = "your-project-id"
# corpus_name = "projects/{PROJECT_ID}/locations/us-central1/ragCorpora/{rag_corpus_id}"
# paths = ["https://drive.google.com/file/123", "gs://my_bucket/my_files_dir"]  # Supports Cloud Storage and Google Drive Links

# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location="us-central1")

response = rag.import_files(
    corpus_name=corpus_name,
    paths=paths,
    transformation_config=rag.TransformationConfig(
        rag.ChunkingConfig(chunk_size=1024, chunk_overlap=256)
    ),
    import_result_sink="gs://sample-existing-folder/sample_import_result_unique.ndjson",  # Optional: This must be an existing Cloud Storage bucket folder, and the filename must be unique (non-existent).
    llm_parser=rag.LlmParserConfig(
      model_name="gemini-2.5-pro-preview-05-06",
      max_parsing_requests_per_min=100,
    ),  # Optional
    max_embedding_requests_per_min=900,  # Optional
)
print(f"Imported {response.imported_rag_files_count} files.")

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: Die Anzahl der Tokens überschneiden sich zwischen Blöcken.
  • EMBEDDING_MODEL_QPM_RATE: Die QPM-Rate, mit der der Zugriff von RAG auf Ihr Einbettungsmodell begrenzt werden soll. 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

können Sie das aktive Konto prüfen.

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: Die Anzahl der Tokens überschneiden sich zwischen Blöcken.
  • EMBEDDING_MODEL_QPM_RATE: Die QPM-Rate, um den Zugriff von RAGs auf Ihr Einbettungsmodell zu begrenzen. 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: Die Anzahl der Tokens überschneiden sich zwischen Blöcken.
  • EMBEDDING_MODEL_QPM_RATE: Die QPM-Rate, mit der der Zugriff von RAG auf Ihr Einbettungsmodell begrenzt werden soll. 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
  }
}'

Beispiel für das Auflisten von RAG-Dateien

Diese Codebeispiele zeigen, wie Sie RAG-Dateien 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.
  • 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 vorherigen VertexRagDataService.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

können Sie das aktive Konto prüfen.

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 Python-API-Referenzdokumentation.


from vertexai import rag
import vertexai

# TODO(developer): Update and un-comment below lines
# PROJECT_ID = "your-project-id"
# corpus_name = "projects/{PROJECT_ID}/locations/us-central1/ragCorpora/{rag_corpus_id}"

# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location="us-central1")

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

können Sie das aktive Konto prüfen.

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 Python-API-Referenzdokumentation.


from vertexai import rag
import vertexai

# TODO(developer): Update and un-comment below lines
# PROJECT_ID = "your-project-id"
# file_name = "projects/{PROJECT_ID}/locations/us-central1/ragCorpora/{rag_corpus_id}/ragFiles/{rag_file_id}"

# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location="us-central1")

rag_file = rag.get_file(name=file_name)
print(rag_file)
# Example response:
# RagFile(name='projects/1234567890/locations/us-central1/ragCorpora/11111111111/ragFiles/22222222222',
# display_name='file_display_name', description='file description')

Beispiel für das Löschen einer RAG-Datei

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

können Sie das aktive Konto prüfen.

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 Python-API-Referenzdokumentation.


from vertexai import rag
import vertexai

# TODO(developer): Update and un-comment below lines
# PROJECT_ID = "your-project-id"
# file_name = "projects/{PROJECT_ID}/locations/us-central1/ragCorpora/{rag_corpus_id}/ragFiles/{rag_file_id}"

# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location="us-central1")

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.

Beispiel für eine Abrufabfrage

Wenn ein Nutzer eine Frage stellt oder einen Prompt bereitstellt, durchsucht die Abrufkomponente in RAG in ihrer Wissensdatenbank nach relevanten Informationen.

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 Python-API-Referenzdokumentation.


from vertexai import rag
import vertexai

# TODO(developer): Update and un-comment below lines
# PROJECT_ID = "your-project-id"
# corpus_name = "projects/[PROJECT_ID]/locations/us-central1/ragCorpora/[rag_corpus_id]"

# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location="us-central1")

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="Hello World!",
    rag_retrieval_config=rag.RagRetrievalConfig(
        top_k=10,
        filter=rag.utils.resources.Filter(vector_distance_threshold=0.5),
    ),
)
print(response)
# Example response:
# contexts {
#   contexts {
#     source_uri: "gs://your-bucket-name/file.txt"
#     text: "....
#   ....

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

können Sie das aktive Konto prüfen.

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.

Beispiel für die 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-2.5-flash.
  • 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: 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 Vektorentfernung, die kleiner als der Grenzwert ist, werden zurückgegeben.
  • USER: Ihr Nutzername.

HTTP-Methode und URL:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:GENERATION_METHOD

JSON-Text der Anfrage:

{
"contents": {
  "role": "USER",
  "parts": {
    "text": "INPUT_PROMPT"
  }
},
"tools": {
  "retrieval": {
  "disable_attribution": false,
  "vertex_rag_store": {
    "rag_resources": {
      "rag_corpus": "RAG_CORPUS_RESOURCE"
    },
    "similarity_top_k": "SIMILARITY_TOP_K",
    "vector_distance_threshold": VECTOR_DISTANCE_THRESHOLD
  }
  }
}
}

Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

curl

Speichern Sie den Anfragetext in einer Datei namens „request.json“ und führen Sie den folgenden Befehl aus:

curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:GENERATION_METHOD"

Powershell

können Sie das aktive Konto prüfen.

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 Python-API-Referenzdokumentation.


from vertexai import rag
from vertexai.generative_models import GenerativeModel, Tool
import vertexai

# TODO(developer): Update and un-comment below lines
# PROJECT_ID = "your-project-id"
# corpus_name = "projects/{PROJECT_ID}/locations/us-central1/ragCorpora/{rag_corpus_id}"

# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location="us-central1")

rag_retrieval_tool = Tool.from_retrieval(
    retrieval=rag.Retrieval(
        source=rag.VertexRagStore(
            rag_resources=[
                rag.RagResource(
                    rag_corpus=corpus_name,
                    # Optional: supply IDs from `rag.list_files()`.
                    # rag_file_ids=["rag-file-1", "rag-file-2", ...],
                )
            ],
            rag_retrieval_config=rag.RagRetrievalConfig(
                top_k=10,
                filter=rag.utils.resources.Filter(vector_distance_threshold=0.5),
            ),
        ),
    )
)

rag_model = GenerativeModel(
    model_name="gemini-2.0-flash-001", 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....
#   ...

Beispiele für Projektmanagement

Die Stufe ist eine Einstellung auf Projektebene, die unter der RagEngineConfig-Ressource verfügbar ist und sich auf RAG-Korpora auswirkt, die RagManagedDb verwenden. Verwenden Sie GetRagEngineConfig, um die Konfiguration der Stufe abzurufen. Verwenden Sie UpdateRagEngineConfig, um die Stufenkonfiguration zu aktualisieren.

Weitere Informationen zum Verwalten der Stufenkonfiguration finden Sie unter Stufen verwalten.

Projektkonfiguration abrufen

Die folgenden Codebeispiele zeigen, wie Sie Ihre RagEngineConfig lesen:

Console

  1. Rufen Sie in der Google Cloud Console die Seite RAG Engine auf.

    RAG Engine aufrufen

  2. Wählen Sie die Region aus, in der Ihre RAG-Engine ausgeführt wird. Ihre Liste der RAG-Korpora wird aktualisiert.
  3. Klicken Sie auf RAG Engine konfigurieren. Der Bereich RAG Engine konfigurieren wird angezeigt. Sie können die Stufe sehen, die für Ihre RAG-Engine ausgewählt ist.
  4. Klicken Sie auf Abbrechen.

Python

from vertexai import rag
import vertexai

PROJECT_ID = YOUR_PROJECT_ID
LOCATION = YOUR_RAG_ENGINE_LOCATION

# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location=LOCATION)

rag_engine_config = rag.rag_data.get_rag_engine_config(
    name=f"projects/{PROJECT_ID}/locations/{LOCATION}/ragEngineConfig"
)

print(rag_engine_config)

REST

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}/ragEngineConfig

Projektkonfiguration aktualisieren

In diesem Abschnitt finden Sie Codebeispiele, die zeigen, wie Sie Ihre Konfiguration in eine Scaled-, Basic- oder Unprovisioned-Stufe ändern.

RagEngineConfig auf die Stufe „Scaled“ aktualisieren

Die folgenden Codebeispiele zeigen, wie Sie RagEngineConfig auf die Stufe „Scaled“ festlegen:

Console

  1. Rufen Sie in der Google Cloud Console die Seite RAG Engine auf.

    RAG Engine aufrufen

  2. Wählen Sie die Region aus, in der Ihre RAG-Engine ausgeführt wird. Ihre Liste der RAG-Korpora wird aktualisiert.
  3. Klicken Sie auf RAG Engine konfigurieren. Der Bereich RAG Engine konfigurieren wird angezeigt.
  4. Wählen Sie die Stufe aus, auf der Sie Ihre RAG Engine ausführen möchten.
  5. Klicken Sie auf Speichern.

Python

from vertexai import rag
import vertexai

PROJECT_ID = YOUR_PROJECT_ID
LOCATION = YOUR_RAG_ENGINE_LOCATION

# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location=LOCATION)

rag_engine_config_name=f"projects/{PROJECT_ID}/locations/{LOCATION}/ragEngineConfig"

new_rag_engine_config = rag.RagEngineConfig(
name=rag_engine_config_name,
rag_managed_db_config=rag.RagManagedDbConfig(tier=rag.Scaled()),
)

updated_rag_engine_config = rag.rag_data.update_rag_engine_config(
rag_engine_config=new_rag_engine_config
)

print(updated_rag_engine_config)

REST

curl -X PATCH \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/ragEngineConfig -d "{'ragManagedDbConfig': {'scaled': {}}}"

RagEngineConfig auf die Basic-Stufe aktualisieren

Die folgenden Codebeispiele zeigen, wie Sie RagEngineConfig auf die Basic-Stufe festlegen:

Console

  1. Rufen Sie in der Google Cloud Console die Seite RAG Engine auf.

    RAG Engine aufrufen

  2. Wählen Sie die Region aus, in der Ihre RAG-Engine ausgeführt wird. Ihre Liste der RAG-Korpora wird aktualisiert.
  3. Klicken Sie auf RAG Engine konfigurieren. Der Bereich RAG Engine konfigurieren wird angezeigt.
  4. Wählen Sie die Stufe aus, auf der Sie Ihre RAG Engine ausführen möchten.
  5. Klicken Sie auf Speichern.

Python

from vertexai import rag
import vertexai

PROJECT_ID = YOUR_PROJECT_ID
LOCATION = YOUR_RAG_ENGINE_LOCATION

# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location=LOCATION)

rag_engine_config_name=f"projects/{PROJECT_ID}/locations/{LOCATION}/ragEngineConfig"

new_rag_engine_config = rag.RagEngineConfig(
name=rag_engine_config_name,
rag_managed_db_config=rag.RagManagedDbConfig(tier=rag.Basic()),
)

updated_rag_engine_config = rag.rag_data.update_rag_engine_config(
rag_engine_config=new_rag_engine_config
)

print(updated_rag_engine_config)

REST

curl -X PATCH \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/ragEngineConfig -d "{'ragManagedDbConfig': {'basic': {}}}"

RagEngineConfig auf die Stufe „Nicht bereitgestellt“ aktualisieren

Die folgenden Codebeispiele zeigen, wie Sie RagEngineConfig auf die Stufe „Nicht bereitgestellt“ festlegen:

Console

  1. Rufen Sie in der Google Cloud Console die Seite RAG Engine auf.

    RAG Engine aufrufen

  2. Wählen Sie die Region aus, in der Ihre RAG-Engine ausgeführt wird. Ihre Liste der RAG-Korpora wird aktualisiert.
  3. Klicken Sie auf RAG Engine konfigurieren. Der Bereich RAG Engine konfigurieren wird angezeigt.
  4. Klicken Sie auf RAG Engine löschen. Ein Bestätigungsdialog wird geöffnet.
  5. Bestätigen Sie, dass Sie Ihre Daten in RAG Engine löschen möchten, indem Sie delete eingeben und dann auf Bestätigen klicken.
  6. Klicken Sie auf Speichern.

Python

from vertexai import rag
import vertexai

PROJECT_ID = YOUR_PROJECT_ID
LOCATION = YOUR_RAG_ENGINE_LOCATION

# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location=LOCATION)

rag_engine_config_name=f"projects/{PROJECT_ID}/locations/{LOCATION}/ragEngineConfig"

new_rag_engine_config = rag.RagEngineConfig(
  name=rag_engine_config_name,
  rag_managed_db_config=rag.RagManagedDbConfig(tier=rag.Unprovisioned()),
)

updated_rag_engine_config = rag.rag_data.update_rag_engine_config(
  rag_engine_config=new_rag_engine_config
)

print(updated_rag_engine_config)

REST

curl -X PATCH \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/ragEngineConfig -d "{'ragManagedDbConfig': {'unprovisioned': {}}}"

Nächste Schritte