Usa el analizador de diseño de Document AI con el motor de RAG de Vertex AI

En esta página, se presenta el analizador de diseño de Document AI y cómo se usa con el motor de RAG.

Document AI

Document AI es una plataforma de procesamiento y comprensión de documentos que toma datos no estructurados de documentos y los transforma en campos adecuados para el almacenamiento en una base de datos. Los datos estructurados son datos que puedes comprender, analizar y consumir.

Document AI se basa en productos de Vertex AI con IA generativa para ayudarte a crear aplicaciones de procesamiento de documentos escalables, de extremo a extremo y basadas en la nube. No se requiere experiencia especializada en aprendizaje automático para usar estos productos.

Analizador de diseño de Document AI

El analizador de diseño extrae elementos de contenido del documento, como texto, tablas y listas. Luego, el analizador de diseño crea fragmentos contextuales que facilitan la recuperación de información en la IA generativa y las aplicaciones de descubrimiento.

Cuando se usa para la recuperación y la generación de LLM, el diseño del documento se considera durante el proceso de fragmentación, lo que mejora la coherencia semántica y reduce el ruido en el contenido. Todo el texto de un fragmento proviene de la misma entidad de diseño, como el encabezado, el subtítulo o la lista.

Para conocer los tipos de archivos que se usan en la detección de diseño, consulta Detección de diseño por tipo de archivo.

Usa el analizador de diseño en el motor de RAG de Vertex AI

Para usar el analizador de diseño en Vertex AI RAG Engine, debes crear un corpus. Para crear un corpus, haz lo siguiente:

  1. En la consola de Google Cloud , ve a la página RAG Engine.

    Ir a RAG Engine

  2. Selecciona Crear corpus.

  3. En el campo Región, selecciona tu región.

  4. En el campo Nombre del corpus, ingresa el nombre de tu corpus.

  5. En el campo Descripción, ingresa una descripción.

  6. En la sección Datos, selecciona dónde deseas subir tus datos.

  7. Expanda la sección Opciones avanzadas.

    1. En la sección Estrategia de fragmentación, se recomiendan los siguientes tamaños predeterminados:

      • Tamaño de fragmentación: 1,024
      • Superposición de fragmentos: 256
    2. En la sección Analizador de diseño, selecciona la opción Analizador de LLM, que tiene la mayor precisión para los documentos con imágenes o gráficos.

      1. En el campo Modelo, selecciona tu modelo.

      2. Opcional: En el campo Cantidad máxima de solicitudes de análisis por minuto, ingresa la cantidad máxima de solicitudes de análisis.

      3. Opcional: En el campo Instrucción de análisis personalizada, ingresa tu instrucción de análisis.

      4. Haz clic en Continuar.

  8. En la página Configurar el almacén de vectores, haz lo siguiente:

    1. En el campo Modelo de incorporación, selecciona tu modelo de incorporación.

    2. En la sección Base de datos de vectores, selecciona tu base de datos.

  9. Haz clic en Crear corpus.

Limitaciones

La API de ImportRagFiles admite el analizador de diseño, pero se aplican las siguientes limitaciones:

  • Ingresa el tamaño máximo de archivo de 20 MB para todos los tipos de archivos.
  • Hay un máximo de 500 páginas por archivo PDF.

Se aplican las cuotas y los precios de Document AI.

Habilita la API de Document AI

Debes habilitar la API de Document AI para tu proyecto. Para obtener más información sobre cómo habilitar las API, consulta Cómo habilitar e inhabilitar servicios.

Enable the Document AI API.

Enable the API

Activa el analizador de diseño

Para activar Layout Parser, sigue estos pasos:

  1. Crea un Layout Parser siguiendo las instrucciones en Crea y administra procesadores.

    El nombre del tipo de procesador es LAYOUT_PARSER_PROCESSOR.

  2. Para habilitar Layout Parser, sigue las instrucciones en Habilita un procesador.

Tu base de conocimiento de RAG (corpus)

Si no tienes un corpus de RAG, crea uno. Por ejemplo, consulta Ejemplo de creación de un corpus RAG.

Si ya tienes un corpus de RAG, los archivos existentes que se importaron sin un analizador de diseño no se volverán a importar cuando importes archivos con el analizador de diseño. Si deseas usar un analizador de diseño con tus archivos, primero debes borrarlos. Por ejemplo, consulta el ejemplo para borrar un archivo RAG.

Importa archivos con el analizador de diseño

Los archivos y las carpetas de varias fuentes se pueden importar con el analizador de diseño.

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.

Reemplaza las siguientes variables que se usan en la muestra de código:

  • PROJECT_ID: Es el ID de tu proyecto.
  • LOCATION: Es la región para procesar la solicitud.
  • RAG_CORPUS_ID: Es el ID del recurso del corpus de RAG.
  • GCS_URIS: Es una lista de ubicaciones de Cloud Storage. Por ejemplo: "gs://my-bucket1", "gs://my-bucket2".
  • LAYOUT_PARSER_PROCESSOR_NAME: Es la ruta del recurso al procesador del analizador de diseño que se creó. Por ejemplo: "projects/{project}/locations/{location}/processors/{processor_id}".
  • CHUNK_SIZE: Opcional: Es la cantidad de tokens que debe tener cada fragmento.
from vertexai import rag
import vertexai

PROJECT_ID = YOUR_PROJECT_ID
corpus_name = "projects/{PROJECT_ID}/locations/us-central1/ragCorpora/{rag_corpus_id}"
paths = ["https://drive.google.com/file/123", "gs://my_bucket/my_files_dir"]  # Supports Cloud Storage and Google Drive.

# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location="us-central1")

response = rag.import_files(
    corpus_name=corpus_name,
    paths=paths,
    transformation_config=rag.TransformationConfig(
        rag.ChunkingConfig(chunk_size=1024, chunk_overlap=256)
    ),
    import_result_sink="gs://sample-existing-folder/sample_import_result_unique.ndjson",  # Optional: This must be an existing storage bucket folder, and the filename must be unique (non-existent).
    llm_parser=rag.LlmParserConfig(
      model_name="gemini-2.5-pro-preview-05-06",
      max_parsing_requests_per_min=100,
    ),  # Optional
    max_embedding_requests_per_min=900,  # Optional
)
print(f"Imported {response.imported_rag_files} files.")

REST

En el muestra de código, se muestra cómo importar archivos de Cloud Storage con el analizador de diseño. Para obtener más opciones de configuración, incluida la importación de archivos desde otra fuente, consulta la referencia de ImportRagFilesConfig.

Antes de usar cualquiera de los datos de la solicitud, reemplaza las siguientes variables que se usan en el muestra de código:

  • PROJECT_ID: Es el ID de tu proyecto.
  • LOCATION: Es la región para procesar la solicitud.
  • RAG_CORPUS_ID: Es el ID del recurso del corpus de RAG.
  • GCS_URIS: Es una lista de ubicaciones de Cloud Storage. Por ejemplo: "gs://my-bucket1", "gs://my-bucket2".
  • LAYOUT_PARSER_PROCESSOR_NAME: Es la ruta del recurso al procesador del analizador de diseño que se creó. Por ejemplo: "projects/{project}/locations/{location}/processors/{processor_id}".
  • CHUNK_SIZE: Opcional: Es la cantidad de tokens que debe tener cada fragmento.
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:import

Cuerpo JSON de la solicitud:

{
  "import_rag_files_config": {
    "gcs_source": {
      "uris": "GCS_URIS"
    },
    "rag_file_parsing_config": {
      "layout_parser": {
        "processor_name": "LAYOUT_PARSER_PROCESSOR_NAME"
      }
    },
    "rag_file_transformation_config": {
      "rag_file_chunking_config": {
        "fixed_length_chunking": {
          "chunk_size": CHUNK_SIZE
        }
      }
    },
  }
}

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:import"

PowerShell

Consulta de recuperación

Cuando un usuario hace una pregunta o proporciona una instrucción, 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 en función de un texto de búsqueda, consulta Consulta de recuperación.

Predicción

La predicción genera una respuesta fundamentada con los contextos recuperados. Para ver un ejemplo, consulta Generación.

¿Qué sigue?