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.
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.
- Permisos necesarios
- Para extraer texto de documentos, debes tener el rol de administrador o editor en un proyecto.
- Credenciales requeridas
- Crear una credencial de tarea. Una credencial de tarea es una clave API que se utiliza para autenticar trabajos de larga duración iniciados por pasos que se realizan en el procedimiento de extracción de texto. No es necesario pasar la credencial de la tarea en la solicitud de API. Para obtener más información, consulte Creación de credenciales de tarea para trabajos.
- Debe generar credenciales para autenticarse con las API de watsonx.ai. Para obtener más información, consulte Generar un token de portador.
Antes de empezar
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.
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
El siguiente diagrama muestra el flujo de trabajo que se utiliza para extraer información estructural sobre un documento empresarial con la API de extracción de texto.
Siga estos pasos de alto nivel para extraer texto de un documento empresarial mediante la API REST:
Añada el archivo del que desea extraer texto a un activo de almacenamiento conectado y, a continuación, defina una conexión desde su proyecto watsonx.ai a la instancia del servicio de almacenamiento. También puede especificar el activo de almacenamiento en el que guardar los resultados del proceso de extracción de texto.
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.
Utilice el método de la API Iniciar una solicitud de extracción de texto para iniciar el proceso de extracción. Para obtener más información sobre la solicitud de API, consulte el ejemplo de solicitud de API REST.
Observe el ID que se devuelve en el campo
metadata.id. Utilizará este ID para comprobar el estado de su solicitud en el siguiente paso.Utilice el método de la API 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 activo de almacenamiento conectado especificado.Descargue el archivo generado.
Ejemplo de solicitud de API REST
El siguiente comando envía una solicitud para extraer texto del archivo retail_guidebook.pdf almacenado en un cubo Cloud Object Storage del proyecto y guarda los resultados extraídos en la carpeta results_data .
curl -X POST \
'https://<region>.<cloud-provider-domain>/ml/v1/text/extractions?version=2024-10-18' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer ${TOKEN}'
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": "results_data"
}
},
"parameters": {
"requested_outputs": [
"assembly",
"md",
"html",
"plain_text",
"page_images",
],
"languages": [
"en"
],
"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>.<cloud-provider-domain>/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 ${TOKEN}'
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_data/assembly.html", "/results_data/assembly.json",
"/results_data/assembly.md",
"/results_data/embedded_images_assembly/*.png",
"/results_data/page_images/*.png"],
"number_pages_processed": 1,
"running_at": "2025-04-28T09:05:27.345Z",
"status": "completed"
}
Qué hacer a continuación
Ya puede utilizar los resultados de la extracción de texto como datos de base en su solución GAR. Para más detalles, consulte Añadir texto extraído a una solución RAG.