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 | ルーター ID |
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.ntruss.com/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" : "PM2.5情報を教えて",
"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
}
}
}
失敗
呼び出しに失敗した場合のレスポンスのサンプルコードは次の通りです。