일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- JSONArray 분할
- 폐기하기
- 성능개선
- date_format
- Meta Table
- batchInsert
- JSON 분할
- 스프링 배치 공식문서
- 마리아디비
- 스프링 리액티브 프로그래밍
- JSONObject 분할
- ChainedTransactionManager #분산데이터베이스 #Spring Boot #MyBatis
- spring reactive programming
- 마이바티스 트랜잭션
- 무시하기
- jar 소스보기
- spring webflux
- str_to_date
- 날짜형을 문자형으로
- git stage
- JobExecutionAlreadyRunningException
- 스프링 배치 메타 테이블
- JSON 분해
- 문자형을 날짜형으로
- 스프링 웹플럭스
- nonblocking
- 스테이지에 올리기
- JSON 분리
- org.json
- multi update
- Today
- Total
ebson
[주요 개념] 파라미터 설정 본문
1. 파라미터 개요
파라미터란 봇이 사용자 의도를 정확히 이해하기 위한 필수 데이터임
봇은 대화를 통해 파라미터 데이터를 채우고 필요한 파라미터가 없으면 되물음
'스킬'은 입력된 데이터에 맞는 다양한 결과값을 보여주는데 이때의 데이터도 파라미터임
스킬 제작 작업자는 필수 파라미터를 정의함.
2. 챗봇 관리자센터의 [파라미터 만들기]
파라미터명, 엔티티, 값, 필수 파라미터로 설정 체크 등등
3. 파라미터 구성 요소
3.1. 파라미터 명
파라미터를 구분하는 이름
3.2. 엔티티
발화에 매핑된 엔티티를 파라미터에 연결함
발화 입력시 유효한 엔티티가 있는 경우에는 추천되고, 선택 태깅 가능함
3.3. 값
엔티티를 통해서 채우거나 이전 또는 현재의 정보에 접근해서 값을 채움
이외에도 고정된 값을 지정할 수 있음
3.3.1. 엔티티 값
'$'으로 시작하는 이름으로 구성된 값
주로, 파라미터 이름과 동일하게 사용함
3.3.2. 특정 값
값 위치에 '#'으로 시작하는 이름으로 구성된 값
'current'를 사용해 접근할 수 있는 값은 현재 대화의 발화 내용임
'request payload'의 특정 path 값
3.3.3. 고정된 값
'$' 이나 '#'으로 시작하지 않는 값
값 자체가 실제 파라미터의 값으로 사용됨
3.4. 기본값
필수 파라미터로 지정되지 않고 사용자의 발화나 이전 또는 현재의 특정 값을 참조
또는 고정된 값이 없을 경우 사용되는 값
3.5. 파라미터 검증 API
검증/변환 작업을 스킬로 요청을 보내기 이전에 수행할 때 사용되는 항목
파라미터에 채워진 값이 HTTP 요청의 payload으로 사용되어짐
3.6. 그룹 파라미터
기본적으로 하나의 파라미터는 하나의 엔티티와 연결되고 블록 안에서 유일한 이름을 가짐
그룹 파라미터는 그룹 내 하나의 정보만으로도 동작 수행에 문제가 없을 때 사용
2개 이상의 파라미터 집합으로 이루어지고 이 중 하나 이상의 엔티티가 채워지면 슬롯필링이 완료됨
3.7.슬롯필링
파라미터가 필수임에도 값이 채워지지 않았을 때 되묻기 질문하는 과정임
스킬별로 필수 값들을 채운 후 스킬을 호출하기 위한 목적임
누적 컨텍스트의 라이프스팬은 차감되지 않고 진행됨
4. 파라미터에 연결된 스킬 실행 과정
4.1. Request payload 구성
스킬을 실행하는 HTTP POST 요청에서 응답 JSON의 구성을 결정함
이외에 http header에는 X-Request-Id 라는 형태로 하나의 대화에 부여된 유일한 값인 footprint id 값을 전달
4.2. payload란?
HTTP 요청에 포함되는 데이터이고 JSON 형태임
JSON을 구성하는 키는 파라미터 이름이고 값을 추출된 값임
5. 개발자를 위한 심화단계
5.1. API 파라미터 설명
파라미터들 중에서 지정된 API를 통해 스킬의 payload로 만들어 보내기 전에 확인하는 기능을 제공
5.2. 실제되는 형태
값이 채워진 파라미터들 중에서 API사용에 대한 메타 데이터가 등록된 파라미터만 미리 정해진 스펙대로 값을 변환
5.3. Request payload 구조
{
"isInSlotFilling": true or false
"utterance": "current request's utterance",
"value": {
"origin": "orignal value",
"resolved": "resolved value(by AIU or etc.)"
},
"user": {
// vsc 에서 전달된 data 그대로 전달
"id": "id of user",
"type": "type of id"
}
}
예약된 Response JSON 구조
{
"status": "SUCCESS|FAIL|ERROR|IGNORE", // 현재는 SUCCESS 만 다룸.(SUCCESS - 성공, FAIL - 실패,
ERROR - API 실행중 ERROR 발생, IGNORE - 그냥 이 결과를 무시)
"value": "Action 에 의해서 해석된 value",
"data": {
// something to pass to client(API 가 Action 으로 전달하고자 하는 데이터를 담는 곳, 아직 구현되지 않음)
},
"message": "..." // String type
}
참고출처
"도움말-챗봇 관리자센터", https://i.kakao.com, 2023년 7월 3일 수정, 2023년 7월 14일 접속, https://i.kakao.com/docs/key-concepts-parameters#챗봇-관리자센터에-들어가는-파라미터-값.
'KAKAO CHATBOT' 카테고리의 다른 글
[주요 개념] 컨텍스트 (0) | 2023.07.14 |
---|---|
[주요 개념] 응답 설정 (0) | 2023.07.14 |
[주요 개념] 발화 패턴 (0) | 2023.07.14 |
[주요 개념] 블록 (0) | 2023.07.13 |
[주요 개념] 시나리오 (0) | 2023.07.13 |