모델 API 설계 - 100-hours-a-week/20-real-wiki GitHub Wiki


📡 LLM 챗봇 응답 API

🔹 Endpoint

  • Method: POST
  • Path: /api/v1/chatbots
  • 기능: LLM 기반 챗봇 응답 반환

📥 Request Body

Name Type Mandatory Description
question String O 사용자가 AI에게 전달하는 질문
{
  "question": "휴가 신청하는 방법을 알려줘."
}

📤 Response Body

Name Type Description
message String status
answer String AI가 생성한 답변

✅ 200 (성공)

{ 
    "message" : "응답이 완료되었습니다.",
    "data" : {
         "answer": "휴가 신청하는 방법은 ..."
      }
}

❌ 400 (잘못된 요청) - 사용자가 채팅을 입력하지 않음

  • 상황: 프론트에서 입력창이 비어 있는데 전송됨
{
  "message": "질문 내용이 비어 있습니다.",
  "data": null
}

❌ 400 (잘못된 요청) - 사용자가 허용 범위 외(점심, 날씨 등) 채팅을 함

  • 상황: "오늘 점심 뭐야?" → 챗봇의 역할 범위 밖
{
  "message": "공지사항 관련 질문만 가능합니다.",
  "data": null
}

❌ 400 (잘못된 요청) - 사용자가 특정 범위가 필요한 질문을 함

  • 상황: 문맥이 불완전한 질문
{
  "message": "과정을 먼저 입력해주세요. 예: '프론트엔드 공지 알려줘'",
  "data": null
}

❌ 500 (서버 오류) - 내부 서버 오류

{
   "message": "서버 내부 오류가 발생했습니다. 잠시 후 다시 시도해주세요.",
   "data" : null
 }

❌ 500 (서버 오류) - 모델 오류

{
   "message": "모델 오류가 발생했습니다. 잠시 후 다시 시도해주세요.",
   "data" : null
 }

📊 Result Codes

상태 코드 응답 설명
201 "응답이 완료되었습니다." 성공
400 "질문 내용이 비어 있습니다." 사용자가 채팅을 입력하지 않음
"공지사항 관련 질문만 가능합니다.” 사용자가 허용 범위 외(점심, 날씨 등) 채팅을 함
"과정을 먼저 입력해주세요. 예: '프론트엔드 공지 알려줘'” 사용자가 특정 범위가 필요한 질문을 함
500 "서버 내부 오류가 발생했습니다. 관리자에게 문의해주세요." 서버 내부 오류
"모델 오류가 발생했습니다. 잠시 후 다시 시도해주세요." 모델 오류





📡 공지 텍스트 요약 API

🔹 Endpoint

  • Method: POST
  • Path: /api/v1/notices/summarization
  • 기능: 공지사항(디스코드, 노션 기반) 요약 생성

📥 Request Body (공통)

Name Type Mandatory Description
title string O 공지사항 제목
content string O 공지사항 본문 내용
{
  "title": "사원증 배부 안내",
  "content": "안녕하세요!! 카테부 여러분~ 기다리시던 사원증이 드디어 도착했습니다!"
}

📤 Response Body (공통)

Name Type Description
message string 응답 상태 메시지
data object 결과 데이터
└ summary string 핵심 요약
└ isCompleted boolean 성공 여부 명시

✅ 200 (성공)

  • 공지사항
{
  "message": "공지사항 요약이 완료되었습니다.",
  "data": {
    "summary": "금일 사원증을 배부한다. 오후 5시 타운홀 참석하라고 한다.",
    "isCompleted": true
  }
}

❌ 400 (잘못된 요청) - content 누락

{
  "message": "content가 비어 있습니다.",
  "data": null
}

❌ 500 (서버 오류) - 내부 서버 오류

{
   "message": "서버 내부 오류가 발생했습니다. 잠시 후 다시 시도해주세요.",
   "data" : null
 }

❌ 500 (서버 오류) - 모델 오류

{
   "message": "모델 오류가 발생했습니다. 잠시 후 다시 시도해주세요.",
   "data" : null
 }

Result Code

상태 코드 응답 설명
200 "공지사항 요약이 완료되었습니다." 요청이 정상적으로 처리됨
400 "content가 비어 있습니다." content 누락
500 "서버 내부 오류가 발생했습니다. 관리자에게 문의해주세요." 서버 내부 오류
"모델 오류가 발생했습니다. 잠시 후 다시 시도해주세요." 모델 오류





📡 뉴스 헤드라인 및 텍스트 요약 API

🔹 Endpoint

  • Method: POST
  • Path: /api/v1/news
  • 기능: 디스코드 소통방 기반 헤드라인 및 텍스트 요약 생성

📥 Request Body

Name Type Mandatory Default Description
title string X - 소통방 제목
content string O - 소통방 Message 내용
{
  "title": "음료수 사드릴게요",
  "content": "안녕하세요!! 더운 날씨에 블라블라 ..."
}

📤 Response Body

Name Type Description
message string 응답 상태 메시지
data object 결과 데이터
└ headline string 유머스럽게 생성된 제목
└ summary string 핵심 요약
└ isCompleted boolean 성공 여부 명시

✅ 200 (성공)

  • 뉴스
{
  "message": "뉴스 헤드라인, 요약 생성이 완료되었습니다.",
  "data": {
    "headline": "목 마른 자, 음료를 외쳐라!",
    "summary": "더운 날씨에 고생이 많다. 금일 퇴근자에게 커피를 제공한다.",
    "isCompleted": true
  }
}

❌ 400 (잘못된 요청) - content 누락

{
  "message": "content가 비어 있습니다.",
  "data": null
}

❌ 500 (서버 오류) - 내부 서버 오류

{
   "message": "서버 내부 오류가 발생했습니다. 잠시 후 다시 시도해주세요.",
   "data" : null
 }

❌ 500 (서버 오류) - 모델 오류

{
   "message": "모델 오류가 발생했습니다. 잠시 후 다시 시도해주세요.",
   "data" : null
 }

Result Code

상태 코드 응답 설명
200 "뉴스 헤드라인, 요약 생성이 완료되었습니다." 요청이 정상적으로 처리됨
400 "content가 비어 있습니다." content 누락
500 "서버 내부 오류가 발생했습니다. 관리자에게 문의해주세요." 서버 내부 오류
"모델 오류가 발생했습니다. 잠시 후 다시 시도해주세요." 모델 오류





📡 뉴스 생성 API

🔹 Endpoint

  • Method: POST
  • Path: /api/v2/news
  • 기능: 위키 기반 뉴스 생성

📥 Request Body

Name Type Mandatory Default Description
title string O - 위키 문서 제목
content string O - 위키 문서 본문
{
  "title": "river.Park(박창수)",
  "content": "# 1. 정보 \n - 기수: 2기 - 부서: 20조 레알 ..."
}

📤 Response Body

Name Type Description
message String status
headline String 생성된 뉴스 헤드라인
summary String 생성된 뉴스 요약
content String 생성된 뉴스

✅ 200 (성공)

  • 뉴스
{
"message": "뉴스 생성이 완료되었습니다.",
"data": {
"headline": "20조 리버가 101가지를 사랑한다는 그것은 ...",
"summary": "리버는 보컬 겸 기타리스트. 이름은 한강에서 가져왔다. 27(금) 뚝섬한강공원에서 공연 예정",
"content": "한강의 낭만을 노래하는 밴드부 보컬 겸 기타리스트, ‘리버블라블라’로 감성을 물들이다...."
}
}

❌ 400 (잘못된 요청) - content 누락

{
  "message": "content가 비어 있습니다.",
  "data": null
}

❌ 500 (서버 오류) - 내부 서버 오류

{
   "message": "서버 내부 오류가 발생했습니다. 잠시 후 다시 시도해주세요.",
   "data" : null
 }

❌ 500 (서버 오류) - 모델 오류

{
   "message": "모델 오류가 발생했습니다. 잠시 후 다시 시도해주세요.",
   "data" : null
 }

Result Code

상태 코드 응답 설명
200 "뉴스 생성이 완료되었습니다." 요청이 정상적으로 처리됨
400 "content가 비어 있습니다." content 누락
500 "서버 내부 오류가 발생했습니다. 관리자에게 문의해주세요." 서버 내부 오류
"모델 오류가 발생했습니다. 잠시 후 다시 시도해주세요." 모델 오류





📡 퀴즈 생성 API

🔹 Endpoint

  • Method: POST
  • Path: /api/v1/quizzes
  • 기능: 위키 기반 퀴즈 생성

📥 Request Body

Name Type Mandatory Default Description
title string O - 위키 문서 제목
content string O - 위키 문서 본문
{
  "title": "river.Park(박창수)",
  "content": "# 1. 정보 \n - 기수: 2기 - 부서: 20조 레알 ..."
}

📤 Response Body

Name Type Description
message String status
question String 퀴즈 문제
answer List 퀴즈 정답

✅ 200 (성공)

  • 뉴스
{
   "messge" : "퀴즈 생성이 완료되었습니다,",
    "data" : {
          "question": "river의 식성은?",
          "answer": ["탄수화물", "", ""]
      }
}

❌ 400 (잘못된 요청) - content 누락

{
  "message": "content가 비어 있습니다.",
  "data": null
}

❌ 500 (서버 오류) - 내부 서버 오류

{
   "message": "서버 내부 오류가 발생했습니다. 잠시 후 다시 시도해주세요.",
   "data" : null
 }

❌ 500 (서버 오류) - 모델 오류

{
   "message": "모델 오류가 발생했습니다. 잠시 후 다시 시도해주세요.",
   "data" : null
 }

Result Code

상태 코드 응답 설명
200 "퀴즈 생성이 완료되었습니다." 요청이 정상적으로 처리됨
400 "content가 비어 있습니다." content 누락
500 "서버 내부 오류가 발생했습니다. 관리자에게 문의해주세요." 서버 내부 오류
"모델 오류가 발생했습니다. 잠시 후 다시 시도해주세요." 모델 오류
⚠️ **GitHub.com Fallback** ⚠️