--- title: "スキルセット" slug: "clovastudio-generateskillsetfinalanswer" tags: ["CLOVA Studio"] updated: 2026-09-17T09:57:20Z published: 2026-09-17T09:57:20Z canonical: "api.ncloud-docs.com/clovastudio-generateskillsetfinalanswer" --- > ## Documentation Index > Fetch the complete documentation index at: https://api.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # スキルセット Classic/VPC環境で利用できます。 特定のスキルセットの APIを呼び出して適切な回答を生成します。 ## リクエスト リクエスト形式を説明します。リクエスト形式は次の通りです。 | メソッド | URI | | --- | --- | | POST | /v1/skillsets/{skillset-id}/versions/{version}/final-answer | ### リクエストヘッダ CLOVA Studio APIで共通して使用されるヘッダの詳細は、[CLOVA Studioのリクエストヘッダ](/docs/ja/ai-naver-clovastudio-summary#%EC%9A%94%EC%B2%AD%ED%97%A4%EB%8D%94)をご参照ください。 ### リクエストパスパラメータ リクエストパスパラメータの説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `skillset-id` | String | Required | スキルセット ID | | `version` | Integer | Required | スキルセットのバージョン - 1 ≤ `version` | ### リクエストボディ リクエストボディの説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `query` | String | Required | クエリ内容 | | `tokenStream` | Boolean | Optional | 回答生成時のトークンストリーミング使用有無 | | `chatHistory` | Array | Optional | 回答生成履歴: [chatHistory](/docs/ja/clovastudio-generateskillsetfinalanswer#chatHistory) | | `requestOverride` | Object | Optional | すべての APIに適用する呼び出しオプション | | `requestOverride.baseOperation` | Object | Optional | すべての APIに適用する呼び出しオプション情報 | | `requestOverride.baseOperation.header` | Object | Optional | すべての APIに適用するリクエストヘッダ | | `requestOverride.baseOperation.query` | Object | Optional | すべての APIに適用するリクエストクエリパラメータ | | `requestOverride.baseOperation.requestBody` | Object | Optional | すべての APIに適用するリクエストボディ - GETメソッド APIの場合は適用しない | | `requestOverride.operations` | Array | Optional | 特定の APIに適用する呼び出しオプション: [operations](/docs/ja/clovastudio-generateskillsetfinalanswer#operations) | #### `chatHistory` `chatHistory`の説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `chatHistory.role` | Enum | Required | 会話メッセージのロール - `user` \| `assistant` - `user`: ユーザーの発話または質問 - `assistant`: モデルの回答 | | `chatHistory.content` | String | Required | 会話メッセージの内容 | #### `operations` `operations`の説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `operationId` | String | Conditional | 特定の APIのオペレーション ID - `operations`の入力時は必須 | | `header` | Object | Optional | 特定の APIに適用するリクエストヘッダ | | `query` | Object | Optional | 特定の APIに適用するリクエストクエリパラメータ | | `requestBody` | Object | Optional | 特定の APIに適用するリクエストボディ - GETメソッド APIの場合は適用しない | ### リクエスト例 リクエストのサンプルコードは次の通りです。 ``` curl --location --request POST 'https://clovastudio.stream.ntruss.com/v1/skillsets/{skillset-id}/versions/{version}/final-answer' \ --header 'Authorization: Bearer {API Key}' \ --header 'X-NCP-CLOVASTUDIO-REQUEST-ID: {Request ID}' \ --header 'Content-Type: application/json' \ --data '{ "query": "明日の天気はどう?", "tokenStream": true, "chatHistory": [ { "role": "user", "content": "今日のソウルの天気はどう?" }, { "role": "assistant", "content": "嵐の前の静けさです。" } ], "requestOverride": { "baseOperation": { "query": { "appid": "appid-11223344" } } } }' ``` ## レスポンス レスポンス形式を説明します。 ### レスポンスヘッダ レスポンスヘッダの説明は次の通りです。 | ヘッダ | 必須の有無 | 説明 | | --- | --- | --- | | `Content-Type` | - | レスポンスデータの形式 - `application/json` | ### レスポンスボディ レスポンスボディの説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `status` | Object | - | [レスポンスステータス](/docs/ja/ai-naver-clovastudio-summary#%EC%9D%91%EB%8B%B5) | | `result` | Object | - | レスポンス結果 | | `result.finalAnswer` | String | - | モデルの最終実行結果 - 最後まで実行されなかった場合、空の文字列を返す | | `result.tokenCount` | Integer | - | 回答生成時に測定されたトークン数 | | `result.useTask` | Boolean | - | 呼び出したモデルの学習有無 - `false` \| `true` - `false`: 学習していない - `true`: 学習完了 | | `result.apiResult` | Array | - | 呼び出した APIの結果: [apiResult](/docs/ja/clovastudio-generateskillsetfinalanswer#apiResult) | #### `apiResult` `apiResult`の説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `url` | String | - | 回答中に呼び出した API URL | | `requestBody` | String | - | 回答中に呼び出した APIリクエストボディ | | `responseBody` | String | - | 回答中に呼び出した APIレスポンスボディ | | `apiOrder` | Integer | - | API呼び出しの結果に関係なく、レスポンス順序を固定するためのソート基準 | | `operationId` | String | - | 回答中に呼び出した API Specのオペレーション ID | | `nameForHuman` | String | - | 回答中に呼び出した APIが登録されたスキルの名前 | ### レスポンス例 レスポンスのサンプルコードは次の通りです。 #### 成功 呼び出しに成功した場合のレスポンスのサンプルコードは次の通りです。 ``` { "status": { "code": "20000", "message": "OK" }, "result": { "finalAnswer": "明日のソウルの天気は晴れ、気温は約27度程度と予想されます。", "tokenCount": 1032, "apiResult": [ { "url": "http://example.com?numOfRows=1&location=서울&date=20240530", "requestBody": "string", "responseBody": "string", "apiOrder": 1, "operationId": "weatherAPI", "nameForHuman": "WeatherSkill" } ] } } ``` #### 失敗 呼び出しに失敗した場合のレスポンスのサンプルコードは次の通りです。 - [クライアント共通エラー問題(4xx)](/docs/ja/clovastudio-troubleshoot-c4xx) - [クライアントスキルエラー問題(4xx)](/docs/ja/clovastudio-troubleshoot-s4xx) - [サーバ共通エラー問題(5xx)](/docs/ja/clovastudio-troubleshoot-c5xx) - [サーバスキルエラー問題(5xx)](/docs/ja/clovastudio-troubleshoot-s5xx) ## レスポンスストリーム 生成されるトークンを1つずつ出力するようにトークンストリーミングを使用できます。トークンストリーミング形式を説明します。 ### レスポンスヘッダ レスポンスヘッダの説明は次の通りです。 | フィールド | 必須の有無 | 説明 | | --- | --- | --- | | `Accept` | - | レスポンスデータの形式 - `text/event-stream` | ### レスポンスボディ レスポンスボディの説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `selectedSkill` | Object | - | 選択されたスキルの名前 - Planning eventでのみ表示 | | `finalAnswer` | String | - | モデルの最終実行結果 - 最後まで実行されなかった場合は空の文字列を返す - FinalAnswer eventでのみ表示 | | `tokenCount` | Integer | - | イベントで使用されたトークン数 | | `apiResult` | Object | - | 回答中に呼び出した APIの結果 - FinalAnswer eventでのみ表示 | | `apiResult.url` | String | - | 回答中に呼び出した API URL | | `apiResult.requestBody` | String | - | 回答中に呼び出した APIリクエストボディ | | `apiResult.responseBody` | String | - | 回答中に呼び出した APIレスポンスボディ | | `apiResult.apiOrder` | Integer | - | API呼び出しの結果に関係なく、レスポンス順序を固定するためのソート基準 | | `apiResult.operationId` | String | - | 回答中に呼び出した API Specのオペレーション ID | | `apiResult.nameForHuman` | String | - | 回答中に呼び出した APIが登録されたスキルの名前 | #### Token Event TokenEventの説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `probs` | Array | - | レスポンス候補のトークンリストと各トークンの確率 | | `stopReason` | String | - | 結果生成停止の理由(通常、最後のイベントで渡す) - `length` \| `end_token` \| `stop_before` - `length`: 長さ制限 - `end_token`: トークン数制限 - `stop_before`: 回答生成中 `stopBefore`設定値の登場 | | `text` | String | - | 完全なるテキストペア | ### レスポンス例 レスポンスのサンプルコードは次の通りです。 #### 成功 呼び出しに成功した場合のレスポンスのサンプルコードは次の通りです。 ``` id: aabdfe-dfgwr-edf-hpqwd-f2asd-g event: planning data: {"selectedSkill": {["nameForHuman":"ホテル検索"]}, "tokenCount": 432} id: aabdfe-dfgwr-edf-hpqwd-f1asd-g event: cot data: {"apiResult": [{"url": "https://example.com/search_reviews_get?keyword=地下鉄の駅からのアクセスが良い", "requestBody": "keyword=地下鉄の駅からのアクセスが良い", "responseBody": "[{\"review_id\": 5, \"review_date\": \"20230809\", \"reviewer\": \"ClaudeCalder\", \"rating\": 4.0, \"content\": \"サウナ、 プールなどの館内設備がないのが残念でしたが、値段が安いので良かったです。近くには地下鉄の駅もあるし、コンビニもあるので、アクセスが 良いです。短期滞在にはちょうどいいです。\", \"hotel_name\": \"Movenpick Hotel\", \"address\": \"ソウル特別市クァンジン区 ウォーカーヒルロ 120\", \"room_name\": \"City View\", \"good_cnt\": 9, \"bad_cnt\": 0, \"rating_service\": 3.0, \"rating_clean\": 4.0, \"rating_room\": 4.0}]", "apiOrder": 1}], "tokenCount": 2401 } id: aabdfe-dfgwr-edf-hpqwd-f2asd-g event: finalAnswer data: {"finalAnswer": "ソウルで地下鉄の駅からのアクセスが良いホテルは Movenpick Hotelで、ソウル特別市クァンジン区ウォーカーヒルロ 120に 位置しています。", "apiResult": [{"url": "https://example.com/search_reviews_get?keyword=地下鉄の駅からのアクセスが良い", "requestBody": "keyword=地下鉄の駅からのアクセスが良い", "responseBody": "[{\"review_id\": 5, \"review_date\": \"20230809\", \"reviewer\": \"ClaudeCalder\", \"rating\": 4.0, \"content\": \"サウナ、プールなどの館内設備がないのが残念でしたが、値段が安いので良かったです。近くには地下鉄の駅もあるし、 コンビニもあるので、アクセスが良いです。短期滞在にはちょうどいいです。\", \"hotel_name\": \"Movenpick Hotel\", \"address\": \"ソウル特別市クァンジン区ウォーカーヒルロ 120\", \"room_name\": \"City View\", \"good_cnt\": 9, \"bad_cnt\": 0, \"rating_service\": 3.0, \"rating_clean\": 4.0, \"rating_room\": 4.0}]", "apiOrder": 1}], "tokenCount": 214 } ... ``` #### 失敗 呼び出しに失敗した場合のレスポンスのサンプルコードは次の通りです。 - [クライアント共通エラー問題(4xx)](/docs/ja/clovastudio-troubleshoot-c4xx) - [クライアントスキルエラー問題(4xx)](/docs/ja/clovastudio-troubleshoot-s4xx) - [サーバ共通エラー問題(5xx)](/docs/ja/clovastudio-troubleshoot-c5xx) - [サーバスキルエラー問題(5xx)](/docs/ja/clovastudio-troubleshoot-s5xx)