o2o-plagiarism-ai/scripts/sample_curl.sh

37 lines
1.5 KiB
Bash
Executable File

#!/usr/bin/env bash
# 샘플 호출 스크립트. 서비스가 http://localhost:8000 에서 동작 중이어야 한다.
set -euo pipefail
API_HOST="${API_HOST:-http://localhost:8000}"
echo "--- 1) Health ---"
curl -sS "${API_HOST}/v1/health" | python3 -m json.tool
echo
echo "--- 2) 단건 탐지: 어린왕자 유사 텍스트 ---"
curl -sS -X POST "${API_HOST}/v1/plagiarism/detect" \
-H "Content-Type: application/json" \
-d '{
"doc_id": "test-001",
"text": "어린왕자는 작은 별에서 온 소년이다. 그는 별을 떠나 여러 행성을 여행하며 다양한 어른들을 만난다. 마침내 지구에 도착해 여우를 만나고 길들임의 의미를 배운다.",
"metadata": {"title": "테스트 작품", "author": "익명"}
}' | python3 -m json.tool
echo
echo "--- 3) 배치 등록 ---"
JOB_RESPONSE=$(curl -sS -X POST "${API_HOST}/v1/plagiarism/batch" \
-H "Content-Type: application/json" \
-d '{
"items": [
{"doc_id": "b-001", "text": "앤 셜리는 상상력이 풍부한 고아 소녀로 초록 지붕 집에 입양된다."},
{"doc_id": "b-002", "text": "홍길동은 서자로 태어나 활빈당을 조직하여 탐관오리의 재물을 빼앗는다."}
]
}')
echo "${JOB_RESPONSE}" | python3 -m json.tool
JOB_ID=$(echo "${JOB_RESPONSE}" | python3 -c 'import json,sys; print(json.load(sys.stdin)["job_id"])')
echo
echo "--- 4) 배치 결과 조회 ---"
sleep 1
curl -sS "${API_HOST}/v1/plagiarism/batch/${JOB_ID}" | python3 -m json.tool