En esta página, se explica cómo usar el analizador de LLM del motor de RAG de Vertex AI.
Introducción
Vertex AI RAG Engine usa LLMs para el análisis de documentos. Los LLM pueden procesar documentos de manera eficaz de las siguientes maneras:
- Comprender e interpretar contenido semántico en varios formatos
- Recupera fragmentos de documentos relevantes.
- Extraer información significativa de documentos
- Identificar las secciones pertinentes en los documentos
- Resumir con precisión documentos complejos
- Comprender los elementos visuales e interactuar con ellos
- Extraer datos de gráficos y diagramas
- Describir imágenes
- Comprende las relaciones entre los gráficos y el texto.
- Proporcionar respuestas más precisas y enriquecidas con contexto
Las capacidades del motor de RAG de Vertex AI mejoran significativamente la calidad de las respuestas generadas.
Modelos compatibles
El analizador de LLM solo admite modelos de Gemini. Si tienes habilitada la API de RAG, tendrás acceso a los modelos compatibles. Para obtener una lista de los modelos de generación compatibles, consulta Modelos generativos.
Tipos de archivos admitidos
El analizador de LLM admite los siguientes tipos de archivos:
application/pdf
image/png
image/jpeg
image/webp
image/heic
image/heif
Precios y cuotas
Para obtener detalles sobre los precios, consulta los precios de Vertex AI.
Para conocer las cuotas que se aplican, consulta Cuotas de solicitudes.
El analizador de LLM llama a los modelos de Gemini para analizar tus documentos. Esto genera costos adicionales que se cargan a tu proyecto. El costo se puede estimar aproximadamente con esta fórmula:
cost = number_of_document_files * average_pages_per_document * (average_input_tokens * input_token_pricing_of_selected_model + average_output_tokens * output_token_pricing_of_selected_model)
Por ejemplo, tienes 1,000 archivos PDF y cada uno tiene 50 páginas. Una página PDF promedio tiene 500 tokens, y necesitamos 100 tokens adicionales para las instrucciones. La salida promedio es de 100 tokens.
Gemini 2.0 Flash-Lite se usa en tu configuración para el análisis, y cuesta USD 0.075 por 1 M de tokens de entrada y USD 0.3 por tokens de texto de salida.
cost = 1,000 * 50 * (600 * 0.075 / 1M + 100 * 0.3 / 1M) = 3.75
El costo es de USD 3.75.
Importa archivos con LlmParser
habilitado
Reemplaza los valores de las siguientes variables que se usan en las muestras de código:
- PROJECT_ID: Es el ID de tu proyecto de Google Cloud .
- LOCATION: Es la región en la que se procesa tu solicitud.
- RAG_CORPUS_RESOURCE: Es el ID de tu corpus.
- GCS_URI: Es el URI de Cloud Storage de los archivos que deseas importar.
- GOOGLE_DRIVE_URI: Es el URI de Google Drive de los archivos que deseas importar.
- MODEL_NAME: Es el nombre del recurso del modelo que se usa para el análisis.
Formato:
projects/{project_id}/locations/{location}/publishers/google/models/{model_id}
- CUSTOM_PARSING_PROMPT: Opcional: Es la instrucción personalizada que configura el cliente para que el analizador de LLM la use para analizar documentos.
MAX_PARSING_REQUESTS_PER_MIN: Opcional: Es la cantidad máxima de solicitudes que el trabajo puede realizar al modelo de Vertex AI por minuto. Para obtener más información, consulta Límites de frecuencia de la IA generativa en Vertex AI y la página Cuotas y límites del sistema de tu proyecto para establecer un valor adecuado.
REST
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/ragCorpora/RAG_CORPUS_RESOURCE/ragFiles:import" -d '{
"import_rag_files_config": {
"gcs_source": {
"uris": ["GCS_URI", "GOOGLE_DRIVE_URI"]
},
"rag_file_chunking_config": {
"chunk_size": 512,
"chunk_overlap": 102
},
"rag_file_parsing_config": {
"llm_parser": {
"model_name": "MODEL_NAME",
"custom_parsing_prompt": "CUSTOM_PARSING_PROMPT"
"max_parsing_requests_per_min": "MAX_PARSING_REQUESTS_PER_MIN"
}
}
}
}'
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. Para obtener más información, consulta la documentación de referencia de la API de Python.
from vertexai import rag
import vertexai
PROJECT_ID = "PROJECT_ID"
CORPUS_NAME = "RAG_CORPUS_RESOURCE"
LOCATION = "LOCATION"
MODEL_ID = "MODEL_ID"
MODEL_NAME = "projects/{PROJECT_ID}/locations/{LOCATION}/publishers/google/models/{MODEL_ID}"
MAX_PARSING_REQUESTS_PER_MIN = MAX_PARSING_REQUESTS_PER_MIN # Optional
CUSTOM_PARSING_PROMPT = "Your custom prompt" # Optional
PATHS = ["https://drive.google.com/file/123", "gs://my_bucket/my_files_dir"]
# Initialize Vertex AI API once per session
vertexai.init(project={PROJECT_ID}, location={LOCATION})
transformation_config = rag.TransformationConfig(
chunking_config=rag.ChunkingConfig(
chunk_size=1024, # Optional
chunk_overlap=200, # Optional
),
)
llm_parser_config = rag.LlmParserConfig(
model_name = MODEL_NAME,
max_parsing_requests_per_min=MAX_PARSING_REQUESTS_PER_MIN, # Optional
custom_parsing_prompt=CUSTOM_PARSING_PROMPT, # Optional
)
rag.import_files(
CORPUS_NAME,
PATHS,
llm_parser=llm_parser_config,
transformation_config=transformation_config,
)
Instrucciones
El analizador de LLM del motor de RAG de Vertex AI usa una instrucción predefinida y ajustada para analizar documentos. Sin embargo, si tienes documentos especializados que podrían no ser adecuados para una instrucción general, tienes la opción de especificar tu instrucción de análisis personalizada cuando usas la API. Cuando solicitas a Gemini que analice tus documentos, el motor de RAG de Vertex AI agrega una instrucción a tu instrucción del sistema predeterminada.
Tabla de plantillas de instrucciones
Para ayudarte con el análisis de documentos, en la siguiente tabla, se proporciona un ejemplo de plantilla de instrucción para guiarte en la creación de instrucciones que el motor de RAG de Vertex AI puede usar para analizar tus documentos:
Instrucción | Declaración de la plantilla | Ejemplo |
---|---|---|
Especifica el rol. | Eres un [especifica el rol, como un extractor de datos fácticos o un recuperador de información]. | Eres un recuperador de información. |
Especifica la tarea. | Extrae [especifica el tipo de información, como declaraciones fácticas, datos clave o detalles específicos] de [especifica la fuente del documento, como un documento, texto, artículo, imagen o tabla]. | Extrae datos clave del archivo sample.txt. |
Explica cómo quieres que el LLM genere el resultado según tus documentos. | Presenta cada hecho en un [Especifica el formato de salida, como una lista estructurada o un formato de texto] y vincula a su [Especifica la ubicación de la fuente, como una página, un párrafo, una tabla o una fila]. | Presenta cada hecho en una lista estructurada y vincula a su página de ejemplo. |
Destaca lo que debería ser el enfoque del LLM. | Extrae [Especifica los tipos de datos clave, como los nombres, las fechas, los números, los atributos o las relaciones] exactamente como se indica. | Extrae nombres y fechas. |
Destaca lo que quieres que evite el LLM. | [Enumera las acciones que se deben evitar, como analizar, interpretar, resumir, inferir o dar opiniones]. Extrae solo lo que dice el documento de forma explícita. | No dar opiniones Extrae solo lo que dice el documento de forma explícita. |
Guía general
Sigue estos lineamientos para escribir la instrucción que enviarás al analizador de LLM.
- Específico: Define claramente la tarea y el tipo de información que se extraerá.
- Detalladas: Proporciona instrucciones detalladas sobre el formato de salida, la atribución de la fuente y el manejo de diferentes estructuras de datos.
- Restricción: Indica explícitamente lo que la IA no debe hacer, como análisis o interpretaciones.
- Claro: Usa un lenguaje claro y directo.
- Estructurado: Organiza las instrucciones de forma lógica con listas numeradas o viñetas para facilitar la lectura.
Análisis de la calidad del análisis
En esta tabla, se enumeran los resultados de las situaciones que los clientes ejecutaron con el motor de RAG de Vertex AI. Los comentarios muestran que el analizador de LLM mejora la calidad del análisis de documentos.
Situación | Resultado | |
---|---|---|
Analiza la información en las diapositivas y vincula las secciones | El analizador de LLM vinculó correctamente los títulos de las secciones de una diapositiva con la información detallada que se presenta en las diapositivas posteriores. | |
Comprender y extraer información de tablas | El analizador de LLM relacionó correctamente las columnas y los encabezados dentro de una tabla grande para responder preguntas específicas. | |
Cómo interpretar diagramas de flujo | El analizador de LLM pudo seguir la lógica de un diagrama de flujo y extraer la secuencia correcta de acciones y la información correspondiente. | |
Cómo extraer datos de gráficos | El analizador de LLM podría interpretar diferentes tipos de gráficos, como los de líneas, y extraer puntos de datos específicos según la búsqueda. | |
Cómo capturar las relaciones entre los encabezados y el texto | El analizador de LLM, guiado por la instrucción, prestó atención a las estructuras de encabezado y pudo recuperar toda la información pertinente asociada a un tema o sección en particular. | |
Potencial para superar las limitaciones de la incorporación con la ingeniería de instrucciones | Si bien, en un principio, se vio obstaculizado por las limitaciones del modelo de incorporación en algunos casos de uso, los experimentos adicionales demostraron que una instrucción de análisis del LLM bien elaborada podría mitigar estos problemas y recuperar la información correcta incluso cuando la comprensión semántica es difícil solo para el modelo de incorporación. |
El analizador de LLM mejora la capacidad del LLM para comprender y razonar sobre el contexto dentro de un documento, lo que genera respuestas más precisas y completas.
Consulta de recuperación
Después de que ingresas una instrucción que se envía a un modelo de IA generativa, el componente de recuperación en RAG busca en su base de conocimiento la información relevante para la consulta. Para ver un ejemplo de cómo recuperar archivos RAG de un corpus en función de un texto de búsqueda, consulta Consulta de recuperación.
¿Qué sigue?
- Para obtener más información sobre Vertex AI RAG Engine, consulta la descripción general de Vertex AI RAG Engine.
- Para obtener más información sobre el motor de RAG de Vertex AI, consulta la API del motor de RAG de Vertex AI.