Auf dieser Seite wird beschrieben, wie Sie Ihre RAG Engine mit der Gemini Enterprise Agent Platform Vektorsucheverbinden.
Sie können auch das Notebook „RAG Engine with Agent Platform Vector Search “ verwenden.
Einrichtung der Vektorsuche der Agent Platform
Die Vektorsuche der Agent Platform basiert auf der Vektorsuchtechnologie, die von der Google-Forschung 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 Integration mit der RAG Engine ist ein leerer Vektorsuchindex erforderlich.
Vertex AI SDK einrichten
Informationen zum Einrichten des Vertex AI SDK finden Sie unter Einrichtung.
Vektorsuchindex erstellen
Damit ein Vektorsuchindex mit Ihrem RAG-Korpus kompatibel ist, muss er die folgenden Kriterien erfüllen:
IndexUpdateMethodmussSTREAM_UPDATEsein. Weitere Informationen finden Sie unter Stream index erstellen.Der Typ der Distanzmessung muss explizit auf einen der folgenden Werte festgelegt sein:
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 Ihren Entscheidungen angepasst werden. Dadurch wird festgelegt, ob die zusätzlichen Parameter angepasst 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 Python API-Referenzdokumentation.
Vektorsuchindexendpunkt 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 Python API-Referenzdokumentation.
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 Python API-Referenzdokumentation.
Wenn Sie zum ersten Mal einen Index 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 in wenigen Sekunden verfügbar. Den Status der Indexbereitstellung können Sie in der Vektorsuche-Konsole auf dem Tab Indexendpunkte einsehen. Wählen Sie dazu den gewünschten Indexendpunkt aus.
Ermitteln Sie den Ressourcennamen Ihres Index und Indexendpunkts. Sie haben die folgenden Formate:
projects/${PROJECT_NUMBER}/locations/${LOCATION_ID}/indexes/${INDEX_ID}projects/${PROJECT_NUMBER}/locations/${LOCATION_ID}/indexEndpoints/${INDEX_ENDPOINT_ID}.
Vektorsuche der Agent Platform in der RAG Engine verwenden
Nachdem die Vektorsuche-Instanz eingerichtet wurde, folgen Sie der Anleitung in diesem Abschnitt, um die Vektorsuche-Instanz als Vektordatenbank für die RAG-Anwendung festzulegen.
Vektordatenbank festlegen, um einen RAG-Korpus zu erstellen
Wenn Sie den RAG-Korpus erstellen, geben Sie nur den vollständigen INDEX_ENDPOINT_NAME und INDEX_NAME an. Verwenden Sie für die Ressourcennamen von Index und Indexendpunkt die numerische ID. Der RAG-Korpus wird erstellt und automatisch mit dem Vektorsuchindex verknüpft. Die
Kriterien werden validiert. Wenn eine der Anforderungen nicht erfüllt ist, wird die Anfrage abgelehnt.
Python
Bevor Sie dieses Beispiel anwenden, folgen Sie der Anleitung für die Einrichtung in der Kurzanleitung zur Agent Platform: Clientbibliotheken verwenden.Python
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei der Agent Platform zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Legen Sie vor dem Ausführen von Codebeispielen die GOOGLE_CLOUD_UNIVERSE_DOMAIN Umgebung
variable auf s3nsapis.fr fest.
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
zum Importieren von Dateien aus Cloud Storage oder Google Drive in den
Vektorsuchindex. Die Dateien werden eingebettet und im Vektorsuchindex gespeichert.
REST
# TODO(developer): Update and uncomment the following lines:
# RAG_CORPUS_ID = "your-rag-corpus-id"
#
# Cloud de Confiance by S3NS 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 Python API-Referenzdokumentation.
Relevante Kontexte mit der RAG API abrufen
Nach Abschluss der Dateiimporte kann der relevante Kontext mithilfe der API RetrieveContexts 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 Python API-Referenzdokumentation.
Inhalte mit der Agent Platform Gemini API generieren
Wenn Sie Inhalte mit Gemini-Modellen generieren möchten, rufen Sie die Agent Platform API GenerateContent auf. Wenn Sie RAG_CORPUS_RESOURCE in der Anfrage angeben, ruft die API automatisch Daten aus dem Vektorsuchindex 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 Python API-Referenzdokumentation.