Classic/VPC 환경에서 이용 가능합니다.
스킬은 사용자의 요구 사항에 정확하고 적절한 응답을 주기 위해 사용하는 도구입니다. 모델은 사용자의 질문과 스킬에 작성된 API를 분석하여 가장 적절한 답을 줄 수 있는 스킬을 선택한 후, 정확한 정보를 호출하여 사용자에게 제공할 수 있습니다.
스킬 트레이너에서 생성한 스킬은 다음과 같은 작업을 수행할 수 있습니다.
- 실시간 정보 검색: 동물 병원 조회, 채용 공고 조회, 실시간 인기 상품, 실시간 차량 정보
- 지식 기반 정보 검색: 여행지 추천, 상품 추천, 여행 정보
스킬 생성
스킬을 생성하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔에서 Services > AI Services > CLOVA Studio 메뉴를 차례대로 클릭해 주십시오.
- My Product 메뉴에서 [CLOVA Studio 바로가기] 버튼을 클릭해 주십시오.
- CLOVA Studio에서 스킬 트레이너 메뉴를 클릭해 주십시오.
- 스킬셋을 클릭해 주십시오.
- 화면 오른쪽 상단의 [스킬 생성] 버튼을 클릭해 주십시오.
- 스킬 정보 화면이 나타나면 스킬 이름을 입력한 후 [중복 확인] 버튼을 클릭해 주십시오.
- 스킬 이름은 영문자, 한글, 숫자, 공백을 허용하며 20자 이내로 입력해 주십시오.
- 해당 스킬셋 내에서 스킬 이름이 중복되지 않도록 입력해 주십시오.
- 답변 형식에 스킬을 통해 생성될 답변 형식을 입력해 주십시오.
- API Spec 영역에 API 스펙을 JSON 타입의 OAS 3.0 버전으로 작성해 주십시오.
- API Spec을 작성하는 방법은 API Spec 작성을 참조해 주십시오.
- API 스펙 작성이 완료되면 [검증하기] 버튼을 클릭해 주십시오.
- 검증 성공 시 'API Spec 검증이 완료되었습니다' 문구가 표시되고 [검증하기] 버튼이 비활성화됩니다.
- 검증 실패 시 오류 메시지가 나타납니다. API 스펙을 다시 수정해 주십시오.
- Manifest 영역에 정보를 입력해 주십시오.
- Manifest를 작성하는 방법은 Manifest 작성을 참조해 주십시오.
- Name for model의 [중복 확인] 버튼을 클릭해 주십시오.
- 필수 정보를 모두 입력한 후, [생성하기] 버튼을 클릭해 주십시오.
- 현재까지 작업한 내용을 저장하려면 [임시 저장] 버튼을 클릭해 주십시오.
- 모든 영역이 입력되었더라도 [임시 저장] 버튼을 클릭하는 경우, 작업 상태가 '작업 중'으로 저장됩니다.
- 스킬 생성 완료 창이 나타나면 [확인] 버튼을 클릭해 주십시오.
하나의 스킬셋에 최대 10개의 스킬을 추가할 수 있습니다.
API Spec 작성
API Spec 항목에는 모델이 이해할 수 있는 API 스펙을 작성합니다. 스킬 트레이너에서는 JSON 형식만 지원합니다. 자세한 명세는 OpenAPI Specification v3.0.0을 참조해 주십시오.
Version
사용할 OpenAPI 버전 정보입니다. 3.0 버전만 지원하며, 다른 버전을 사용할 경우 오류가 발생할 수 있습니다. 필수 입력 값입니다.
작성 예시는 다음과 같습니다.
Info
제공되는 API에 관한 정보입니다. 필수 입력 값입니다.
필드 | 설명 | 필수 여부 |
---|---|---|
version | API 버전 정보 | Y |
title | API 이름 | Y |
작성 예시는 다음과 같습니다.
Servers
API가 제공되는 대상 호스트 정보로 Path들의 baseURL입니다. 필수 입력 값입니다.
필드 | 설명 | 필수 여부 |
---|---|---|
url | 서버 URL | Y |
작성 예시는 다음과 같습니다.
Paths
제공되는 API의 각 Path 정보입니다. 필수 입력 값입니다. 각 Path의 하위에는 Operation Object와 Parameter Object가 존재합니다.
필드 | 설명 | 필수 여부 |
---|---|---|
Summary I Description | 사용할 파라미터와 해당 Path를 통해 얻을 수 있는 정보를 구체적으로 작성 <예시> 여행지의 국내외 여부, 지역명, 방문하는 달, 여행자 수, 예상 경비를 통해서 여행 지역 및 도시 검색 |
Y |
- requests get, requests post 메소드만 지원합니다.
- POST 메소드인 경우, 'nested datatype'은 아직 정식 지원하지 않으므로 파라미터를 분리해서 작성해 주십시오.
- URL은 반드시 argument 방식으로 동작하는 것으로 가정하여 작성해 주십시오. 현재의 모델은 argument 방식만 지원합니다. (파라미터=파라미터의 값)
<예시 1> http://test.com/data?birthdata=20190302&address=서초구 (O)
<예시 2 > http://test.com/data?20190302/서초구 (X)
작성 예시는 다음과 같습니다.
Parameter Object
작업에 적용할 수 있는 매개 변수 목록입니다. 필수 입력 값입니다.
필드 | 설명 | 필수 여부 |
---|---|---|
name | 매개 변수의 이름. 대소문자 구별 | Y |
in | 매개 변수의 위치.
|
Y |
description | 해당 파라미터에 대한 구체적인 설명 | N |
required | 매개 변수의 필수 여부 결정
|
N |
schema: type | 매개변수 데이터 유형 설정
|
N |
schema:format | 데이터 타입별 포맷 설정
|
N |
description에는 해당 파라미터가 어떤 의미를 갖고 있는지, 어떤 상황에서 사용되는 것인지, URL 생성 시 어떤 형식으로 들어가야 하는지 등을 구체적으로 작성합니다. 만약 파라미터가 가져야 하는 값이 한정되어 있다면 예시 값을 구체적으로 작성합니다.
- male 또는 female 둘 중 하나의 값만 가져야 한다면 description에 구체적으로 작성합니다.
<예시> male 또는 female 중에 하나 - 강남으로 검색해도 강남구로 url에 들어가야 한다면 description에 구체적으로 작성합니다.
<예시> 강남구, 서초구 - 해당 파라미터가 한정된 장소를 검색하는 값이라면, 단순 검색어가 아닌 '레스토랑 또는 카페와 같은 특정 장소를 검색할 때 사용된다'라는 의미를 모델이 이해할 수 있도록 작성합니다.
<예시>
작성 예시는 다음과 같습니다.
Operation Object
API 호출 작업에 대한 정보입니다. 필수 입력 값입니다.
필드 | 설명 | 필수 여부 |
---|---|---|
description | 작업 동작에 대한 자세한 설명 | N |
operationId | 작업 식별 시 사용되는 고유 문자열. Open API를 이용하는 다른 툴이나 라이브러리에서 operationId를 사용하여 식별하는 것도 가능 | Y |
responses | 작업을 실행하여 반환되는 것이 가능한 응답 목록. 응답은 Response Object 형태로 제공 | Y |
작성 예시는 다음과 같습니다.
Response Object
작업 응답에 대한 설명입니다. 필수 입력 값입니다.
필드 | 설명 | 필수 여부 |
---|---|---|
description | 응답에 대한 간단한 설명 | Y |
200 응답은 필수 값이며, HTTP 상태 코드에 따라 기타 응답을 추가할 수 있습니다.
- 잘못된 파라미터에 대한 요청 시 422, 400 오류를 반환합니다.
- 정의된 오류 코드가 없을 경우, 422 오류를 임의로 만들어서 반환합니다.
작성 예시는 다음과 같습니다.
Components
OAS의 다양한 부분에서 재사용 가능한 객체 집합입니다.
필드 이름 | 타입 | 설명 |
---|---|---|
schemas | Map[string, Schema Object I Reference Object] | 재사용 가능한 Schema Object의 객체 |
responses | Map[string, Response Object I Reference Object] | 재사용 가능한 Response Object의 객체 |
parameters | Map[string, Parameter Object I Reference Object] | 재사용 가능한 Parameter Object의 객체 |
examples | Map[string, Example Object I Reference Object] | 재사용 가능한 Example Object의 객체 |
작성 예시는 다음과 같습니다.
API Spec 확장 기능
API Spec에서 x-exclude-cot 객체를 사용하면 API 응답에서 해당 파라미터를 제외할 수 있습니다. Response Object에서 사용되고, Content-Type이 application/json 타입인 경우에만 적용 가능합니다. 응답에 사용되는 모든 매개 변수를 정확하게 작성해야 정상적으로 적용됩니다.
x-exclude-cot 객체는 다음과 같은 경우에 활용할 수 있습니다.
- API 응답이 길어서 토큰 수 초과 에러가 발생하는 경우
x-exclude-cot가 적용된 파라미터의 경우 데이터 수집 과정 중 'API 호출 결과'에서 제외됩니다. 따라서 실제 사용되지 않는 파라미터에 x-exclude-cot를 적용하면 데이터 수집 시 API 응답을 줄일 수 있습니다. - 학습 비용을 절약하고자 하는 경우
불필요한 파라미터에 x-exclude-cot를 적용하면, 데이터 수집 과정에서 토큰 수를 절약할 수 있습니다. 결과적으로 학습에 사용되는 토큰 수를 절약할 수 있습니다.
API 응답에서 address라는 매개 변수를 제외하도록 설계한 예시는 다음과 같습니다.
데이터 수집이 아닌, 테스트 앱이나 서비스 앱을 발급하여 호출하는 경우에는 x-exclude-cot가 적용된 필드도 API 응답에 모두 노출됩니다. 이 경우 API 응답에 대한 토큰 수 초과 에러는 발생되지 않습니다.
API Spec 작성 예시
API Spec 작성 예시를 설명합니다.
Requests_get을 사용하는 예시
Requests_get을 사용하는 예시는 다음과 같습니다.
Requests_post를 사용하는 예시
Requests_post를 사용하는 예시는 다음과 같습니다.
Manifest 작성
Manifest는 해당 스킬을 통해 호출할 수 있는 API의 이름, 목적, 사용 방법 등을 입력하는 영역입니다. Manifest의 입력 영역인 Name for model, Description for human, Description for model 각 필드에 대해 설명합니다.
-
- 모델 이름을 작성합니다. 다른 API와 이름이 중복되지 않아야 하며 API의 성격을 내포하여 간결하게 작성해야 합니다.
- 영문자, 숫자를 허용하며 대문자로 시작하는 문자열을 20자 이내로 입력해 주십시오. 한글, 특수 문자, 공백을 허용하지 않습니다.
- 두 개 이상의 단어를 조합할 경우, 각 단어의 첫 글자은 대문자로 작성해 주십시오. 예를 들어, 'animal'과 'hospital'이라는 두 개의 단어를 조합하여 API 이름을 만들 경우 'AnimalHospital'라고 작성합니다.
- 스킬 이름에 'API'라는 단어는 사용하지 마십시오.
-
- API의 목적과 용도를 작성합니다. 모든 API의 역할이 명확하게 작성되어야 합니다. 사용자의 질문을 바탕으로 모델이 여러 API 중에서 필요한 API를 선택하는 기준이 됩니다.
- 예를 들어 동물병원 검색, 애견카페 검색, 애견용품 검색 API가 존재할 때 사용자의 질문이 '동물병원 위치 알려줘'일 경우, 모델은 각 API의 description_for_human을 읽고 동물병원 검색 API를 선택합니다.
- 작성 예시는 다음과 같습니다.
-
- API의 주요 사용 방법을 5,000자 이내로 작성합니다. 모델이 사용자의 질문에 답변할 때 사용할 API를 결정할 때 사용자의 질문과 ‘decription_for_model’을 모두 참고하여 여러 개의 API 중 적절한 API를 선택합니다. 또한 API 응답으로 받을 수 있는 정보에 대해서도 작성해야 합니다. 각 API를 호출했을 때 어떤 정보를 받을 수 있는지에 대해 범위를 상세하게 작성해야 모델이 API를 적절하게 선택하여 사용할 수 있습니다. 만약 Path가 여러 개인 경우에는 Path별 역할에 대해 자세히 작성해야 합니다. Path별로 검색되어야 할 키워드를 작성해야 모델이 해당 API를 적절하게 사용할 수 있습니다.
- 작성 예시는 다음과 같습니다.
스킬 편집
스킬 정보를 편집하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔에서 Services > AI Services > CLOVA Studio 메뉴를 차례대로 클릭해 주십시오.
- My Product 메뉴에서 [CLOVA Studio 바로가기] 버튼을 클릭해 주십시오.
- CLOVA Studio에서 스킬 트레이너 메뉴를 클릭해 주십시오.
- 스킬셋을 클릭해 주십시오.
- 화면 왼쪽의 스킬 메뉴를 클릭한 후 편집할 스킬명을 클릭해 주십시오.
- 스킬 정보를 수정한 후, [저장하기] 버튼을 클릭해 주십시오.
- 수정한 내용이 있거나 필수 항목이 모두 작성되어야 [저장하기] 버튼이 활성화됩니다.
- 스킬 이름과 Name for model을 수정한 경우, [중복 확인] 버튼을 클릭해 주십시오.
- API Spec을 수정한 경우, [검증하기] 버튼을 클릭해 주십시오.
- 편집할 내용이 없으면 [취소] 버튼을 클릭해 주십시오.
스킬 삭제
스킬을 삭제하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔에서 Services > AI Services > CLOVA Studio 메뉴를 차례대로 클릭해 주십시오.
- My Product 메뉴에서 [CLOVA Studio 바로가기] 버튼을 클릭해 주십시오.
- CLOVA Studio에서 스킬 트레이너 메뉴를 클릭해 주십시오.
- 스킬셋을 클릭해 주십시오.
- 화면 왼쪽의 스킬 메뉴를 클릭해 주십시오.
- 삭제할 스킬명에 마우스 포인터를 올려 놓은 후
아이콘을 클릭해 주십시오.
- 삭제 팝업 창이 나타나면 [삭제] 버튼을 클릭해 주십시오.