5.2 KiB
5.2 KiB
Summary API 기능 명세서
제공된 코드를 기반으로 summary 태그로 그룹화된 API에
대한 기능 명세서입니다.
1. 통합 요약 생성 (STT 요약)
여러 LLM 모델을 동시에 호출하여 입력된 텍스트에 대한 요약 결과를 통합하여 반환합니다.
- Endpoint:
/summary - Method:
POST - Tag:
summary - Description:
- 하나의 텍스트 입력을 받아 내부적으로 구성된 여러 모델(gpt-4.1-mini, qwen3:custom, gemini-2.5-flash, claude-3-7-sonnet-latest 등)을 통해 요약을 실행하고, 그 결과를 종합하여 반환합니다.
- 동기적으로 처리되며, 모든 모델의 요약이 완료될 때까지 응답을 대기합니다.
Request Body
| 필드명 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
text |
string |
Y | 요약할 원본 텍스트 |
Response Body
| 필드명 | 타입 | 설명 |
|---|---|---|
summary_results |
object |
각 모델별 요약 결과가 포함된 객체 |
cURL Example
curl -X 'POST' \
'http://localhost:8888/summary' \
-H 'Content-Type: application/json' \
-d '{
"text": "오늘 회의에서는 3분기 신제품 출시 계획에 대해 논의했습니다. 주요 안건은..."
}'2. Ollama 모델 요약 생성
Ollama를 통해 호스팅되는 qwen 모델을 사용하여 텍스트를
요약합니다.
- Endpoint:
/ollama_summary - Method:
POST - Tag:
summary - Description:
- 지정된
qwen모델만을 사용하여 텍스트 요약을 수행합니다.
- 지정된
Request Body
| 필드명 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
text |
string |
Y | 요약할 원본 텍스트 |
Response Body
| 필드명 | 타입 | 설명 |
|---|---|---|
summary_results |
string |
qwen 모델의 요약 결과 |
cURL Example
curl -X 'POST' \
'http://localhost:8888/ollama_summary' \
-H 'Content-Type: application/json' \
-d '{
"text": "Ollama QWEN 모델을 테스트하기 위한 샘플 텍스트입니다."
}'3. Gemini 모델 요약 생성
Gemini 모델을 사용하여 텍스트를 요약합니다.
- Endpoint:
/gemini_summary - Method:
POST - Tag:
summary - Description:
- Gemini 모델만을 사용하여 텍스트 요약을 수행합니다.
Request Body
| 필드명 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
text |
string |
Y | 요약할 원본 텍스트 |
Response Body
| 필드명 | 타입 | 설명 |
|---|---|---|
summary_results |
string |
Gemini 모델의 요약 결과 |
cURL Example
curl -X 'POST' \
'http://localhost:8888/gemini_summary' \
-H 'Content-Type: application/json' \
-d '{
"text": "Gemini 모델을 테스트하기 위한 샘플 텍스트입니다."
}'4. 비동기 요약 작업 생성
모든 모델을 사용하여 텍스트 요약을 수행하는 백그라운드 작업을 시작합니다.
- Endpoint:
/task_summary - Method:
POST - Tag:
summary - Description:
- 요약 작업을 백그라운드에서 실행하도록 요청하고, 즉시 작업
ID(
task_id)를 반환합니다. - 실제 요약 결과는 반환된
task_id를 사용하여/task_summary/{task_id}엔드포인트에서 조회해야 합니다.
- 요약 작업을 백그라운드에서 실행하도록 요청하고, 즉시 작업
ID(
Request Body
| 필드명 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
text |
string |
Y | 요약할 원본 텍스트 |
Response Body
| 필드명 | 타입 | 설명 |
|---|---|---|
task_id |
string |
생성된 백그라운드 작업의 고유 ID |
cURL Example
curl -X 'POST' \
'http://localhost:8888/task_summary' \
-H 'Content-Type: application/json' \
-d '{
"text": "이것은 비동기 요약 작업을 테스트하기 위한 긴 텍스트입니다..."
}'5. 비동기 요약 작업 결과 조회
task_summary를 통해 생성된 백그라운드 작업의 상태와
결과를 조회합니다.
- Endpoint:
/task_summary/{task_id} - Method:
GET - Tag:
summary - Description:
task_id를 사용하여 특정 요약 작업의 진행 상태(예: 처리 중, 완료) 및 완료 시 요약 결과를 확인합니다.
Path Parameters
| 파라미터명 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
task_id |
string |
Y | 조회할 작업의 고유 ID |
Response Body
- 작업이 진행 중일 경우:
{ "status": "processing", "results": {} } - 작업이 완료되었을 경우:
{ "status": "completed", "results": { "gpt_summary": "GPT 요약 결과...", "qwen_summary": "QWEN 요약 결과...", "gemini_summary": "Gemini 요약 결과...", "claude_summary": "Claude 요약 결과..." } } - 잘못된
task_id일 경우:{ "error": "Invalid task_id" }
cURL Example
curl -X 'GET' \
'http://localhost:8888/task_summary/your_generated_task_id'