スキルセット回答の作成
    • PDF

    スキルセット回答の作成

    • PDF

    Article Summary

    Classic/VPC環境で利用できます。

    特定スキルセットの APIを呼び出し、適切な回答を作成します。

    リクエスト

    リクエスト形式を説明します。リクエスト形式は次の通りです。

    メソッドURI
    POST/v1/skillsets/{skillset-id}/versions/{version}/final-answer

    ヘッダ

    ヘッダの説明は次の通りです。

    ヘッダ必須有無説明
    X-NCP-CLOVASTUDIO-API-KEYYテストアプリやサービスアプリを作成時に発行された API KEY
    X-NCP-APIGW-API-KEYYテストアプリやサービスアプリを作成時に発行された API Gateway KEY
    X-NCP-CLOVASTUDIO-REQUEST-IDN各リクエストのリクエスト ID
    Content-TypeYapplication/json

    パスパラメータ

    パラメータについての説明は、次の通りです。

    フィールドタイプ必須有無説明
    skillset-idstringY回答作成対象スキルセット ID
    versionintegerY回答作成対象のスキルセットのバージョン(integer: >= 1)

    ボディ

    リクエストボディの各フィールドの説明は、次の通りです。

    フィールドタイプ必須有無説明
    querystringY質疑内容
    tokenStreambooleanN回答作成時にトークンストリーミングの使用有無
    chatHistoryarrayN回答作成履歴
    chatHistory.roleenumY会話メッセージの役割
  • user: ユーザーの発話/質問
  • assistant: ユーザーの発話/質問に対する回答
  • chatHistory.contentstringY会話メッセージの内容

    構文

    構文例は次の通りです。

    curl --location --request POST 'https://clovastudio.stream.ntruss.com/testapp/v1/skillsets/{skillset-id}/versions/{version}/final-answer' \
    --header 'X-NCP-CLOVASTUDIO-API-KEY: <X-NCP-CLOVASTUDIO-API-KEY>' \
    --header 'X-NCP-APIGW-API-KEY: <X-NCP-APIGW-API-KEY>' \
    --header 'X-NCP-CLOVASTUDIO-REQUEST-ID: <X-NCP-CLOVASTUDIO-REQUEST-ID>' \
    --header 'Content-Type: application/json'
    --data '{  
        "query": "明日ソウルの天気はどう?",
        "tokenStream": true
        "chatHistory": [
                                    {
                                        "role": "user",
                                        "content" : "今日の天気はどう?"
                                     },
                                    {
                                        "role": "assistant",
                                        "content" : "嵐の前夜です。"
                                     }
                                 ]
        }'
    

    レスポンス

    レスポンス形式を説明します。

    ヘッダ

    ヘッダの説明は次の通りです。

    ヘッダ必須有無説明
    Content-Type-application/json

    ボディ

    ボディの各フィールドの説明は次の通りです。

    フィールドタイプ必須有無説明
    result--レスポンス結果
    result.finalAnswerstringYモデルの最終実行結果(最後まで実行されなかった場合、空の文字列を返す)
    result.tokenCountintegerY回答作成時に測定されたトークン数
    result.apiResultarray-呼び出した API結果
    result.apiResult.urlstring-回答過程で呼び出した API URL
    result.apiResult.requestBodystring-回答過程で呼び出した APIのリクエストボディ
    result.apiResult.responseBodystring-回答過程で呼び出した APIのレスポンスボディ
    result.apiResult.apiOrderstring-API呼び出し結果に関係なく、レスポンス順序を固定するためのソート基準値。スキルトレーナーでスキルを登録する際、API Spec内の Operation Idの定義時に x-api-order : {number value}を定義すると、apiOrder: {number value}のように定義された値通りに結果値が渡される。UI上で固定された順序値を受け取りたいときに使用。
    result.apiResult.operationIdstring-回答過程で呼び出した API Specの Operation Id
    result.apiResult.nameForHumanstring-回答過程で呼び出した APIが登録されたスキルの nameForHuman

    構文

    構文例は次の通りです。

    {
      "status": {
        "code": "20000",
        "message": "OK"
      },
      "result": {
        "finalAnswer": "明日のソウルの天気は晴れで、温度は約27度と予想されます。",
        "tokenCount": 1032,
        "apiResult": [
          {
            "url": "http://api.kcisa.kr/openapi/service/rest/convergence/conver8?serviceKey=247c5de7-556d-41bf-af3e-875e039e4f5c&numOfRows=1&keyword=판교",
            "requestBody": "string",
            "responseBody": "string",
            "apiOrder": 1,
            "operationId": "searchHotel",
            "nameForHuman": "V1ReviewSearch"
          }
        ]
      }
    }
    

    レスポンスストリーム

    各イベントを1つずつ出力するようレスポンスストリーミングを使用できます。レスポンスストリーミング形式について説明します。

    ヘッダ

    ヘッダの説明は次の通りです。

    ヘッダ必須有無説明
    accept-text/event-stream

    ボディ

    ボディの各フィールドの説明は次の通りです。

    フィールドタイプ必須有無説明
    selectedSkillarray-選択されたスキルの名前(name for model).planning eventでのみ表示
    finalAnswerstring-モデルの最終実行結果。最後まで実行されなかった場合は、空の文字列。finalAnswer eventでのみ表示
    tokenCountinteger-そのイベントで使用されたトークン数
    useTaskboolean-呼び出したモデルの学習有無
    apiResultarray-呼び出した API結果
    apiResult.urlstring-回答過程で呼び出した API URL
    apiResult.requestBodystring-回答過程で呼び出した APIのリクエストボディ
    apiResult.responseBodystring-回答過程で呼び出した APIのレスポンスボディ
    apiResult.apiOrderstring-API呼び出し結果に関係なく、レスポンス順序を固定するためのソート基準値。スキルトレーナーでスキルを登録する際、API Spec内の Operation Idの定義時に x-api-order : {number value}を定義すると、apiOrder: {number value}のように定義された値通りに結果値が渡される。UI上で固定された順序値を受け取りたいときに使用。
    apiResult.operationIdstring-回答過程で呼び出した API Specの Operation Id
    apiResult.nameForHumanstring-回答過程で呼び出した APIが登録されたスキルの nameForHuman

    Token Event

    トークンストリーミングを使用する場合、Token Dataの説明は次の通りです。

    フィールドタイプ必須有無説明
    idinteger-リクエストに対する識別子
    indexinteger-作成トークンが該当するバッチインデックス
    probsfloat-トークンごとの作成確率値
    stop_reasonstring-トークン作成が中断された理由
    textstring-完全なテキストペア

    構文

    構文例は次の通りです。

    {
        "status": {
            "code": "20000",
            "message": "OK"
        },
        "result": {
            "finalAnswer": "ソウルにあるホテルをお勧めいたします。\n\n1. Luxury Hotel(4.0) - ソウル中浪区ジェイル洞13-1\n2. Grand Resort(5.0) - ソウル中区文安洞12-1\n3. Movenpick Hotel(4.0) - ソウル広津区ウォーカーヒル路120",
            "apiResult": [
                {
                    "url": "https://free-api-0601.herokuapp.com/search_reviews_get?address=서울",
                    "requestBody": "address=서울",
                    "responseBody": "{\"hotels\": [{\"review_id\": 1, \"review_date\": \"20230811\", \"reviewer\": \"JohnDoe\", \"rating\": 4.0, \"content\": \"ホテルはいいけど、変な臭いがします。\", \"hotel_name\": \"Luxury Hotel\", \"address\": \"ソウル中浪区ジェイル洞13-1\", \"room_name\": \"Deluxe Suite\", \"good_cnt\": 10, \"bad_cnt\": 2, \"rating_service\": 5.0, \"rating_clean\": 4.0, \"rating_room\": 4.0}, {\"review_id\": 2, \"review_date\": \"20230810\", \"reviewer\": \"JaneSmith\", \"rating\": 5.0, \"content\": \"部屋の中にコーヒーポットもなく、周りにコーヒーを売っているところもありません。それ以外は満足です。\", \"hotel_name\": \"Grand Resort\", \"address\": \"ソウル中区文安洞12-1\", \"room_name\": \"Ocean View Room\", \"good_cnt\": 15, \"bad_cnt\": 0, \"rating_service\": 5.0, \"rating_clean\": 5.0, \"rating_room\": 5.0}, {\"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}], \"test\": \"test\"}",
                    "operationId": "searchHotel",
                    "nameForHuman": "V1ReviewSearch",
                    "apiOrder": 1
                }
            ],
            "useTask": false,
            "tokenCount": 3524
        }
    }
    
    
    参考

    バージョン管理機能が追加される前のスキルセット回答作成 APIのURIは /v1/skillsets/{skillset-id}/final-answerです。もしこの APIを使う場合、リクエストのために必要なヘッダとパスパラメータ、ボディは上記の本文をご参照ください。


    この記事は役に立ちましたか?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.