Cómo usar el analizador de LLM

En esta página, se explica cómo usar el motor RAG en el analizador de LLM de Gemini Enterprise Agent Platform.

Introducción

El motor RAG 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 contenido semántico en varios formatos
  • Recuperar fragmentos de documentos pertinentes
  • Extraer información significativa de los documentos
  • Identificar secciones pertinentes en los documentos
  • Resumir con precisión documentos complejos
  • Comprender elementos visuales e interactuar con ellos
  • Extraer datos de gráficos y diagramas
  • Describir imágenes
  • Comprender las relaciones entre gráficos y texto
  • Proporcionar respuestas más precisas y ricas en contexto

Las capacidades del motor RAG mejoran significativamente la calidad de las respuestas generadas.

Modelos compatibles

Los siguientes modelos admiten el analizador de LLM del motor RAG:

Haz clic para expandir los modelos compatibles

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 Precios de Gemini Enterprise Agent Platform.

Para conocer las cuotas que se aplican, consulta Cuotas de frecuencia.

El analizador de LLM llama a los modelos de Gemini para analizar tus documentos. Esto genera costos adicionales, que se facturan 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. La página promedio de PDF tiene 500 tokens y necesitamos 100 tokens adicionales para las instrucciones. 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 el trabajo puede realizar al modelo de Agent Platform por minuto. Para obtener más información, consulta Límites de frecuencia de IA generativa en Agent Platform 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 Agent Platform para Python, consulta Instala el SDK de Agent Platform para Python. Si deseas 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 Agent Platform 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 motor RAG en el analizador de LLM de Gemini Enterprise Agent Platform 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 RAG agrega una instrucción a tu instrucción predeterminada del sistema.

Tabla de plantillas de instrucciones

Para ayudar con el análisis de documentos, en la siguiente tabla, se proporciona un ejemplo de plantilla de instrucciones para guiarte en la creación de instrucciones que el motor RAG puede usar para analizar tus documentos:

Capacitación Declaración de plantilla Ejemplo
Especifica el rol. Eres un/una [Especifica el rol, como un extractor de datos factuales o un recuperador de información]. Eres un recuperador de información.
Especifica la tarea. Extrae [Especifica el tipo de información, como declaraciones factuales , datos clave o detalles específicos] de [Especifica la fuente del documento , como un documento, texto, artículo, imagen, 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 crea 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 hecho en una lista estructurada y crea un vínculo a su página de muestra.
Destaca en qué debe enfocarse el LLM. Extrae [Especifica los tipos de datos clave, como los nombres, las fechas, los números, los atributos o las relaciones] tal como se indica. Extrae nombres y fechas.
Destaca lo que quieres que evite el LLM. [Enumera las acciones que se deben evitar, como el análisis, la interpretación, el resumen, la inferencia o la emisión de opiniones]. Extrae solo lo que dice el documento de forma explícita. No emitas opiniones. Extrae solo lo que dice el documento de forma explícita.

Guía general

Sigue estas instrucciones para escribir tu instrucción y enviarla 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.
  • Restrictiva: Indica explícitamente lo que no debe hacer la IA, como el análisis o la interpretación.
  • Clara: Usa un lenguaje claro y directivo.
  • Estructurada: Organiza las instrucciones de forma lógica con listas numeradas o viñetas para mejorar la legibilidad.

Análisis de calidad del análisis

En esta tabla, se muestran los resultados de las situaciones que los clientes ejecutaron con el motor RAG en Gemini Enterprise Agent Platform. Los comentarios muestran que el analizador de LLM mejora la calidad del análisis de documentos.

Situación Resultado
Análisis de información en diapositivas y vinculación de 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.
Comprensión y extracción de 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.
Interpretación de 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.
Extracción de datos de gráficos El analizador de LLM pudo interpretar diferentes tipos de gráficos, como los de líneas, y extraer puntos de datos específicos según la consulta.
Captura de relaciones entre encabezados y 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 con un tema o una sección en particular.
Potencial para superar las limitaciones de incorporación con la ingeniería de instrucciones Si bien inicialmente se vio obstaculizado por las limitaciones del modelo de incorporación en algunos casos de uso, experimentos adicionales demostraron que una instrucción del analizador de LLM bien diseñada 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 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 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 pertinente para la consulta. Para obtener más información sobre cómo recuperar archivos RAG de un corpus, consulta Método: ragFiles.get.

¿Qué sigue?