PDF 문서 파싱 및 정보 추출을 위한 API 서버입니다. 이 서비스는 PDF 문서를 분석하여 테이블, 이미지, 텍스트 등의 요소를 추출하고 구조화된 형태로 제공합니다.
docker run -d \
--name teddynote-parser-api \
-p 9990:9990 \
-e UPSTAGE_API_KEY=your_upstage_api_key \
-e OPENAI_API_KEY=your_openai_api_key \
-e PORT=9990 \
-e RUN_MODE=api \
-v $(pwd)/data:/app/data \
-v $(pwd)/result:/app/result \
-v $(pwd)/uploads:/app/uploads \
teddylee777/teddynote-parser-api:latest api
docker-compose.yml 파일 예시:
version: '3.8'
services:
teddynote-parser-api:
image: teddylee777/teddynote-parser-api:latest
container_name: teddynote-parser-api
restart: unless-stopped
ports:
- "${PORT}:${PORT}"
volumes:
- ./data:/app/data
- ./result:/app/result
- ./uploads:/app/uploads
- ./.env:/app/.env
environment:
- UPSTAGE_API_KEY=${UPSTAGE_API_KEY}
- OPENAI_API_KEY=${OPENAI_API_KEY}
- TZ=Asia/Seoul
- PORT=${PORT}
- RUN_MODE=api
command: ["api"]
실행 명령어:
docker-compose up -d
필수 환경 변수:
| 변수명 | 설명 | 필수 여부 |
|---|---|---|
UPSTAGE_API_KEY | UpStage API 키 | 필수 |
OPENAI_API_KEY | OpenAI API 키 | 필수 |
PORT | API 서버 포트 (기본값: 9997) | 선택 |
.env 파일 예시:
UPSTAGE_API_KEY=your_upstage_api_key_here
OPENAI_API_KEY=your_openai_api_key_here
PORT=9990
curl -X GET http://localhost:9990/health
응답 예시:
{
"status": "ok",
"timestamp": "2023-05-10T12:34:56.789012"
}
curl -X POST http://localhost:9990/parse \
-H "Content-Type: multipart/form-data" \
-F "file=@/path/to/your/document.pdf" \
-F "language=Korean" \
-F "include_image=true" \
-F "batch_size=30"
응답 예시:
{
"job_id": "f8e7d6c5-b4a3-2c1d-0e9f-8g7h6i5j4k3l",
"message": "파일 업로드 완료. 처리 작업이 시작되었습니다.",
"status": "processing"
}
curl -X GET http://localhost:9990/status/f8e7d6c5-b4a3-2c1d-0e9f-8g7h6i5j4k3l
응답 예시:
{
"job_id": "f8e7d6c5-b4a3-2c1d-0e9f-8g7h6i5j4k3l",
"status": "completed",
"created_at": 1683720123.456789,
"completed_at": 1683720156.789012,
"filename": "document.pdf",
"batch_size": 30,
"test_page": null,
"zip_filename": "/app/result/document_1683720123.zip",
"error": null
}
curl -X GET http://localhost:9990/download/f8e7d6c5-b4a3-2c1d-0e9f-8g7h6i5j4k3l \
-o result.zip
curl -X GET http://localhost:9990/jobs
응답 예시:
{
"jobs": [
{
"job_id": "f8e7d6c5-b4a3-2c1d-0e9f-8g7h6i5j4k3l",
"status": "completed",
"created_at": 1683720123.456789,
"completed_at": 1683720156.789012,
"filename": "document.pdf",
"batch_size": 30,
"test_page": null,
"zip_filename": "/app/result/document_1683720123.zip",
"error": null
},
{
"job_id": "a1b2c3d4-e5f6-7g8h-9i0j-k1l2m3n4o5p6",
"status": "processing",
"created_at": 1683720200.123456,
"completed_at": null,
"filename": "another_document.pdf",
"batch_size": 30,
"test_page": null,
"zip_filename": null,
"error": null
}
]
}
| 경로 | 설명 |
|---|---|
/app/data | 입력 데이터를 저장하는 디렉토리 |
/app/result | 처리 결과를 저장하는 디렉토리 |
/app/uploads | 업로드된 파일이 임시로 저장되는 디렉토리 |
Content type
Image
Digest
sha256:dcb22cf94…
Size
804.5 MB
Last updated
over 1 year ago
docker pull teddylee777/teddynote-parser-api