Estrazione del testo dai documenti
Estraete il testo da un documento complesso e altamente strutturato in un formato di file più semplice basato sul testo che potete facilmente incorporare nella vostra soluzione RAG.
L'estrazione del testo è potente per i casi d'uso in cui si desidera estrarre entità specifiche o categorie di informazioni da un documento in base alla sua struttura.
È possibile utilizzare l'API REST di estrazione del testo per estrarre il testo da un file di input memorizzato nel progetto come risorsa. L'estrazione del testo è un processo asincrono che converte un file alla volta. È possibile effettuare richieste di metodi paralleli per estrarre il testo da un insieme di documenti. I risultati dell'estrazione del testo vengono memorizzati nel progetto in uno o più file, a seconda dei formati di output specificati nella richiesta.
Prima di iniziare
Preparare i documenti come segue prima di aggiungerli al progetto:
- Rimuovere la protezione con password dal documento.
- Se il documento PDF è certificato digitalmente, convertire il documento in un altro formato di file, come DOC o DOCX.
Decidete i parametri da includere nella richiesta di estrazione del testo per adattarla al vostro caso d'uso specifico. Per ulteriori informazioni, vedere Parametri di estrazione del testo.
Procedura
Seguite questi passaggi di alto livello per estrarre il testo da un documento aziendale utilizzando l'API REST:
Aggiungere il file da cui si vuole estrarre il testo a un bucket IBM Cloud Object Storage e quindi definire una connessione dal progetto watsonx.ai all'istanza di servizio IBM Cloud Object Storage.
Il documento deve essere memorizzato come risorsa di connessione nel progetto e quindi referenziato con il suo ID di connessione. Sono supportate solo le risorse di connessione che utilizzano la coppia di chiavi di accesso e di chiavi segrete per le credenziali. Per ulteriori informazioni, vedere Aggiunta di file da referenziare dall'API.
Utilizzare il metodo Avvia una richiesta di estrazione di testo per avviare il processo di estrazione del testo.
Si noti l'ID restituito nel campo
metadata.id
. Questo ID viene utilizzato come ID di estrazione per controllare lo stato della richiesta nella fase successiva.Utilizzare la funzione Ottieni i risultati della richiesta per verificare lo stato della richiesta.
Controllare lo stato è l'unico modo per scoprire se il processo non è riuscito per qualche motivo.
Quando lo stato è
Completed
, il file di testo estratto è disponibile nel bucket IBM Cloud Object Storage specificato.Scaricare il file generato da Cloud Object Storage.
Esempio di richiesta
Il comando seguente invia una richiesta per estrarre il testo dal file retail_guidebook.pdf
e salvarlo in formato Markdown nel file 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...'
Il corpo della richiesta è il seguente:
{
"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"
}
}
Dalla risposta, copiare l'indirizzo metadata.id
, ad esempio 64162e0a-b05d-4ba6-a688-422893f58663
. Specificare questo ID nell'endpoint che si usa per controllare lo stato del processo di estrazione.
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...'
È possibile trovare la posizione dei risultati estratti nella risposta dall'attributo 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"
}
Passi successivi
Argomento principale: Estrazione del testo