Auf dieser Seite wird beschrieben, wie Sie Ihre RAG-Engine mit der Vektorsuche der Gemini Enterprise Agent Platform verbinden.
Sie können auch das Notebook RAG Engine mit Agent Platform-Vektorsuche verwenden.
Einrichtung der Vektorsuche auf der Agent Platform
Die Vektorsuche der Agent Platform basiert auf der Vektorsuchtechnologie, die von Google Research entwickelt wurde. Mit der Vektorsuche können Sie dieselbe Infrastruktur nutzen, die eine Grundlage für Google-Produkte wie die Google Suche, YouTube und Google Play bietet.
Für die Einbindung in die RAG Engine ist ein leerer Vektorsuchindex erforderlich.
Vertex AI SDK einrichten
Informationen zum Einrichten des Vertex AI SDK finden Sie unter Einrichtung.
Vektorsuchindex erstellen.
Wenn Sie einen Vektorsuchindex erstellen möchten, der mit Ihrem RAG-Korpus kompatibel ist, muss der Index die folgenden Kriterien erfüllen:
IndexUpdateMethodmussSTREAM_UPDATEsein, siehe Streamindex erstellen.Der Distanzmessungstyp muss explizit auf einen der folgenden Werte festgelegt werden:
DOT_PRODUCT_DISTANCECOSINE_DISTANCE
Die Dimension des Vektors muss mit dem Einbettungsmodell übereinstimmen, das Sie im RAG-Korpus verwenden möchten. Andere Parameter können basierend auf Ihrer Auswahl optimiert werden. Dadurch wird bestimmt, ob die zusätzlichen Parameter optimiert werden können.
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 API-Referenzdokumentation zu Python.
Vektorsuchindex-Endpunkt erstellen
Öffentliche Endpunkte werden von der RAG Engine unterstützt.
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 API-Referenzdokumentation zu Python.
Index auf einem Indexendpunkt bereitstellen
Bevor wir die Suche nach dem nächsten Nachbarn durchführen, muss der Index auf einem Indexendpunkt bereitgestellt werden.
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 API-Referenzdokumentation zu Python.
Wenn Sie einen Index zum ersten Mal auf einem Indexendpunkt bereitstellen, dauert es etwa 30 Minuten, bis das Backend automatisch erstellt und initiiert wird, bevor der Index gespeichert werden kann. Nach der ersten Bereitstellung ist der Index innerhalb von Sekunden bereit. Wenn Sie den Status der Indexbereitstellung sehen möchten, öffnen Sie die Vektorsuche-Konsole, wählen Sie den Tab Indexendpunkte aus und wählen Sie Ihren Indexendpunkt aus.
Ermitteln Sie den Ressourcennamen Ihres Index und Indexendpunkts, die die folgenden Formate haben:
projects/${PROJECT_NUMBER}/locations/${LOCATION_ID}/indexes/${INDEX_ID}projects/${PROJECT_NUMBER}/locations/${LOCATION_ID}/indexEndpoints/${INDEX_ENDPOINT_ID}.
Agent Platform-Vektorsuche in der RAG Engine verwenden
Nachdem die Vektorsuchinstanz eingerichtet wurde, führen Sie die Schritte in diesem Abschnitt aus, um die Vektorsuchinstanz als Vektordatenbank für die RAG-Anwendung festzulegen.
Vektordatenbank zum Erstellen eines RAG-Korpus festlegen
Geben Sie beim Erstellen des RAG-Korpus nur die vollständigen INDEX_ENDPOINT_NAME und INDEX_NAME an. Verwenden Sie die numerische ID für die Ressourcennamen des Index und des Indexendpunkts. Der RAG-Korpus wird erstellt und automatisch mit dem Vektorsuchindex verknüpft. Die Validierungen werden anhand der Kriterien durchgeführt. Wenn eine der Anforderungen nicht erfüllt ist, wird die Anfrage abgelehnt.
Python
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Python in der Kurzanleitung zur Verwendung von Clientbibliotheken für die Agent Platform.
Richten Sie zur Authentifizierung bei der Agent Platform Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
REST
# TODO(developer): Update and un-comment the following lines:
# CORPUS_DISPLAY_NAME = "YOUR_CORPUS_DISPLAY_NAME"
# Full index/indexEndpoint resource name
# Index: projects/${PROJECT_NUMBER}/locations/${LOCATION_ID}/indexes/${INDEX_ID}
# IndexEndpoint: projects/${PROJECT_NUMBER}/locations/${LOCATION_ID}/indexEndpoints/${INDEX_ENDPOINT_ID}
# INDEX_RESOURCE_NAME = "YOUR_INDEX_ENDPOINT_RESOURCE_NAME"
# INDEX_NAME = "YOUR_INDEX_RESOURCE_NAME"
# Call CreateRagCorpus API to create a new RagCorpus
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://${LOCATION_ID}-aiplatform.googleapis.com/v1beta1/projects/${PROJECT_NUMBER}/locations/${LOCATION_ID}/ragCorpora -d '{
"display_name" : '\""${CORPUS_DISPLAY_NAME}"\"',
"rag_vector_db_config" : {
"vertex_vector_search": {
"index":'\""${INDEX_NAME}"\"'
"index_endpoint":'\""${INDEX_ENDPOINT_NAME}"\"'
}
}
}'
# Call ListRagCorpora API to verify the RagCorpus is created successfully
curl -sS -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://${LOCATION_ID}-aiplatform.googleapis.com/v1beta1/projects/${PROJECT_NUMBER}/locations/${LOCATION_ID}/ragCorpora"
Dateien mit der RAG API importieren
Verwenden Sie die ragFiles.import-API-Methode, um Dateien aus Cloud Storage oder Google Drive in den Vektorsuchindex zu importieren. Die Dateien werden eingebettet und im Vektorsuchindex gespeichert.
REST
# TODO(developer): Update and uncomment the following lines:
# RAG_CORPUS_ID = "your-rag-corpus-id"
#
# Google Cloud Storage bucket/file location.
# For example, "gs://rag-fos-test/"
# GCS_URIS= "your-gcs-uris"
# Call ImportRagFiles API to embed files and store in the BigQuery table
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://us-central1-aiplatform.googleapis.com/v1beta1/projects/${PROJECT_NUMBER}/locations/us-central1/ragCorpora/${RAG_CORPUS_ID}/ragFiles:import \
-d '{
"import_rag_files_config": {
"gcs_source": {
"uris": '\""${GCS_URIS}"\"'
},
"rag_file_chunking_config": {
"chunk_size": 512
}
}
}'
# Call ListRagFiles API to verify the files are imported successfully
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://us-central1-aiplatform.googleapis.com/v1beta1/projects/${PROJECT_NUMBER}/locations/us-central1/ragCorpora/${RAG_CORPUS_ID}/ragFiles
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 API-Referenzdokumentation zu Python.
Relevante Kontexte mit der RAG API abrufen
Nach Abschluss der Dateiimporte kann der relevante Kontext mithilfe der RetrieveContexts API aus dem Vektorsuchindex abgerufen werden.
REST
# TODO(developer): Update and uncomment the following lines:
# RETRIEVAL_QUERY="your-retrieval-query"
#
# Full RAG corpus resource name
# Format:
# "projects/${PROJECT_NUMBER}/locations/us-central1/ragCorpora/${RAG_CORPUS_ID}"
# RAG_CORPUS_RESOURCE="your-rag-corpus-resource"
# Call RetrieveContexts API to retrieve relevant contexts
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://us-central1-aiplatform.googleapis.com/v1beta1/projects/${PROJECT_NUMBER}/locations/us-central1:retrieveContexts \
-d '{
"vertex_rag_store": {
"rag_resources": {
"rag_corpus": '\""${RAG_CORPUS_RESOURCE}"\"',
},
},
"query": {
"text": '\""${RETRIEVAL_QUERY}"\"',
"similarity_top_k": 10
}
}'
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 API-Referenzdokumentation zu Python.
Inhalte mit der Agent Platform Gemini API generieren
Wenn Sie Inhalte mit Gemini-Modellen generieren möchten, rufen Sie die GenerateContent API der Agent Platform auf. Wenn Sie den RAG_CORPUS_RESOURCE in der Anfrage angeben, ruft die API automatisch Daten aus dem Vektorsuche-Index ab.
REST
# TODO(developer): Update and uncomment the following lines:
# MODEL_ID=gemini-2.5-flash
# GENERATE_CONTENT_PROMPT="your-generate-content-prompt"
# GenerateContent with contexts retrieved from the FeatureStoreOnline index
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" https://us-central1-aiplatform.googleapis.com/v1beta1/projects/${PROJECT_NUMBER}/locations/us-central1/publishers/google/models/${MODEL_ID}:generateContent \
-d '{
"contents": {
"role": "user",
"parts": {
"text": '\""${GENERATE_CONTENT_PROMPT}"\"'
}
},
"tools": {
"retrieval": {
"vertex_rag_store": {
"rag_resources": {
"rag_corpus": '\""${RAG_CORPUS_RESOURCE}"\"',
},
"similarity_top_k": 8,
"vector_distance_threshold": 0.32
}
}
}
}'
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 API-Referenzdokumentation zu Python.