라우터

Prev Next

Classic/VPC 환경에서 이용 가능합니다.

특정 라우터의 API를 호출하여 입력된 요청을 적절한 도메인으로 분류하고, 설정된 필터 조건에 해당하는지 판별합니다.

요청

요청 형식을 설명합니다. 요청 형식은 다음과 같습니다.

메서드 URI
POST /v1/routers/{router-id}/versions/{version}/route

요청 헤더

요청 헤더에 대한 설명은 다음과 같습니다.

필드 필수 여부 설명
Authorization Required 인증을 위한 API 키 <예시> Bearer nv-************
X-NCP-CLOVASTUDIO-REQUEST-ID Optional 요청 ID
Content-Type Required 요청 데이터의 형식
  • application/json

요청 경로 파라미터

요청 경로 파라미터에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
router-id String Required 라우터 아이디
version Integer Required 라우터 버전
  • 1 ≤ version

요청 바디

요청 바디에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
query String Required 입력
chatHistory Array Optional 대화 메시지 이력: chatHistory

chatHistory

chatHistory에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
chatHistory.role Enum Required 대화 메시지 역할
  • user: 사용자의 발화/질문
chatHistory.content String Required 대화 메시지 내용

요청 예시

요청 예시는 다음과 같습니다.

curl --location --request POST 'https://clovastudio.stream.gov-ntruss.com/testapp/v1/routers/{ROUTER_ID}/versions/{VERSION}/route' \
--header 'Authorization: Bearer {API_KEY}' \
--header 'X-NCP-CLOVASTUDIO-REQUEST-ID: {REQUEST_ID}' \
--header 'Content-Type: application/json' \
--data '{
  "query" : "미세먼지 정보 알려줘",
  "chatHistory" : [ {
    "role" : "user",
    "content" : "내일 서울의 강수 예보 알려줘"
  } ]
}'

응답

응답 형식을 설명합니다.

응답 헤더

응답 헤더에 대한 설명은 다음과 같습니다.

헤더 필수 여부 설명
Content-Type - 응답 데이터의 형식
  • application/json

응답 바디

응답 바디에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
status Object - 응답 상태
result Object - 응답 결과
result.domain Object - 도메인 결과
result.domain.result String - 도메인 판별 결과
  • 일치하는 도메인이 없는 경우 빈 문자열 표시
result.domain.called Boolean - 도메인 판별 수행 여부
  • false
  • true
result.blockedContent Object - 콘텐츠 필터 결과
result.blockedContent.result Array - 콘텐츠 필터 판별 결과
  • 일치하는 필터 없는 경우 빈 목록 표시
result.blockedContent.called Boolean - 콘텐츠 필터 판별 수행 여부
  • false
  • true
result.safety Object - 세이프티 필터 결과
result.safety.result Array - 세이프티 필터 판별 결과
  • 일치하는 필터 없는 경우 빈 목록 표시
result.safety.called Boolean - 세이프티 필터 판별 수행 여부
  • false
  • true
result.usage Object - 토큰 수 정보
result.usage.promptTokens Integer - 입력 토큰 수
result.usage.completionTokens Integer - 생성 토큰 수
result.usage.totalTokens Integer - 전체 토큰 수
  • promptTokens + completionTokens

응답 예시

응답 예시는 다음과 같습니다.

성공

호출이 성공한 경우의 응답 예시는 다음과 같습니다.

{
  "status": {
    "code": "20000",
    "message": "OK"
  },
  "result": {
    "domain": {
      "result": "지역 검색",
      "called": true
    },
    "blockedContent": {
      "result": ["UnsupportedRegion"],
      "called": true
    },
    "safety": {
      "result": [],
      "called": true
    },
    "usage": {
      "promptTokens": 425,
      "completionTokens": 62,
      "totalTokens": 487
    }
  }
}

실패

호출이 실패한 경우의 응답 예시는 다음과 같습니다.