Usa el analizador de LLM

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?