문서에서 텍스트 추출
복잡하고 고도로 구조화된 문서에서 텍스트를 추출하여 RAG 솔루션에 쉽게 통합할 수 있는 간단한 텍스트 기반 파일 형식으로 변환하세요.
텍스트 추출 REST API를 사용하여 프로젝트에 에셋으로 저장된 입력 파일에서 텍스트를 추출할 수 있습니다. 텍스트 추출은 한 번에 하나의 파일을 변환하는 비동기 프로세스입니다. 병렬 메서드 요청을 통해 문서 집합에서 텍스트를 추출할 수 있습니다. 텍스트 추출 결과는 요청에 지정한 출력 형식에 따라 하나 또는 여러 개의 파일로 프로젝트에 저장됩니다.
- 필수 권한
- 문서에서 텍스트를 추출하려면 프로젝트에서 관리자 또는 편집자 역할이 있어야 합니다.
- 필수 자격 증명
- watsonx.ai 의 API를 인증하려면 자격 증명을 생성해야 합니다. 자세한 내용은 베어러 토큰 생성을 참조하십시오.
시작하기 전에
관리자는 문서를 처리하는 머신 러닝 모델 세트를 설치해야 합니다. 필수 모델 세트의 ID는
wdu입니다.문서를 프로젝트에 추가하기 전에 다음과 같이 준비하세요:
- 문서에서 비밀번호 보호 기능을 제거하세요.
- PDF 문서가 디지털 인증된 경우, 해당 문서를 DOC 또는 DOCX 과 같은 다른 파일 형식으로 변환하십시오.
특정 사용 사례에 맞게 텍스트 추출 요청에 포함할 매개변수를 결정하세요. 자세한 내용은 텍스트 추출 매개변수를 참조하세요.
프로시저
다음 다이어그램은 텍스트 추출 API로 비즈니스 문서의 구조적 정보를 추출하는 데 사용하는 워크플로우를 보여줍니다.
REST API를 사용하여 비즈니스 문서에서 텍스트를 추출하려면 다음 개략적인 단계를 따르세요:
텍스트를 추출할 파일을 저장소 에셋에 추가합니다. 텍스트 추출 프로세스의 결과를 저장할 저장소 자산을 지정할 수도 있습니다.
다음 저장소 유형을 사용할 수 있습니다:
- 연결된 스토리지 자산
문서 또는 텍스트 추출 결과를 프로젝트에 연결 자산으로 저장한 다음 연결 ID로 API에서 파일을 참조하세요. 자격 증명에 액세스 키와 비밀 키 쌍을 사용하는 연결 자산만 지원됩니다. 자세한 내용은 API에서 참조할 파일 추가하기를 참조하세요.
- 프로젝트 또는 배포 공간의 컨테이너
입력 문서와 텍스트 추출 결과를 배포 공간이나 프로젝트의 컨테이너에 저장하려면 에셋 파일 API를 사용하여 입력 파일을 직접 업로드하세요. 자세한 내용은 데이터 및 AI 공통 핵심 소프트웨어 API 설명서를 참조하세요.
입력 파일과 추출 결과는 다음과 같이 API에서 파일 경로로 참조됩니다:
"document_reference": { "type": "container", "location": { "path": "dummy_path/ibm-annual-report-2024-pt1_1-20-1.pdf" } }, "results_reference": { "type": "container", "location": { "path": "dummy_path/results/" } }
텍스트 추출 요청 시작 API 메서드를 사용하여 추출 프로세스를 시작합니다. API 요청에 대한 자세한 내용은 REST API 요청 예시를 참조하세요.
metadata.id필드에 반환되는 ID를 기록해 두세요. 이 ID를 사용하여 다음 단계에서 요청 상태를 확인합니다.요청 결과 가져오기 API 메서드를 사용하여 요청 상태를 확인할 수 있습니다.
상태를 확인해야만 어떤 이유로 프로세스가 실패했는지 확인할 수 있습니다.
상태가
completed인 경우 추출된 텍스트 파일은 지정된 연결된 스토리지 자산에서 사용할 수 있습니다.생성된 파일을 다운로드합니다. 배포 공간 또는 프로젝트의 컨테이너에서 생성된 결과의 경우 에셋 파일 API를 사용하여 텍스트 추출 요청의 결과를 다운로드할 수 있습니다.
REST API 요청 예제
다음 명령은 프로젝트의 Cloud Object Storage 버킷에 저장된 retail_guidebook.pdf 파일에서 텍스트 추출 요청을 제출하고 추출된 결과를 results_data 폴더에 저장합니다.
curl -X POST \
'https://cpd-<namespace-name>.apps.<OCP-domain>/ml/v1/text/extractions?version=2024-10-18' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer ${TOKEN}'
요청 본문은 다음과 같습니다:
{
"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"
}
}
응답에서 64162e0a-b05d-4ba6-a688-422893f58663 과 같은 metadata.id 을 복사합니다. 추출 프로세스의 상태를 확인하는 데 사용하는 엔드포인트에 이 ID를 지정하세요.
curl -X GET \
'https://cpd-<namespace-name>.apps.<OCP-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}'
추출된 결과의 위치는 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"
}
다음에 수행할 내용
텍스트 추출 결과를 RAG 솔루션의 근거 데이터로 사용할 준비가 되었습니다. 자세한 내용은 RAG 솔루션에 추출된 텍스트 추가하기를 참조하세요.