문서 계산 접수
from pipelinexlab import px
with px.Client(workspace="workspace_a", project="project_a") as client:
report = px.Report("source", title="Document source")
report.section("body", title="Original").attachment("pdf", pdf_path, media_type="application/pdf")
saved = client.save(report)
request = {
"schemaVersion": 1,
"kind": "document-compute",
"source": {
"target": {
"scope": {"kind": "project", "workspaceKey": "workspace_a", "projectKey": "project_a"},
"reportKey": "source", "revisionRef": str(saved.revision_ref),
},
"contentRef": pdf_ref, "size": pdf_byte_length,
},
"processor": approved_processor,
"operation": {"kind": "extract", "pages": [0], "languages": ["ar", "ja"]},
}
submission = client.submit_document_job(request, command_id="extract_1")
job = client.document_job(submission["job"]["jobRef"])pdf_path는 원본 PDF 경로입니다. pdf_ref와 pdf_byte_length는 저장된 Report의 정확한 PDF attachment 참조와 바이트 수입니다. approved_processor는 Host가 승인한 엔진의 engineKey, engineVersion, modelRefs, configurationRef를 담은 사전입니다. 실행 파일 경로나 capability를 요청에 넣을 수 없습니다. 요청 형식은 계산 요청 V1을 따르며, 의미 검증과 정규화는 Core가 수행합니다.
페이지는 0부터 시작하며 중복 없이 오름차순이어야 합니다. 추출 언어는 BCP 47 태그의 집합입니다. 번역은 operation에 kind="translate", pages, analysisRef, sourceLanguage, targetLanguage를 지정합니다. 정확한 분석 결과는 같은 Project에 보존돼 있거나 해당 Report revision에 첨부돼 있어야 합니다. 언어 필드와 실제 엔진의 지원 언어쌍은 별개입니다.
현재 새 접수는 보호된 시작 채널에서 엔진을 활성화한 단독 로컬 Host에서 지원합니다. Host 설정이 없거나 정확한 엔진이 설치돼 있지 않으면 구조화된 진단으로 거절합니다. 이 API는 모델 설치, 외부 서비스 동의나 관리형 grant를 만들어내지 않습니다. 엔진 프로세스의 종료를 확인하지 못해 Host 실행 루프가 중단된 경우에도 새 명령은 engineUnavailable로 거절합니다. 기존 명령의 조회와 동일 요청 재전송은 현재 읽기 권한 안에서 가능합니다.
호출 전에 command_id를 보관하세요. 같은 Project와 명령 ID에 같은 정규화 요청을 재전송하면 기존 작업을 반환합니다. 같은 명령 ID의 다른 요청은 PX_RUN_STATE_CONFLICT로 거절합니다. 다른 명령 ID로 같은 요청을 접수해도 기존 계산에 연결되며, 강제 재실행을 뜻하지 않습니다. 명령 ID의 이름 공간은 Project별 문서 계산 접수입니다.
응답이 끊기면 px.Error.command_id와 접수 조회를 사용합니다. 이미 접수된 같은 요청의 재조회·재전송은 현재 읽기 권한을 확인한 뒤 영수증을 먼저 읽으므로, 엔진이 비활성화돼도 접수 결과를 찾을 수 있습니다. 새 명령의 접수에는 현재 Host와 원본 검증이 필요합니다. 전송 프레임과 요청 본문은 각각 1MiB 제한을 따릅니다.
반환값은 {schemaVersion, commandId, job}의 독립된 사전 복사본입니다. jobRef는 해석하지 않는 불투명 식별자입니다. 작업 상태는 조회 시점에 따라 달라집니다. 계산 성공, 사용자 검토, Report 반영은 별도 단계이며 이 호출은 Report를 변경하지 않습니다.