- YAML 표현
- 슬롯
<ph type="x-smartling-placeholder">
- </ph>
- YAML 표현
- PromptSettings
<ph type="x-smartling-placeholder">
- </ph>
- YAML 표현
- CommitBehavior
<ph type="x-smartling-placeholder">
- </ph>
- YAML 표현
- DefaultValue
<ph type="x-smartling-placeholder">
- </ph>
- YAML 표현
장면은 대화를 설계할 때 제어 흐름의 기본 단위입니다. 다른 장면과 함께 연결하고, 최종 사용자를 위한 프롬프트를 생성하고, 슬롯을 정의할 수 있습니다. 장면 이름은 파일 이름에 지정됩니다.
YAML 표현 | |
---|---|
onEnter: object ( |
필드 | |
---|---|
onEnter |
이 장면으로 전환할 때 호출할 핸들러입니다. |
intentEvents[] |
인텐트를 기반으로 트리거되는 이벤트 목록입니다. 이러한 이벤트는 on_load 핸들러가 호출된 후 언제든지 트리거될 수 있습니다. 중요 - 이러한 이벤트는 이 장면으로 범위가 지정된 인텐트 집합을 정의하며 동일한 인텐트 또는 트리거 구문이 있는 전역적으로 정의된 이벤트보다 우선합니다. 인텐트 이름은 장면 내에서 고유해야 합니다. |
conditionalEvents[] |
조건문에 따라 트리거할 이벤트 목록입니다. 이는 양식이 채워진 후 또는 이 장면에 양식이 없는 경우 on_load 직후에 평가됩니다 (평가는 한 번만 실행됨). 첫 번째로 일치하는 이벤트만 트리거됩니다. |
slots[] |
순서가 지정된 슬롯 목록입니다. 각 슬롯은 확인할 데이터 유형을 정의하고 이 해결 방법의 환경을 맞춤설정하기 위해 구성합니다 (예: 프롬프트). |
onSlotUpdated |
다른 핸들러 내 업데이트로 인한 것이 아닌 슬롯 상태가 변경되면 호출되는 핸들러입니다. 이를 통해 슬롯이 무효화되거나 장면이 무효화되거나 장면 상태가 변경될 수 있습니다. |
슬롯
슬롯 구성입니다. 슬롯은 자연어 (즉, 인텐트 매개변수), 세션 매개변수, 기타 소스를 통해 채울 수 있는 데이터의 단일 단위입니다.
YAML 표현 | |
---|---|
name: string type: object ( |
필드 | |
---|---|
name |
필수 항목입니다. 슬롯의 이름입니다. |
type |
필수 항목입니다. 이 슬롯의 데이터 유형을 선언합니다. |
required |
선택사항입니다. 진행하기 전에 슬롯을 채워야 하는지 여부를 나타냅니다. 채워지지 않은 필수 슬롯은 사용자에게 맞춤설정 가능한 메시지를 트리거합니다. |
promptSettings |
선택사항입니다. 다양한 슬롯 채우기 단계에 관한 프롬프트를 등록합니다. |
commitBehavior |
선택사항입니다. 슬롯과 관련된 커밋 동작 |
config |
선택사항입니다. 슬롯을 채우는 데 사용되는 슬롯과 연결된 추가 구성입니다. 구성 형식은 슬롯 유형에 따라 다릅니다. 사용자 또는 세션 매개변수에 대한 리소스 참조를 이 구성에 추가할 수 있습니다. 이 구성은 트랜잭션 및 사용자 참여와 관련된 슬롯을 채우는 데 필요합니다. 예: actions.type.CompletePurchaseValue 유형의 슬롯의 경우 다음 구성은 클라이언트에서 정의한 세션 매개변수 { "@type": "type.googleapis.com/ google.actions.transactions.v3.CompletePurchaseValueSpec", "skuId": { "skuType": "SKU_TYPE_IN_APP", "id": "$session.params.userSelectedSkuId", "packageName": "com.example.company" } } |
defaultValue |
선택사항입니다. 이 슬롯의 기본값을 채우기 위한 구성입니다. |
PromptSettings
슬롯 프롬프트가 정의된 단일 위치입니다.
YAML 표현 | |
---|---|
initialPrompt: object ( |
필드 | |
---|---|
initialPrompt |
슬롯 값 자체를 묻는 메시지를 표시합니다. 예: "어떤 사이즈를 원하셨나요?" |
noMatchPrompt1 |
사용자의 입력이 슬롯의 예상 값 유형과 처음 일치하지 않는 경우 제공할 메시지 표시 예: '죄송합니다. 인식하지 못했습니다.' |
noMatchPrompt2 |
사용자 입력이 두 번째로 슬롯에 예상되는 값 유형과 일치하지 않는 경우 제공하라는 프롬프트입니다. 예: '죄송합니다. 인식하지 못했습니다.' |
noMatchFinalPrompt |
사용자의 입력이 마지막 슬롯의 예상 값 유형과 일치하지 않는 경우 제공할 메시지 표시 예: '죄송합니다. 인식하지 못했습니다.' |
noInputPrompt1 |
사용자가 처음으로 입력을 제공하지 않을 때 제공하는 메시지 예: '죄송합니다. 인식하지 못했습니다.' |
noInputPrompt2 |
사용자가 두 번째로 입력을 제공하지 않을 때 제공할 메시지 표시 예: '죄송합니다. 인식하지 못했습니다.' |
noInputFinalPrompt |
사용자가 마지막으로 입력을 제공하지 않은 경우 제공하는 프롬프트입니다. 예: '죄송합니다. 인식하지 못했습니다.' |
CommitBehavior
슬롯이 성공적으로 채워진 후 슬롯과 관련된 커밋 동작을 설명하는 메시지입니다.
YAML 표현 | |
---|---|
writeSessionParam: string |
필드 | |
---|---|
writeSessionParam |
슬롯 값이 채워진 후 값을 쓰는 세션 매개변수입니다. 중첩 경로는 현재 지원되지 않습니다. '$$' 슬롯 값을 슬롯과 이름이 같은 세션 매개변수에 쓰는 데 사용됩니다. 예: writeSessionParam = "fruit" '$session.params.fruit'에 해당합니다. writeSessionParam = "ticket" '$session.params.ticket'에 해당합니다. |
DefaultValue
이 슬롯의 기본값을 채우기 위한 구성입니다.
YAML 표현 | |
---|---|
sessionParam: string constant: value |
필드 | |
---|---|
sessionParam |
선택사항입니다. 값이 비어 있지 않은 경우 슬롯 값을 초기화하는 데 사용할 세션 매개변수입니다. 값 유형은 슬롯 유형과 일치해야 합니다. 중첩 경로는 현재 지원되지 않습니다. 예를 들어 |
constant |
선택사항입니다. 슬롯의 상수 기본값입니다. 이 슬롯의 값이 |