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 | 요청 데이터의 형식
|
요청 경로 파라미터
요청 경로 파라미터에 대한 설명은 다음과 같습니다.
필드 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
router-id |
String | Required | 라우터 아이디 |
version |
Integer | Required | 라우터 버전
|
요청 바디
요청 바디에 대한 설명은 다음과 같습니다.
필드 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
query |
String | Required | 입력 |
chatHistory |
Array | Optional | 대화 메시지 이력: chatHistory |
chatHistory
chatHistory
에 대한 설명은 다음과 같습니다.
필드 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
chatHistory.role |
Enum | Required | 대화 메시지 역할
|
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 | - | 응답 데이터의 형식
|
응답 바디
응답 바디에 대한 설명은 다음과 같습니다.
필드 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
status |
Object | - | 응답 상태 |
result |
Object | - | 응답 결과 |
result.domain |
Object | - | 도메인 결과 |
result.domain.result |
String | - | 도메인 판별 결과
|
result.domain.called |
Boolean | - | 도메인 판별 수행 여부
|
result.blockedContent |
Object | - | 콘텐츠 필터 결과 |
result.blockedContent.result |
Array | - | 콘텐츠 필터 판별 결과
|
result.blockedContent.called |
Boolean | - | 콘텐츠 필터 판별 수행 여부
|
result.safety |
Object | - | 세이프티 필터 결과 |
result.safety.result |
Array | - | 세이프티 필터 판별 결과
|
result.safety.called |
Boolean | - | 세이프티 필터 판별 수행 여부
|
result.usage |
Object | - | 토큰 수 정보 |
result.usage.promptTokens |
Integer | - | 입력 토큰 수 |
result.usage.completionTokens |
Integer | - | 생성 토큰 수 |
result.usage.totalTokens |
Integer | - | 전체 토큰 수
|
응답 예시
응답 예시는 다음과 같습니다.
성공
호출이 성공한 경우의 응답 예시는 다음과 같습니다.
{
"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
}
}
}
실패
호출이 실패한 경우의 응답 예시는 다음과 같습니다.