En esta página, se presenta la integración de Vertex AI Search con el motor de RAG de Vertex AI.
Vertex AI Search proporciona una solución para recuperar y administrar datos en tus aplicaciones de RAG de Vertex AI. Cuando usas Vertex AI Search como backend de recuperación, puedes mejorar el rendimiento, la escalabilidad y la facilidad de integración.
Rendimiento y escalabilidad mejorados: La Búsqueda de Vertex AI está diseñada para controlar grandes volúmenes de datos con una latencia excepcionalmente baja. Esto se traduce en tiempos de respuesta más rápidos y un rendimiento mejorado para tus aplicaciones de RAG, en especial cuando se trata de bases de conocimiento complejas o extensas.
Administración de datos simplificada: Importa tus datos desde varias fuentes, como sitios web, conjuntos de datos de BigQuery y buckets de Cloud Storage, que pueden optimizar tu proceso de transferencia de datos.
Integración perfecta: Vertex AI proporciona integración integrada con Vertex AI Search, que te permite seleccionar Vertex AI Search como el backend de corpus para tu aplicación de RAG. Esto simplifica el proceso de integración y ayuda a garantizar una compatibilidad óptima entre los componentes.
Mejora la calidad de los resultados del LLM: Cuando usas las capacidades de recuperación de Vertex AI Search, puedes asegurarte de que tu aplicación de RAG recupere la información más relevante de tu corpus, lo que genera resultados más precisos y informativos generados por el LLM.
Vertex AI Search
Vertex AI Search combina la recuperación profunda de información, el procesamiento de lenguaje natural y las funciones más recientes del procesamiento de modelos de lenguaje extenso (LLM), lo que ayuda a comprender la intención del usuario y mostrar los resultados más relevantes para este.
Con Vertex AI Search, puedes compilar una aplicación de búsqueda con la calidad de Google usando los datos que controlas.
Configura Vertex AI Search
Para configurar una búsqueda de Vertex AI, haz lo siguiente:
Usa Vertex AI Search como backend de recuperación para el motor de RAG de Vertex AI
Una vez que se configure Vertex AI Search, sigue estos pasos para configurarlo como el backend de recuperación de la aplicación de RAG.
Configura Vertex AI Search como el backend de recuperación para crear un corpus de RAG
En estas muestras de código, se muestra cómo configurar Vertex AI Search como el backend de recuperación de un corpus de RAG.
REST
Para usar la línea de comandos y crear un corpus de RAG, haz lo siguiente:
Crea un corpus RAG
Reemplaza las siguientes variables que se usan en la muestra de código:
- PROJECT_ID: Es el ID de tu Google Cloud proyecto.
- LOCATION: Es la región para procesar la solicitud.
- DISPLAY_NAME: Es el nombre visible del corpus de RAG que deseas crear.
- ENGINE_NAME: Es el nombre completo del recurso del motor de búsqueda de Vertex AI o del almacén de datos de Vertex AI Search.
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" : "DISPLAY_NAME", "vertex_ai_search_config" : { "serving_config": "ENGINE_NAME/servingConfigs/default_search" } }'
Supervisa el progreso
Reemplaza las siguientes variables que se usan en la muestra de código:
- PROJECT_ID: Es el ID de tu Google Cloud proyecto.
- LOCATION: Es la región para procesar la solicitud.
- OPERATION_ID: Es el ID de la operación de creación del corpus de RAG.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID"
Python
Antes de probar este ejemplo, sigue las instrucciones de configuración para Python incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Python.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Cómo recuperar contextos con la API de RAG
Después de crear el corpus de RAG, se pueden recuperar contextos relevantes de la búsqueda de Vertex AI a través de la API de RetrieveContexts
.
REST
En esta muestra de código, se muestra cómo recuperar contextos con REST.
Reemplaza las siguientes variables que se usan en la muestra de código:
- PROJECT_ID: Es el ID de tu Google Cloud proyecto.
- LOCATION: Es la región para procesar la solicitud.
- RAG_CORPUS_RESOURCE: Es el nombre del recurso del corpus de RAG.
Formato:
projects/{project}/locations/{location}/ragCorpora/{rag_corpus}.
- TEXT: Es el texto de la consulta para obtener contextos relevantes.
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION:retrieveContexts" \
-d '{
"vertex_rag_store": {
"rag_resources": {
"rag_corpus": "RAG_CORPUS_RESOURCE"
}
},
"query": {
"text": "TEXT"
}
}'
Python
Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de Python.
Genera contenido con la API de Gemini de Vertex AI
REST
Para generar contenido con modelos de Gemini, realiza una llamada a la
API de GenerateContent
de Vertex AI. Cuando especificas el RAG_CORPUS_RESOURCE
en la solicitud, se recuperan datos automáticamente de Vertex AI Search.
Reemplaza las siguientes variables que se usan en el código de muestra:
- PROJECT_ID: Es el ID de tu Google Cloud proyecto.
- LOCATION: Es la región para procesar la solicitud.
- MODEL_ID: Es un modelo de LLM para la generación de contenido. Por ejemplo,
gemini-1.5-flash-002
. - GENERATION_METHOD: Es el método LLM para la generación de contenido.
Por ejemplo:
generateContent
,streamGenerateContent
. - INPUT_PROMPT: Es el texto que se envía al LLM para la generación de contenido. Intenta usar una instrucción relevante para los documentos en Vertex AI Search.
- RAG_CORPUS_RESOURCE: Es el nombre del recurso del corpus de RAG. Formato:
projects/{project}/locations/{location}/ragCorpora/{rag_corpus}
. SIMILARITY_TOP_K: Opcional: Es la cantidad de contextos principales que se recuperarán.
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/publishers/google/models/MODEL_ID:GENERATION_METHOD" \ -d '{ "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 } } } }'
Python
Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de Python.