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

corpus_type_config

Optional: Unveränderlich.

RagCorpus.CorpusTypeConfig

Die Konfiguration zum Angeben des Korpus-Typs.

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 sich auf den RAG-Korpus beziehen. 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: RagVectorDbConfig

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}

CorpusTypeConfig
Parameter

document_corpus

oneof RagCorpus.CorpusTypeConfig.DocumentCorpus

Der Standardwert ist corpus_type_config, was einem herkömmlichen dokumentbasierten RAG-Korpus entspricht.

memory_corpus

oneof RagCorpus.CorpusTypeConfig.MemoryCorpus

Wenn Sie diesen Typ festlegen, ist der RAG-Korpus ein MemoryCorpus, der mit der Gemini Live API als Speicher verwendet werden kann.

Weitere Informationen finden Sie unter Vertex AI RAG Engine als Speichermedium verwenden.

memory_corpus.llm_parser

oneof RagFileParsingConfig.LlmParser

Der LLM-Parser, der zum Parsen und Speichern von Sitzungskontexten aus der Gemini Live API verwendet wird. Sie können Erinnerungen für die Indexierung erstellen.

RagVectorDbConfig
Parameter

rag_managed_db

oneof vector_db: RagVectorDbConfig.RagManagedDb

Wenn keine Vektordatenbank angegeben ist, ist rag_managed_db die Standardvektordatenbank.

rag_managed_db.knn

oneof retrieval_strategy: KNN

Standard.

Findet die genauen nächsten Nachbarn, indem alle Datenpunkte in Ihrem RAG-Korpus verglichen werden.

Wenn Sie beim Erstellen des RAG-Korpus keine Strategie angeben, wird standardmäßig die KNN-Abrufstrategie verwendet.

rag_managed_db.ann

oneof retrieval_strategy: ANN

tree_depth

Legt die Anzahl der Ebenen im Baum fest.

Wenn Sie O(10K) RAG-Dateien im RAG-Corpus haben, legen Sie diesen Wert auf 2 fest.
  • Wenn mehr Ebenen oder Stufen erforderlich sind, legen Sie diesen Wert auf 3 fest.
  • Wenn die Anzahl der Ebenen nicht angegeben ist, weist Vertex AI RAG Engine für diesen Parameter den Standardwert 2 zu.

leaf_count

Bestimmt die Anzahl der Blattknoten in der baumbasierten Struktur.

  • Der empfohlene Wert ist 10 * sqrt(num of RAG files in your RAG corpus).
  • Wenn nichts anderes angegeben ist, weist Vertex AI RAG Engine diesem Parameter den Standardwert 500 zu.

rebuild_ann_index

  • Die Vertex AI RAG Engine erstellt Ihren ANN-Index neu.
  • Legen Sie in Ihrer ImportRagFiles-API-Anfrage true fest.
  • Bevor Sie den RAG-Korpus abfragen, müssen Sie den ANN-Index einmal neu erstellen.
  • Pro Projekt und Standort wird nur ein gleichzeitiger Neuaufbau des Index unterstützt.

weaviate

oneof vector_db: RagVectorDbConfig.Weaviate

Gibt Ihre Weaviate-Instanz an.

weaviate.http_endpoint

string

Der HTTP-Endpunkt der Weaviate-Instanz.

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

weaviate.collection_name

string

Die Weaviate-Sammlung, der der RAG-Korpus zugeordnet ist.

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

pinecone

oneof vector_db: RagVectorDbConfig.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 sie im CreateRagCorpus-API-Aufruf leer lassen und in einem nachfolgenden UpdateRagCorpus-API-Aufruf einen nicht leeren Wert festlegen.

vertex_feature_store

oneof vector_db: RagVectorDbConfig.VertexFeatureStore

Gibt Ihre Vertex AI Feature Store-Instanz an.

vertex_feature_store.feature_view_resource_name

string

Die Vertex AI Feature Store-FeatureView, zu der der RAG-Korpus zugeordnet ist.

Format: projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}

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

vertex_vector_search

oneof vector_db: RagVectorDbConfig.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 sie 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 sie 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 Weaviate- oder Pinecone-API-Schlüssel enthält, je nachdem, welche Vektordatenbank Sie ausgewählt haben.

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

Sie können es 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.weaviate.http_endpoint

string

Der HTTP-Endpunkt der Weaviate-Instanz.

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

rag_vector_db.weaviate.collection_name

string

Die Weaviate-Sammlung, der der RAG-Korpus zugeordnet ist.

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

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_feature_store.feature_view_resource_name

string

Die Vertex AI Feature Store-FeatureView, zu der der RAG-Korpus zugeordnet ist.

Format: projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}

Wenn Ihr RagCorpus mit einer Vertex AI Feature Store-Konfiguration erstellt wurde und dieses Feld noch nie festgelegt wurde, können Sie es 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 im Secret Manager gespeichert ist und Ihren Weaviate- oder Pinecone-API-Schlüssel enthält, hängt von der von Ihnen ausgewählten Vektordatenbank ab.

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 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 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 Abfragen pro Minute, die dieser Job an das im Korpus angegebene Einbettungsmodell senden darf. Dieser Wert ist spezifisch für diesen Job und wird nicht für andere Importjobs freigegeben. 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 im Secret Manager gespeicherten Secrets, das 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.

hybrid_search.alpha

Optional: float

Der Alphawert steuert die Gewichtung zwischen den Ergebnissen der Suche mit dichten und dünnbesetzten Vektoren. Der Bereich liegt zwischen 0 und 1, wobei 0 nur die Suche nach spärlichen Vektoren und 1 nur die Suche nach dichten Vektoren bedeutet. Der Standardwert ist 0,5, wodurch die Suche nach dünn besetzten und voll besetzten Vektoren gleichmäßig gewichtet wird.

Die hybride Suche ist nur für Weaviate verfügbar.

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

Auf eine Datenquelle festgelegt, die vom Vertex AI RAG-Speicher unterstützt wird.

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

Dieses Codebeispiel zeigt, wie Sie einen RAG-Corpus erstellen.

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Ihre Projekt-ID.
  • LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
  • CORPUS_DISPLAY_NAME: Der Anzeigename von RagCorpus.
  • CORPUS_DESCRIPTION: Die Beschreibung von RagCorpus.

HTTP-Methode und URL:

POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora

JSON-Text der Anfrage:

{
  "display_name" : "CORPUS_DISPLAY_NAME",
  "description": "CORPUS_DESCRIPTION",
}

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

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

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

PowerShell

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

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

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora" | Select-Object -Expand Content
Sie sollten einen erfolgreichen Statuscode (2xx) erhalten.

Im folgenden Beispiel wird gezeigt, wie Sie mithilfe der REST API einen RAG-Korpus erstellen.

  PROJECT_ID: Your project ID.
  LOCATION: The region to process the request.
  CORPUS_DISPLAY_NAME: The display name of the <code>RagCorpus</code>.
    // CreateRagCorpus
    // Input: LOCATION, PROJECT_ID, CORPUS_DISPLAY_NAME
    // Output: CreateRagCorpusOperationMetadata
    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora \
    -d '{
          "display_name" : "CORPUS_DISPLAY_NAME"
      }'

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 von RagCorpus.
  • CORPUS_DESCRIPTION: Die Beschreibung von RagCorpus.
  • INDEX_NAME: Der Ressourcenname der Vector Search Index. Format: projects/{project}/locations/{location}/indexes/{index}
  • INDEX_ENDPOINT_NAME: Der Ressourcenname der Vector Search Index Endpoint. Format: projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}

HTTP-Methode und URL:

PATCH https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/CORPUS_ID

JSON-Text der Anfrage:

{
  "display_name" : "CORPUS_DISPLAY_NAME",
  "description": "CORPUS_DESCRIPTION",
  "rag_vector_db_config": {
     "vertex_vector_search": {
         "index": "INDEX_NAME",
         "index_endpoint": "INDEX_ENDPOINT_NAME",
     }
  }
}

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

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/CORPUS_ID"

PowerShell

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

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

Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/CORPUS_ID" | Select-Object -Expand Content
Sie sollten einen erfolgreichen Statuscode (2xx) erhalten.

Beispiel für das Auflisten von RAG-Korpora

Dieses Codebeispiel zeigt, 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 RagCorpora 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/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora?page_size=PAGE_SIZE&page_token=PAGE_TOKEN

Senden Sie die Anfrage mithilfe einer der folgenden Optionen:

curl

Führen Sie folgenden Befehl aus:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora?page_size=PAGE_SIZE&page_token=PAGE_TOKEN"

PowerShell

Führen Sie folgenden Befehl aus:

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

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora?page_size=PAGE_SIZE&page_token=PAGE_TOKEN" | Select-Object -Expand Content
Sie sollten einen erfolgreichen Statuscode (2xx) und eine Liste von RagCorpora unter dem angegebenen PROJECT_ID erhalten.

Beispiel für einen RAG-Korpus abrufen

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Ihre Projekt-ID.
  • LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
  • RAG_CORPUS_ID: Die ID der Ressource RagCorpus.

HTTP-Methode und URL:

GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID

Senden Sie die Anfrage mithilfe einer der folgenden Optionen:

curl

Führen Sie folgenden Befehl aus:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID"

PowerShell

Führen Sie folgenden Befehl aus:

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

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID" | Select-Object -Expand Content
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.
// GetRagCorpus
// Input: LOCATION, PROJECT_ID, RAG_CORPUS_ID
// Output: RagCorpus
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID

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

Beispiel für RAG-Korpus löschen

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Ihre Projekt-ID.
  • LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
  • RAG_CORPUS_ID: Die ID der Ressource RagCorpus.

HTTP-Methode und URL:

DELETE https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID

Senden Sie die Anfrage mithilfe einer der folgenden Optionen:

curl

Führen Sie folgenden Befehl aus:

curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID"

PowerShell

Führen Sie folgenden Befehl aus:

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

Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID" | Select-Object -Expand Content
Eine erfolgreiche Antwort gibt DeleteOperationMetadata zurück.

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

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  PROJECT_ID: Your project ID.
  LOCATION: The region to process the request.
  RAG_CORPUS_ID: The corpus ID of your RAG corpus.
  LOCAL_FILE_PATH: The local path to the file to be uploaded.
  DISPLAY_NAME: The display name of the RAG file.
  DESCRIPTION: The description of the RAG file.

Verwenden Sie den folgenden Befehl, um Ihre Anfrage zu senden:

  curl -X POST \
    -H "X-Goog-Upload-Protocol: multipart" \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -F metadata="{'rag_file': {'display_name':' DISPLAY_NAME', 'description':'DESCRIPTION'}}" \
    -F file=@LOCAL_FILE_PATH \
    "https://LOCATION-aiplatform.googleapis.com/upload/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:upload"

Beispiel für das Importieren von RAG-Dateien

Dateien und Ordner können aus Google Drive oder Cloud Storage importiert werden.

response.skipped_rag_files_count bezieht sich auf die Anzahl der Dateien, die beim Import übersprungen wurden. Eine Datei wird übersprungen, wenn die folgenden Bedingungen erfüllt sind:

  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.

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Ihre Projekt-ID.
  • LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
  • RAG_CORPUS_ID: Die ID der Ressource RagCorpus.
  • GCS_URIS: Eine Liste der Cloud Storage-Standorte. Beispiel: gs://my-bucket1, gs://my-bucket2.
  • CHUNK_SIZE: Optional: Anzahl der Tokens, die jeder Block haben sollte.
  • CHUNK_OVERLAP: Optional: Die Anzahl der Tokens überschneiden sich zwischen Blöcken.

HTTP-Methode und URL:

POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:import

JSON-Text der Anfrage:

{
  "import_rag_files_config": {
    "gcs_source": {
      "uris": "GCS_URIS"
    },
    "rag_file_chunking_config": {
      "chunk_size": CHUNK_SIZE,
      "chunk_overlap": CHUNK_OVERLAP
    }
  }
}

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

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:import"

PowerShell

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

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

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:import" | Select-Object -Expand Content
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: Your project ID.
  LOCATION: The region to process the request.
  RAG_CORPUS_ID: The corpus ID of your RAG corpus.
  GCS_URIS: A list of Cloud Storage locations. Example: gs://my-bucket1.
  CHUNK_SIZE: Number of tokens each chunk should have.
  CHUNK_OVERLAP: Number of tokens overlap between chunks.
  EMBEDDING_MODEL_QPM_RATE: The QPM rate to limit RAGs access to your embedding model. Example: 1000.
// ImportRagFiles
// Import a single Cloud Storage file or all files in a Cloud Storage bucket.
// Input: LOCATION, PROJECT_ID, RAG_CORPUS_ID, GCS_URIS
// Output: ImportRagFilesOperationMetadataNumber
// Use ListRagFiles to find the server-generated rag_file_id.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:import \
-d '{
  "import_rag_files_config": {
    "gcs_source": {
      "uris": "GCS_URIS"
    },
    "rag_file_chunking_config": {
      "chunk_size": CHUNK_SIZE,
      "chunk_overlap": CHUNK_OVERLAP
    },
    "max_embedding_requests_per_min": EMBEDDING_MODEL_QPM_RATE
  }
}'

// Poll the operation status.
// The response contains the number of files imported.
OPERATION_ID: The operation ID you get from the response of the previous command.
poll_op_wait OPERATION_ID

Im folgenden Beispiel wird gezeigt, wie Sie eine Datei aus Google Drive importieren. Mit dem Steuerfeld max_embedding_requests_per_min können Sie die Rate begrenzen, mit der die RAG-Engine das Einbettungsmodell während des ImportRagFiles-Indexierungsvorgangs aufruft. Der Standardwert für das Feld ist 1000 Aufrufe pro Minute.

  PROJECT_ID: Your project ID.
  LOCATION: The region to process the request.
  RAG_CORPUS_ID: The corpus ID of your RAG corpus.
  FOLDER_RESOURCE_ID: The resource ID of your Google Drive folder.
  CHUNK_SIZE: Number of tokens each chunk should have.
  CHUNK_OVERLAP: Number of tokens overlap between chunks.
  EMBEDDING_MODEL_QPM_RATE: The QPM rate to limit RAGs access to your embedding model. Example: 1000.
// ImportRagFiles
// Import all files in a Google Drive folder.
// Input: LOCATION, PROJECT_ID, RAG_CORPUS_ID, FOLDER_RESOURCE_ID
// Output: ImportRagFilesOperationMetadataNumber
// Use ListRagFiles to find the server-generated rag_file_id.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:import \
-d '{
  "import_rag_files_config": {
    "google_drive_source": {
      "resource_ids": {
        "resource_id": "FOLDER_RESOURCE_ID",
        "resource_type": "RESOURCE_TYPE_FOLDER"
      }
    },
    "max_embedding_requests_per_min": EMBEDDING_MODEL_QPM_RATE
  }
}'

// Poll the operation status.
// The response contains the number of files imported.
OPERATION_ID: The operation ID you get from the response of the previous command.
poll_op_wait OPERATION_ID

Beispiel für das Auflisten von RAG-Dateien

Dieses Codebeispiel zeigt, 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 Ressource RagCorpus.
  • PAGE_SIZE: Die Standardgröße der Listenseite Sie können die Anzahl der RagFiles anpassen, die pro Seite zurückgegeben werden sollen, indem Sie den Parameter page_size aktualisieren.
  • PAGE_TOKEN: Das Standardtoken der Listenseite Wird normalerweise mit ListRagFilesResponse.next_page_token des vorherigen VertexRagDataService.ListRagFiles-Aufrufs abgerufen.

HTTP-Methode und URL:

GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles?page_size=PAGE_SIZE&page_token=PAGE_TOKEN

Senden Sie die Anfrage mithilfe einer der folgenden Optionen:

curl

Führen Sie folgenden Befehl aus:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles?page_size=PAGE_SIZE&page_token=PAGE_TOKEN"

PowerShell

Führen Sie folgenden Befehl aus:

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

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles?page_size=PAGE_SIZE&page_token=PAGE_TOKEN" | Select-Object -Expand Content
Sie sollten einen erfolgreichen Statuscode (2xx) zusammen mit einer Liste von RagFiles unter dem angegebenen RAG_CORPUS_ID erhalten.

Beispiel für eine RAG-Datei abrufen

Dieses Codebeispiel zeigt, wie Sie eine RAG-Datei abrufen.

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Ihre Projekt-ID.
  • LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
  • RAG_CORPUS_ID: Die ID der Ressource RagCorpus.
  • RAG_FILE_ID: Die ID der Ressource RagFile.

HTTP-Methode und URL:

GET https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID

Senden Sie die Anfrage mithilfe einer der folgenden Optionen:

curl

Führen Sie folgenden Befehl aus:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID"

PowerShell

Führen Sie folgenden Befehl aus:

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

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID" | Select-Object -Expand Content
Eine erfolgreiche Antwort gibt die Ressource RagFile zurück.

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

In diesem Codebeispiel wird gezeigt, wie Sie eine RAG-Datei löschen.

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Ihre Projekt-ID.
  • LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
  • RAG_CORPUS_ID: Die ID der Ressource RagCorpus.
  • RAG_FILE_ID: Die ID der Ressource RagFile. Format: projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{rag_file_id}.

HTTP-Methode und URL:

DELETE https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID

Senden Sie die Anfrage mithilfe einer der folgenden Optionen:

curl

Führen Sie folgenden Befehl aus:

curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID"

PowerShell

Führen Sie folgenden Befehl aus:

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

Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID" | Select-Object -Expand Content
Eine erfolgreiche Antwort gibt die Ressource DeleteOperationMetadata zurück.

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.

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
  • PROJECT_ID: Ihre Projekt-ID.
  • RAG_CORPUS_RESOURCE: Name der RagCorpus-Ressource. Format: projects/{project}/locations/{location}/ragCorpora/{rag_corpus}.
  • VECTOR_DISTANCE_THRESHOLD: Es werden nur Kontexte mit einer Vektordistanz zurückgegeben, die kleiner als der Grenzwert ist.
  • TEXT: Der Abfragetext, um relevante Kontexte abzurufen.
  • SIMILARITY_TOP_K: Die Anzahl der Top-Kontexte, die abgerufen werden sollen.

HTTP-Methode und URL:

POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION:retrieveContexts

JSON-Text der Anfrage:

{
 "vertex_rag_store": {
    "rag_resources": {
      "rag_corpus": "RAG_CORPUS_RESOURCE"
    },
    "vector_distance_threshold": VECTOR_DISTANCE_THRESHOLD
  },
  "query": {
   "text": "TEXT",
   "similarity_top_k": SIMILARITY_TOP_K
  }
}

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

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

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

PowerShell

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

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

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION:retrieveContexts" | Select-Object -Expand Content
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: Name der RagCorpus-Ressource. Format: projects/{project}/locations/{location}/ragCorpora/{rag_corpus}.
  • SIMILARITY_TOP_K: Optional: Die Anzahl der Top-Kontexte, die abgerufen werden sollen.
  • VECTOR_DISTANCE_THRESHOLD: Optional: Kontexte mit einer Vektorentfernung, die kleiner als der Grenzwert ist, werden zurückgegeben.

HTTP-Methode und URL:

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

JSON-Text der Anfrage:

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

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

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

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

PowerShell

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

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

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:GENERATION_METHOD" | Select-Object -Expand Content
Eine erfolgreiche Antwort gibt den generierten Inhalt mit Zitationen zurück.

Beispiele für Projektmanagement

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

Weitere Informationen zum Verwalten Ihrer Stufenkonfiguration finden Sie unter Stufe verwalten.

Projektkonfiguration abrufen

Der folgende Beispielcode zeigt, 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/v1beta1/projects/${PROJECT_ID}/locations/${LOCATION}/ragEngineConfig

Projektkonfiguration aktualisieren

In diesem Abschnitt finden Sie Codebeispiele, die zeigen, wie Sie Ihr Tier in der Konfiguration ä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/v1beta1/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:

Wenn Sie in Ihren RAG-Korpora eine große Menge an Daten in RagManagedDb haben, kann ein Downgrade auf die Basic-Stufe aufgrund unzureichender Rechen- und Speicherkapazität fehlschlagen.

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/v1beta1/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/v1beta1/projects/${PROJECT_ID}/locations/${LOCATION}/ragEngineConfig -d "{'ragManagedDbConfig': {'unprovisioned': {}}}"

Nächste Schritte