시나리오 관리
    • PDF

    시나리오 관리

    • PDF

    Article Summary

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

    시나리오는 사용자의 질문에 적절한 답을 주기 위해 모델이 생각하고 판단하는 과정입니다. 시나리오 수집 및 데이터 검토를 통해 모델의 사고 과정을 수정할 수 있습니다.

    시나리오 화면

    clovastudio-scenario_screen_ko

    항목설명
    ① 시나리오 수집 영역시나리오를 수집하기 위한 데이터를 설정하는 영역
    • 스킬셋: 시나리오를 수집할 스킬셋 선택
    • 포함된 스킬: 선택한 스킬셋에 포함된 스킬 목록이 표시됨. 작업 상태가 '작업 완료'인 스킬만 활용 가능
    • Engine 및 버전: 사용할 언어 모델이나 버전을 선택. 기본 언어 모델이 기본 값으로 선택되어 있음
    • 호출옵션(선택): 유저쿼리 호출 시 고정 값 입력
    • 유저쿼리: 사용자 쿼리를 입력하는 필드. 스킬셋을 선택해야 해당 필드가 활성화됨
    • [실행] 버튼: 시나리오 수집을 실행하는 버튼
    ② 플래닝 데이터 영역진행 중인 모델 사고 과정의 전체 데이터가 노출되는 영역
    • 생각: 모델의 생각
    • 액션: 현재 스텝을 진행하기 위해 필요한 액션 종류
    • 액션 입력: 액션 호출에 필요한 입력 값
    • 결과: 액션을 수행한 결과
    ③ 스킬 데이터 영역스킬을 호출한 데이터가 노출되는 영역
    • 생각: 모델의 생각
    • 액션: 현재 스텝을 진행하기 위해 필요한 액션 종류
    • 액션 입력: 액션 호출에 필요한 입력 값
    • 관찰: 모델의 판단에 따라 사용해야 하는 API 스펙 및 API 호출 결과
    ④ 기능 버튼
    • [불러오기] 버튼: 이전에 작업하던 시나리오를 불러오는 버튼
    • [임시저장] 버튼: 현재까지 작업한 내용을 저장하는 버튼
    • [작업 완료] 버튼: 현재까지 작업한 내역을 완료하는 버튼. 최종 답변 데이터가 생성된 경우에만 활성화
    참고
    • Step 1의 결과는 스킬 호출에 대한 결과가 표시되며, 나머지 스텝에서는 전체 모델 생성에 대한 결과가 표시됩니다.
    • 최종 답변이 생성되었더라도 [임시저장] 버튼을 클릭하는 경우, 작업 상태가 '작업 중'으로 변경됩니다.

    시나리오 수집

    시나리오를 수집하는 방법은 다음과 같습니다.

    1. 네이버 클라우드 플랫폼 콘솔에서 Services > AI Services > CLOVA Studio 메뉴를 차례대로 클릭해 주십시오.
    2. My Product 메뉴를 클릭한 후 [CLOVA Studio 바로가기] 버튼을 클릭해 주십시오.
    3. CLOVA Studio에서 스킬 트레이너 메뉴를 클릭해 주십시오.
    4. 화면 상단의 [시나리오 수집] 버튼을 클릭해 주십시오.
    5. 화면 왼쪽에서 스킬셋과 엔진을 선택하고 유저쿼리를 입력해 주십시오.
      • 스킬셋: 시나리오를 수집할 스킬셋 선택
      • 포함된 스킬: 선택한 스킬셋에 포함된 스킬 목록이 표시됨. 작업 상태가 '작업 완료'인 스킬만 활용 가능
      • Engine 및 버전: 사용할 언어 모델 선택. 기본 언어 모델이 기본 값으로 선택되어 있음
      • 호출옵션(선택): 유저쿼리 호출 시 고정 값 입력. 호출옵션을 작성하는 방법은 호출옵션 작성을 참조해 주십시오.
      • 유저쿼리: 사용자 쿼리를 입력하는 필드. 스킬셋을 선택해야 해당 필드가 활성화됨
    6. [실행] 버튼을 클릭해 주십시오.
    참고

    시나리오 수집을 실행한 후에는 스킬셋, Engine, 유저쿼리를 수정할 수 없습니다. 수정이 필요한 경우, [초기화] 버튼을 클릭하여 작업을 새로 수행해 주십시오. [초기화] 버튼은 시나리오 수집이 완료된 이후에 활성화됩니다.

    시나리오 데이터 수정

    수집한 시나리오의 데이터를 검토하고 수정하는 방법은 다음과 같습니다.

    1. 시나리오 수집을 수행해 주십시오.
    2. 플래닝 데이터 영역에서 모델의 사고를 검토해 주십시오.
    3. 플래닝 데이터 영역의 스텝을 수정하려면 각 필드를 클릭한 후 수정해 주십시오.
      • 플래닝 데이터 영역의 수정하는 방법은 플래닝 데이터를 참조해 주십시오.
    4. 스텝 수정이 완료되면 [적용] 버튼을 클릭해 주십시오.
      • 해당 스텝이 재생성됩니다.
    5. 스킬 데이터 영역의 데이터를 수정하려면 각 필드를 클릭한 후 수정해 주십시오.
    6. 수정이 완료되면 [적용] 버튼을 클릭해 주십시오.
      • 해당 스킬 데이터가 재실행됩니다.
    7. 플래닝 데이터 영역에서 최종 답변 필드가 표시되면 화면 오른쪽 하단에 있는 [작업 완료] 버튼을 클릭해 주십시오.
      • 해당 작업을 임시 저장하고 나중에 불러오려면 [임시저장] 버튼을 클릭해 주십시오.
    참고

    스킬 데이터 영역에서 불필요한 데이터가 생성된 경우, 스킬 데이터 영역의 [Step 끝내기] 버튼을 클릭해 주십시오. 해당 스텝과 최종 답변 스텝 사이에 생성된 모든 스텝이 삭제됩니다. [Step 끝내기] 버튼은 최종 답변 스텝까지 모두 생성된 경우에 활성화됩니다.

    플래닝 데이터

    플래닝 데이터 영역에는 진행 중인 모델 사고 과정의 모든 데이터가 나타납니다. 유저 쿼리 실행 시 활용할 스킬 및 순서 등을 계획하고 수행하는 플래닝 모델의 사고 과정을 확인할 수 있습니다. 플래닝 데이터 영역은 3단계로 구성됩니다.

    1단계: 플래닝 단계

    어떤 스킬을 사용할 것인지 결정하는 단계입니다.

    2.png

    항목설명
    생각유저 쿼리에 대한 모델의 생각
    액션현재 스텝을 진행하기 위해 필요한 액션 종류
    액션 입력액션 호출에 필요한 입력 값. 액션 입력 영역의 쿼리 필드에는 유저 쿼리가 표기되고, 스킬 필드에는 사용할 스킬이 표기됨
    두 개 이상의 스킬이 필요한 경우, “강남역 맛집이랑 렌터카 업체 소개해줘“ 대신 “강남역 맛집 알려줘“ + “강남역 렌터카 업체 소개해줘“라고 쿼리가 분리돼서 입력됨
    결과플래닝 단계의 결과가 입력됨
  • 결과 필드 양식: [{“tool_name”: “사용할 스킬 이름1”,“input”:{“query”:“스킬에 해당하는 쿼리”}}, {“tool_name”: “사용할 스킬 이름2”,“input”:{“query”:“스킬에 해당하는 쿼리”}}]
  • 2단계: 스킬 수행 단계

    스킬을 호출하는 단계입니다. 스킬 수행 단계에서는 모든 필드를 수정할 수 없습니다.

    3단계: 최종 답변 단계

    사용자에게 전달할 답변을 결정하는 단계입니다. [작업 완료] 버튼을 클릭하여 모든 내용을 저장하고 시나리오 생성 작업을 끝낼 수 있습니다.

    싱글 스킬 데이터

    스킬 데이터 영역에는 호출할 스킬 데이터가 나타납니다. 플래닝 데이터 영역에서 유저 쿼리에 어떤 스킬을 사용할 것인지 계획했다면, 스킬 데이터 영역에서는 호출할 스킬에 대한 상세한 데이터가 나타나고 직접 수정할 수 있습니다. 스킬 데이터 영역은 3단계로 구성됩니다.

    1단계: API 조회

    싱글 스킬 데이터의 1단계는 API를 조회하는 단계입니다.

    3.png

    항목설명
    생각모델의 판단 결과. 스킬의 API 이름이 포함되어야 함
    액션액션의 이름
    액션 입력반드시 'None' 값 표시
    관찰모델의 판단에 따라 사용해야 하는 API 스펙

    2단계: API 호출

    싱글 스킬 데이터 2단계인 API를 호출하는 단계입니다. 스킬 데이터 2단계인 API를 호출하는 단계입니다. 각 필드를 클릭하여 값을 수정할 수 있습니다. 필드의 값을 수정하면 [적용] 버튼이 활성화됩니다. [적용] 버튼을 클릭하면 스킬 데이터가 재실행되고 수정된 결과가 플래닝 데이터 영역에도 적용됩니다.

    API 호출 단계에서 GET 메소드를 사용하는 스킬 데이터의 화면은 다음과 같습니다.

    4.png

    항목설명
    생각API를 호출하기 위한 사고 과정. 구체적인 파라미터 및 쿼리 입력 시 성능 향상 가능
    <작성 예시> 'API 문서를 확인해보니 필수 파라미터는 {필수 파라미터명}이다. {쿼리}를 하기 위해서는 {사용 파라미터1}의 값으로 {파라미터1 값}을 {사용 파라미터2}의 값으로 {파라미터2 값}을 사용하면 되겠다'.
    액션‘requests_get' 적용
    액션입력API 호출에 필요한 주소 및 파라미터 입력
    관찰모델의 판단 결과

    POST 메소드 사용하는 경우에는 액션입력 영역에 URL과 파라미터를 입력할 수 있는 필드가 활성화됩니다.
    API 호출 단계에서 POST 메소드를 사용하는 스킬 데이터의 화면은 다음과 같습니다.

    5.png

    항목설명
    생각API를 호출하기 위한 사고 과정. 구체적인 파라미터 및 쿼리 입력 시 성능 향상 가능
    <작성 예시> 'API 문서를 확인해보니 필수 파라미터는 {필수 파라미터명}이다. {쿼리}를 하기 위해서는 {사용 파라미터1}의 값으로 {파라미터1 값}을 {사용 파라미터2}의 값으로 {파라미터2 값}을 사용하면 되겠다'.
    액션‘requests_post' 적용
    액션입력API 호출 주소와 파라미터 적용
    • [필드 추가] 버튼: 새로운 파라미터 필드 추가
    • i-clovastudio_reset : 파라미터 필드 삭제
    관찰모델의 판단 결과
    참고

    새로운 파라미터 생성 시 기존에 생성된 파라미터의 Key와 중복되지 않도록 설정해 주십시오. 중복된 Key가 있을 경우에는 API가 호출되지 않을 수 있습니다.

    3단계: 스킬 답변

    API를 조회하고 호출하는 단계를 완료한 후 사용자에게 전달할 답변을 결정하는 단계입니다.

    시나리오 구성 방식

    사용하는 스킬의 개수에 따라 싱글 스킬 시나리오와 멀티 스킬 시나리오로 구성할 수 있습니다.

    싱글 스킬 시나리오

    싱글 스킬 시나리오는 스킬을 1개만 활용하는 시나리오입니다. 시나리오 진행 순서는 다음과 같습니다.

    시나리오 진행 순서

    1. 유저 쿼리: 부산 관광지 추천해줘
    2. 플래닝 데이터의 Step 1: 사용할 스킬을 계획하는 단계
    3. 플래닝 데이터의 Step 2: 스킬을 수행하는 단계
      1. 싱글 스킬 데이터의 Step 2-1: 관광지 정보 API 조회
      2. 싱글 스킬 데이터의 Step 2-2: 관광지 정보의 API 파라미터 확인, 키워드 값에 '부산' 사용하여 호출
      3. 스킬 데이터의 Step 2-3: 부산 관광지에 대한 결과 출력
    4. 플래닝 데이터의 Step 3: 사용자에게 최종 답변하는 단계

    시나리오 설명
    '부산 관광지 추천해줘'라는 유저 쿼리에 대해 모델은 어떤 스킬을 사용할 것인지 판단합니다. 관광지 조회 API를 호출해야겠다고 판단하면 해당 API를 조회하고 필요한 파라미터를 확인한 후 필요한 정보를 호출합니다. 마지막으로 사용자에게 어떤 형태로 보여줄 지 결정한 후 답변을 제시합니다.

    멀티 스킬 시나리오

    멀티 스킬 시나리오는 스킬 2개를 활용하는 시나리오입니다. 시나리오 진행 순서는 다음과 같습니다.

    시나리오 진행 순서

    1. 유저 쿼리: 강남역 맛집과 렌터카 업체 소개해줘
    2. 플래닝 데이터의 Step 1: 사용할 스킬을 계획하는 단계
    3. 플래닝 데이터의 Step 2: 스킬을 수행하는 단계
      1. 싱글 스킬 데이터의 Step 2-1: 강남역 맛집 API 조회
      2. 싱글 스킬 데이터의 Step 2-2: 강남역 맛집 API 호출
      3. 스킬 데이터의 Step 2-3: 강남역 맛집에 대한 결과 출력
    4. 플래닝 데이터의 Step 3: 스킬을 수행하는 단계
      1. 싱글 스킬 데이터의 Step 3-1: 렌터카 업체 정보 API 조회
      2. 싱글 스킬 데이터의 Step 3-2: 렌터카 업체 정보 API 호출
      3. 스킬 데이터의 Step 3-3: 렌터카 업체에 대한 결과 출력
    5. 플래닝 데이터의 Step 4: 사용자에게 최종 답변하는 단계

    시나리오 설명
    '강남역 맛집과 렌터카 업체 소개해줘' 라는 유저 쿼리에 대해 모델은 어떤 스킬을 사용할 것인지 판단합니다. 맛집 조회와 렌터카 업체 조회가 각각 필요하므로 두 개의 API를 호출해야 겠다고 판단합니다. 두 번째 스텝에서는 강남역 주변의 인기 있는 식당을 조회하는 API를 조회하고 호출하고, 세 번째 스텝에서는 렌터카 업체를 조회하는 API를 조회하고 호출합니다. 마지막으로 사용자에게 여러 정보를 어떤 형태로 보여줄 지 결정한 후 답변을 제시합니다.

    참고
    • 스킬 수행 단계의 액션 필드에는 호출할 스킬의 'Name for model' 값을 포함해야 합니다.
    • 스킬 수행 단계의 액션 입력 필드 값을 수정할 경우, Step 1의 결과 필드에서 입력된 쿼리를 포함해야 합니다.

    시나리오 불러오기

    이전에 작업하던 시나리오를 불러와서 검토하고 수정할 수 있습니다.
    시나리오를 불러오는 방법은 다음과 같습니다.

    1. 네이버 클라우드 플랫폼 콘솔에서 Services > AI Services > CLOVA Studio 메뉴를 차례대로 클릭해 주십시오.
    2. My Product 메뉴를 클릭한 후 [CLOVA Studio 바로가기] 버튼을 클릭해 주십시오.
    3. CLOVA Studio에서 스킬 트레이너 메뉴를 클릭해 주십시오.
    4. 화면 상단의 [시나리오 수집] 버튼을 클릭해 주십시오.
    5. 시나리오 수집 화면의 왼쪽 하단에 있는 [불러오기] 버튼을 클릭해 주십시오.
      • 작업 중인 시나리오 목록이 나타납니다.
    6. 기존 쿼리 목록을 확인해 주십시오.
      • 불러오기 창 우측 상단에서 유저 쿼리를 검색할 수 있습니다.
      • 모델 결과를 확인하려면 데이터 항목의 [보기] 버튼을 클릭해 주십시오.
      • 유저 쿼리를 삭제하려면 목록 우측의 더보기i_clovastudio-more > [삭제] 버튼을 클릭해 주십시오.
      • 시나리오 작업 화면에서 [작업 완료] 버튼을 클릭한 경우에만 작업 상태가 '작업 완료'로 표시됩니다.
    7. 시나리오 수집 화면에서 기존 쿼리에 대한 작업을 수정하려면 [열기] 버튼을 클릭해 주십시오.
      • 시나리오 수집 화면이 나타나며 기존 쿼리에 대한 작업을 이어나갈 수 있습니다.

    호출옵션 작성

    호출옵션을 통해 API spec의 operation ID에 대응하여 헤더 및 본문 매개변수의 특정값을 고정하는 설정을 할 수 있습니다. 호출옵션을 작성하는 방법은 다음과 같습니다.

    1. 시나리오 수집 과정 중 화면 왼쪽에서 호출옵션의 [설정 아이콘] 을 클릭해 주십시오.
      • 호출 옵션 설정 창이 나타납니다.
    2. 호출값 입력 영역에 호출옵션을 JSON 타입으로 입력해 주십시오. 상단의 예시 포맷을 참고하여 작성해 주십시오.
      • 호출값 입력에 대한 자세한 내용은 상세 호출옵션를 참조해 주십시오.
    3. 호출값 입력이 완료되면 [적용] 버튼을 클릭해 주십시오.
      • 적용 실패 시 오류 메시지가 나타납니다. 호출값을 다시 수정해 주십시오.
    참고

    호출옵션 적용하여 시나리오 수집을 진행한 뒤, [초기화] 버튼을 클릭하더라도 호출옵션은 그대로 유지됩니다. 단, 다음의 경우에 호출옵션이 초기화 됩니다.

    • 시나리오 수집 화면에서 벗어난 후에 스킬셋 목록 또는 스킬 목록에서 [시나리오 수집] 버튼을 클릭하여 다시 시작한 경우
    • 시나리오 수집 화면에서 스킬셋을 변경하는 경우

    이러한 경우 시나리오 [불러오기] 를 클릭하여 이전에 사용한 호출옵션을 다시 불러올 수 있습니다.

    상세 호출옵션

    호출옵션에 작성 가능한 필드에 관한 정보입니다.

    필드데이터 타입설명
    baseOperationobject해당 스킬셋 내에 등록된 모든 API에 대해 호출옵션이 적용됨
    baseOperation.headermap<string, string>모든 API의 HTTP Header에 추가 및 고정 시키고자 하는 값
    baseOperation.querymap<string, string>모든 API의 HTTP Query Parameter에 추가 및 고정 시키고자 하는 값
    baseOperation.requestBodymap<string, object>모든 API의 HTTP Request Body에 추가 및 고정 시키고자 하는 값
    operationslist해당 스킬셋 내에 등록된 API 중 지정된 Operation ID에 한하여 호출옵션이 적용됨
    operations[].operationIdstring호출옵션을 적용하고자 하는 Operation ID를 지정
    operations[].headermap<string, string>지정된 Operation ID에 매핑되는 API의 HTTP Header에 추가 및 고정 시키고자 하는 값
    operations[].querymap<string, string>지정된 Operation ID에 매핑되는 API의 HTTP Query Parameter에 추가 및 고정 시키고자 하는 값
    operations[].requestBodymap<string, object>지정된 Operation ID에 매핑되는 API의 HTTP Request Body에 추가 및 고정 시키고자 하는 값

    호출값 작성 예시

    스킬셋 내에 등록된 모든 API에 대해 일괄적으로 호출옵션을 적용하고자 할 때 baseOperation 필드를 활용할 수 있습니다. 작성 예시는 다음과 같습니다.

    {
      "baseOperation": {
        "query": {
          "serviceKey": "value"
        }
      }
    }
    

    특정 Operation ID에 한하여 호출옵션을 적용하고자 할 때 operations 필드를 활용할 수 있습니다. 작성 예시는 다음과 같습니다.

    {
      "operations": [
        {
          "operationId": "filterBakeryProducts",
          "query": {
            "serviceKey": "value"
          }
        }
      ]
    }
    

    baseOperation 필드와 operations 필드를 함께 적용하는 것도 가능합니다. 작성 예시는 다음과 같습니다.

    {
      "baseOperation": {
        "header": {
          "baseHeader": "baseHeaderValue"
        },
        "query": {
          "baseQuery": "baseQueryValue"
        },
        "requestBody": {
          "baseBody": "baseBodyValue"
        }
      },
      "operations": [
        {
          "operationId": "testOperationId1",
          "header": {
            "header1": "headerValue1"
          },
          "query": {
            "query1": "queryValue1"
          },
          "requestBody": {
            "body1": "bodyValue1"
          }
        },
        {
          "operationId": "testOperationId2",
          "header": {
            "header2": "headerValue2"
          },
          "query": {
            "query2": "queryValue2"
          },
          "requestBody": {
            "body2": "bodyValue2"
          }
        }
      ]
    }
    

    이 문서가 도움이 되었습니까?

    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.