전호영 Posted October 30, 2024 공유하기 Posted October 30, 2024 안녕하세요. 다음과 같이 API Spec을 작성하였습니다. { "info": { "title": "자투리 시간 및 현재 위치 기반 장소 추천", "version": "v1" }, "paths": { "/v1/places_recommendation": { "post": { "summary": "AI를 통해 장소를 추천하는 API입니다.", "responses": { "200": { "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "description": "추천 순서(1,2,3,4,5 중 1)" }, "title": { "type": "string", "description": "장소 이름" }, "address": { "type": "string", "description": "장소 주소" }, "content": { "type": "string", "description": "장소 추천 이유" } } }, "maxItems": 5, "minItems": 1 } } }, "description": "성공적인 응답" } }, "description": "AI를 통해 장소를 추천하는 API입니다.", "operationId": "placesRecommendation", "requestBody": { "content": { "application/json": { "schema": { "type": "object", "required": [ "spareTime", "activityType", "keywords", "location" ], "properties": { "keywords": { "type": "array", "items": { "enum": [ "SELF_DEVELOPMENT", "HEALTH", "NATURE", "CULTURE_ART", "ENTERTAINMENT", "RELAXATION", "SOCIAL" ], "type": "string" }, "description": "원하는 활동 주제. SELF_DEVELOPMENT, HEALTH, NATURE, CULTURE_ART, ENTERTAINMENT, RELAXATION, SOCIAL 중 1~7개의 값을 가진다." }, "location": { "type": "string", "description": "현재 위치" }, "spareTime": { "type": "integer", "description": "자투리 시간. 10~300 사이의 값을 가진다." }, "activityType": { "enum": [ "ONLINE", "OFFLINE", "ONLINE_AND_OFFLINE" ], "type": "string", "description": "활동의 온/오프라인 여부. ONLINE, OFFLINE, ONLINE_AND_OFFLINE 중 하나의 값을 가진다." } } } } }, "required": true } } } }, "openapi": "3.0.0", "servers": [ { "url": "http://localhost:8080" } ] } 그 후 데이터 수집 시 호출 옵션을 다음과 같이 설정하였습니다. { "baseOperation": { "header": { "X-Naver-Client-Id": "", "X-Naver-Client-Secret": "" } }, "operations": [ { "operationId": "placesRecommendation", "requestBody": { "spareTime": 30, "activityType": "OFFLINE", "keywords": [ "NATURE" ], "location": "서울시 강남구" } } ] } 그 후 실행을 누르면 위와 같이 계속 에러가 발생합니다.. 어디가 문제인지 모르겠습니다 . 링크 복사 다른 사이트에 공유하기 More sharing options...
CLOVA Studio 운영자6 Posted October 31, 2024 공유하기 Posted October 31, 2024 @전호영님 안녕하세요. 공유주신 API Spec을 확인해본 결과, servers 항목의 url 필드에 로컬 주소(http://localhost:8080)가 입력되어서 해당 오류가 발생된 것으로 보입니다. 따라서 외부에서도 접근이 가능한 도메인 이름 또는 주소로 변경해 주시면 정상적인 호출이 가능합니다. 이후에도 문제가 지속되거나 추가적인 문의가 있으시다면 언제든 남겨주세요! 감사합니다 🙂 링크 복사 다른 사이트에 공유하기 More sharing options...
전호영 Posted November 1, 2024 Author 공유하기 Posted November 1, 2024 예시로 준 지역검색을 사용해보았습니다. API Spec에서 query에 대한 값들을 수정하고, display도 5로 변경했습니다. Quote { "info": { "title": "네이버 지역 검색", "version": "1.0.0", "description": "네이버 지역 서비스에 등록된 업체 및 기관을 검색하기 위한 스킬" }, "paths": { "/v1/search/local.json": { "get": { "summary": "국내 지역 정보 검색 결과를 나열합니다.", "responses": { "200": { "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "link": { "type": "string" }, "mapx": { "type": "string" }, "mapy": { "type": "string" }, "title": { "type": "string" }, "address": { "type": "string" }, "category": { "type": "string" }, "telephone": { "type": "string" }, "description": { "type": "string" }, "roadAddress": { "type": "string" } } } }, "start": { "type": "integer" }, "total": { "type": "integer" }, "display": { "type": "integer" }, "lastBuildDate": { "type": "string" } } } } }, "description": "- **title**: 업체명\\n- **address**: 지번 주소(e.g. 서울특별시 중구 을지로3가 229-1)\\n- **roadAddress**: 도로명 주소(e.g. 서울특별시 중구 을지로15길 6-5)\\n- **category**: 카테고리(e.g. 식당, 카페, 병원, 미용실, 기업, 공공 기관)\\n- **description**: 업체에 대한 설명(e.g. 연탄불 한우갈비 전문점, 강남역 근처 분위기 좋은 카페)\\n- **link**: 홈페이지 링크" } }, "parameters": [ { "in": "query", "name": "query", "schema": { "type": "string" }, "required": true, "description": "**query**: 사용자가 하고싶은 활동의 타입으로 중복 선택이 가능합니다. (e.g. 자기개발, 건강, 자연, 문화/예술, 엔터테인먼트, 휴식, 소셜)\\n" }, { "in": "query", "name": "display", "schema": { "type": "integer", "default": "5" }, "required": true, "description": "요청한 쿼리에 대한 검색 결과 수 입니다. 유일한 상점이나 업체일 경우에는 결과를 1개만 보여주세요." }, { "in": "query", "name": "sort", "schema": { "type": "string" }, "required": false, "description": "검색 결과 정렬 방법\\n- **random**: 정확도순으로 내림차순 정렬(기본값)\\n- **comment**:카페, 블로그의 리뷰 개수순으로 내림차순 정렬이 필요할 때 값을 사용하세요. '맛집'이라는 키워드가 포함되면 무조건 이 값을 사용하세요.(e.g. 리뷰 많은 순으로 정렬해주세요. 유명한 곳을 알려주세요. 인기 많은 곳을 알려주세요.)\\n" } ], "description": "지역의 업체나 기관을 검색합니다.", "operationId": "localSearch" } } }, "openapi": "3.0.2", "servers": [ { "url": "https://openapi.naver.com" } ] } 이 후 유저 쿼리로 Quote 자투리 시간: 30분 선호활동: OFFLINE 활동 키워드: 휴식 위치: 건대입구 활동이나 갈만한 장소를 추천해줘 이와 같이 날려보았는데 답변으로 Quote { "message": "네, 건대입구에서 휴식할 수 있는 장소를 알려드리겠습니다.", "list": [ { "name": "휴식카페 청계광장점", "address": "서울특별시 종로구 서린동 146 1F 휴식카페" }, { "name": "휴식카페 종로르메이에르점", "address": "서울 종로구 종로1가 24 1층 116-1호" }, { "name": "휴식카페 시청점", "address": "서울 중구 태평로2가 69-3 1층 휴식카페" }, { "name": "휴식 청계다동점", "address": "서울 중구 다동 70" }, { "name": "잠시휴식", "address": "서울 중구 을지로2가 6" } ] } 건대입구 주변이라고 할 수 없는 값들을 추천받았습니다. 이는 데이터 학습을 통해 해결하나요? 링크 복사 다른 사이트에 공유하기 More sharing options...
전호영 Posted November 1, 2024 Author 공유하기 Posted November 1, 2024 추가로 hyper clova x에 있는 스킬을 api로 받아올 순 없나요 ? 이렇게 네이버 여행 스킬을 api로 받아와 사용하고 싶습니다. 링크 복사 다른 사이트에 공유하기 More sharing options...
CLOVA Studio 운영자10 Posted November 4, 2024 공유하기 Posted November 4, 2024 @전호영님 안녕하세요! 전달주신 API Spec와 query로 확인해보니, API 조회 결과는 "건대입구에서 휴식할 수 있는 장소"로 잘 받아오나, 액션입력에서 쿼리 파마리터를 "query=휴식"으로 잡혀 API 호출 결과에 영향을 미친 것 으로 보입니다. 이때는 아래와 같이 액션입력 영역을 의도하신 "건대입구 휴식"로 수정 및 적용해주시면 최종답변까지 의도한 응답값을 받으실 수 있습니다.이렇게 데이터 수집 시에 Step2의 액션 입력값과 Step3의 생각 영역을 적절히 수정 후 학습을 진행하시면 모델 응답을 개선할 수 있습니다. 마지막으로, 문의 주신 CLOVA X의 Skill을 API로 활용하기 어려운 점 안내드립니다. 추가적인 문의 있으시면 편하게 남겨주세요! 감사합니다. 링크 복사 다른 사이트에 공유하기 More sharing options...
Recommended Posts
게시글 및 댓글을 작성하려면 로그인 해주세요.
로그인