저장된 학습용 질문·답변 데이터를 기준으로 답변을 조회하고, AI를 한 번 호출하여 답변을 정리한 뒤 반환합니다. stream 값에 따라 일반 JSON 또는 SSE 스트림으로 받을 수 있습니다.
<https://api.sidetalk.ai/v1/knowledge/completions>
POST
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
| question | String | 조건부 | knowledgeId가 없을 때 저장된 질문과 정확히 일치하는 데이터를 찾는 데 사용합니다. |
| knowledgeId | String | 조건부 | 학습용 데이터 1건을 식별하는 ID입니다. 조회 API 응답의 data[].knowledgeId 값을 그대로 전달하는 것을 권장합니다. |
| stream | Boolean | 아니요 | false(기본값)이면 일반 JSON, true이면 SSE 스트림으로 반환합니다. |
| sessionId | String | 아니요 | 채팅 로그에 사용할 세션 ID입니다. |
knowledgeId 또는 question 중 하나는 전달해야 합니다. 두 값을 모두 전달하면 knowledgeId를 우선 사용합니다.
curl -X POST "<https://api.sidetalk.ai/v1/knowledge/completions>" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${API_KEY}" \
-d '{
"knowledgeId": "456",
"stream": false
}'
curl -X POST "<https://api.sidetalk.ai/v1/knowledge/completions>" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${API_KEY}" \
-d '{
"knowledgeId": "456",
"sessionId": "943f15db-3984-4f21-ad64-f0115839c3a6",
"stream": false
}'
{
"success": true,
"knowledgeId": "456",
"sessionId": "943f15db-3984-4f21-ad64-f0115839c3a6",
"message": {
"content": "배송은 결제 후 2~3일 이내에 진행됩니다."
},
"recommended_questions": [
{
"knowledgeId": "3356",
"question": "배송 조회는 어떻게 하나요?",
"type": "chat_data"
}
],
"meta": {
"chat_log_uuid": "uuid",
"knowledgeId": "456",
"sessionId": "943f15db-3984-4f21-ad64-f0115839c3a6",
"latency_ms": 850,
"used_credit": 1,
"tokens": {
"input_tokens": 100,
"output_tokens": 30,
"total_tokens": 130,
"token_cost": 0
}
}
}
| 상태 코드 | 설명 |
|---|---|
| 400 | JSON 형식 또는 필수 식별 정보가 잘못되었습니다. |
| 402 | API 사용 크레딧이 부족합니다. |
| 403 | API 키 인증에 실패했습니다. |
| 404 | 조건에 맞는 학습용 답변을 찾을 수 없습니다. |
| 500 | 답변 생성 중 서버 오류가 발생했습니다. |