0 / 0

Extracción de texto de documentos

Última actualización: 03 may 2025
Extracción de texto de documentos

Extraiga texto de un documento complejo y altamente estructurado a un formato de archivo basado en texto más sencillo que pueda incorporar fácilmente a su solución RAG.

La extracción de texto es muy útil en los casos en los que se desea extraer entidades o categorías de información específicas de un documento basándose en su estructura.

Puede utilizar la API REST de extracción de texto para extraer texto de un archivo de entrada almacenado en su proyecto como activo. La extracción de texto es un proceso asíncrono que convierte un archivo cada vez. Puede realizar solicitudes de métodos paralelos para extraer texto de un conjunto de documentos. Los resultados de la extracción de texto se almacenan en su proyecto en uno o varios archivos en función de los formatos de salida que especifique en su solicitud.

Antes de empezar

  1. Prepare sus documentos como se indica a continuación antes de añadirlos a su proyecto:

    • Elimine cualquier protección por contraseña de su documento.
    • Si su documento PDF está certificado digitalmente, conviértalo a otro formato de archivo, como DOC o DOCX.
  2. Decida los parámetros que incluirá en su solicitud de extracción de texto para adaptarla a su caso de uso específico. Para más detalles, consulte Parámetros de extracción de texto.

Procedimiento

Siga estos pasos de alto nivel para extraer texto de un documento empresarial mediante la API REST:

  1. Añada el archivo del que desea extraer el texto a un bucket de IBM Cloud Object Storage y, a continuación, defina una conexión desde su proyecto watsonx.ai a la instancia de servicio IBM Cloud Object Storage.

    Su documento debe ser almacenado como un activo de conexión en su proyecto, y luego referenciado por su ID de conexión. Sólo se admiten activos de conexión que utilicen el par de claves Access y Secret para las credenciales. Para más detalles, consulte Añadir archivos a los que hacer referencia desde la API.

  2. Utilice el método Iniciar una solicitud de extracción de texto para iniciar el proceso de extracción de texto.

    Observe el ID que se devuelve en el campo metadata.id . Utilice este ID como ID de extracción para comprobar el estado de su solicitud en el siguiente paso.

  3. Utilice la opción Obtener los resultados de la solicitud para comprobar el estado de su solicitud.

    Comprobar el estado es la única manera de saber si el proceso ha fallado por algún motivo.

    Cuando el estado es Completed, el archivo de texto extraído está disponible en el cubo IBM Cloud Object Storage especificado.

  4. Descargue el archivo generado de Cloud Object Storage.

Ejemplo de solicitud

El siguiente comando envía una solicitud para extraer texto del archivo retail_guidebook.pdf y guardarlo en formato Markdown en el archivo output_retail.md.

curl -X POST \
  'https://{region}.ml.cloud.ibm.com/ml/v1/text/extractions?version=2024-10-18' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer eyJraWQiOi...'

El cuerpo de la solicitud es el siguiente

{
    "project_id": "e40e5895-ce4d-42a3-b699-8ac764b89a09",
    "document_reference": {
      "type": "connection_asset",
      "connection": {
        "id": "5c0cefce-da57-408b-b47d-58f7785de3ee"
      },
      "location": {
        "bucket":"my-cloud-object-storage-bucket",
        "file_name": "retail_guidebook.pdf"
      }
    },
    "results_reference": {
      "type": "connection_asset",
      "connection": {
        "id": "5c0cefce-da57-408b-b47d-58f7785de3ee"
      },
      "location": {
        "bucket":"my-cloud-object-storage-bucket",
        "file_name": "output_retail.md"
      }
    },
    "parameters": {
      "requested_outputs": {
        "languages_list": [
          "assembly",
          "md"
        ]
      },
      "mode": "standard",
      "ocr_mode": "enabled",
      "create_embedded_images": "disabled"
    }
  }

De la respuesta, copie la dirección metadata.id, como 64162e0a-b05d-4ba6-a688-422893f58663. Especifique este ID en el endpoint que utilice para comprobar el estado del proceso de extracción.

curl -X GET \
  'https://{region}.ml.cloud.ibm.com/ml/v1/text/extractions/64162e0a-b05d-4ba6-a688-422893f58663?project_id=e40e5895-ce4d-42a3-b699-8ac764b89a09&version=2024-09-23' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer eyJraWQiOi...'

Puede encontrar la ubicación de los resultados extraídos en la respuesta a partir del atributo results :

"results": {
  "completed_at": "2025-04-28T09:05:42.880Z",
  "location": ["/results_data1/assembly.html", "/results_data1/assembly.json",
               "/results_data1/assembly.md",
               "/results_data1/embedded_images_assembly/*.png",
               "/results_data1/page_images/*.png", "/results_data1/tables.json"],
  "number_pages_processed": 1,
  "running_at": "2025-04-28T09:05:27.345Z",
  "status": "completed"
}

Próximos pasos

Tema principal: Extracción de texto