En esta página, se explica cómo usar el analizador de LLM del motor de RAG de Vertex AI.
Introducción
El motor de RAG de Vertex AI usa LLM para el análisis de documentos. Los LLM tienen la capacidad de procesar documentos de manera eficaz de las siguientes maneras:
- Comprender e interpretar el contenido semántico en varios formatos
- Recupera fragmentos de documentos relevantes.
- Extrae información significativa de los documentos.
- Identifica las secciones relevantes en los documentos.
- Resume con precisión documentos complejos.
- Comprender y también interactuar con los elementos visuales
- Extraer datos de gráficos y diagramas
- Describe imágenes.
- Comprender las relaciones entre los gráficos y el texto
- Proporcionar respuestas más precisas y contextualmente enriquecidas
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, tienes 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 Solicita cuotas.
El analizador de LLM llama a los modelos de Gemini para analizar tus documentos. Esto genera costos adicionales, que se cobran a tu proyecto. El costo se puede estimar de manera aproximada con la siguiente 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. La página promedio de PDF tiene 500 tokens y necesitamos 100 tokens adicionales para la solicitud. El resultado 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 millón 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 Google Cloud proyecto.
- 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 una instrucción personalizada que el cliente configura 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 la tarea puede realizar al modelo de Vertex AI por minuto. Para obtener más información, consulta Límites de frecuencia de 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.preview 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,
)
Mensajes
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 uses la API. Cuando solicitas que Gemini analice tus documentos, el motor de RAG de Vertex AI agrega una instrucción a la instrucción predeterminada del sistema.
Tabla de plantillas de instrucciones
Para ayudarte con el análisis de documentos, la siguiente tabla 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:
Instrucciones | Plantilla de declaración | Ejemplo |
---|---|---|
Especifica el rol. | Eres [especifica el puesto, como extractor de datos fácticos o recuperador de información]. | Eres un buscador de información. |
Especifica la tarea. | Extrae [especifica el tipo de información, como afirmaciones factuales, datos clave o detalles específicos] de la [especifica la fuente del documento, como un documento, texto, artículo, imagen o tabla]. | Extrae datos de 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 haz un vínculo a su [Especifica la ubicación de la fuente, como una página, un párrafo, una tabla o una fila]. | Presenta cada dato en una lista estructurada y agrega un vínculo 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 debes evitar, como el análisis, la interpretación, el resumen, la inferencia o la emisión de opiniones]. Extrae solo lo que el documento dice de forma explícita. | No des opiniones. Extrae solo lo que el documento dice de forma explícita. |
Guía general
Sigue estos lineamientos para escribir la instrucción que enviarás al analizador de LLM.
- Específica: Define claramente la tarea y el tipo de información que se extraerá.
- Detallada: Proporciona instrucciones detalladas sobre el formato de salida, la atribución de la fuente y el manejo de diferentes estructuras de datos.
- Limitación: Indica de forma explícita lo que la IA no debe hacer, como el análisis o la interpretación.
- Clara: Usa un lenguaje claro y directivo.
- Estructuradas: Organiza las instrucciones de forma lógica con listas numeradas o viñetas para mejorar la legibilidad.
Análisis de calidad del análisis de sintaxis
En esta tabla, se enumeran los resultados de las situaciones que ejecutaron los clientes con el motor de RAG de Vertex AI. Los comentarios muestran que el analizador de LLM mejora la calidad de los documentos de análisis.
Situación | Resultado | |
---|---|---|
Cómo analizar información en diapositivas y vincular 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. | |
Interpreta 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. | |
Extrae datos de gráficos | El analizador de LLM podría interpretar diferentes tipos de gráficos, como gráficos de líneas, y extraer datos específicos según la consulta. | |
Capta las relaciones entre los encabezados y el texto | El analizador de LLM, guiado por la instrucción, prestó atención a las estructuras de los encabezados y pudo recuperar toda la información relevante asociada con un tema o una sección en particular. | |
Posibilidad de superar las limitaciones de incorporación con la ingeniería de instrucciones | Si bien, en un principio, las limitaciones del modelo de incorporación en algunos casos de uso dificultaban el proceso, experimentos adicionales demostraron que una instrucción del analizador de LLM bien elaborada podría mitigar estos problemas y recuperar la información correcta, incluso cuando la comprensión semántica es un desafío para el modelo de incorporación por sí solo. |
El analizador de LLM mejora la capacidad del LLM de 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 ingresar 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 de RAG de un corpus según un texto de consulta, consulta Búsqueda de recuperación.
¿Qué sigue?
- Para obtener más información sobre el motor de RAG de Vertex AI, consulta Descripción general del motor de RAG de Vertex AI.
- Para obtener más información sobre el motor de RAG de Vertex AI, consulta API de Vertex AI RAG Engine.