라우터

Prev Next

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

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

요청

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

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

요청 헤더

CLOVA Studio API에서 공통으로 사용하는 헤더에 대한 정보는 CLOVA Studio 요청 헤더를 참조해 주십시오.

요청 경로 파라미터

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

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

요청 바디

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

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

chatHistory

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

필드 타입 필수 여부 설명
role Enum Required 대화 메시지 역할
  • user: 사용자의 발화/질문
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 - 도메인 판별 수행 여부
  • true | false
    • true: 수행함
    • false: 수행 안 함
result.blockedContent Object - 콘텐츠 필터 결과
result.blockedContent.result Array - 콘텐츠 필터 판별 결과
  • 일치하는 필터 없는 경우 빈 목록 표시
result.blockedContent.called Boolean - 콘텐츠 필터 판별 수행 여부
  • true | false
    • true: 수행함
    • false: 수행 안 함
result.safety Object - 세이프티 필터 결과
result.safety.result Array - 세이프티 필터 판별 결과
  • 일치하는 필터 없는 경우 빈 목록 표시
result.safety.called Boolean - 세이프티 필터 판별 수행 여부
  • true | false
    • true: 수행함
    • false: 수행 안 함
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
    }
  }
}

실패

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