표현식 작성
_표현식_을 작성하여 단계에서 수집되거나 세션 변수에 저장된 값과 독립적이거나 이 값에서 파생된 값을 지정할 수 있습니다. 표현식을 사용하여 단계 조건을 정의하거나 세션 변수 값을 정의할 수 있습니다.
단계 조건에서 표현식 사용
대화 중에 수집한 정보를 기반으로 계산 결과에 따라 단계의 조건을 지정하려는 경우 단계 조건에서 표현식을 사용할 수 있습니다.
예를 들어, 고객이 저축 계좌에 $200를 가지고 있고 $150를 새 당좌 예금 계좌로 이체하려고 한다고 가정합니다. 자금 이체 수수료는 3달러이고 은행에서는 50달러 미만의 예금 계좌에 수수료를 부과합니다. 이 상황을 확인하는 단계 조건이 포함된 단계를 작성할 수 있습니다. 단계 조건은 다음과 같은 표현식을 사용합니다.
${savings} - (${Step_232} + ${transfer_fee}) < 50
여기서,
${savings}는 고객의 예금 계좌 총액을 저장하는 세션 변수를 나타냅니다.${Step_232}는 고객이 이체하려는 금액을 묻는 단계를 나타냅니다.${transfer_fee}는 자금 이체 수수료를 지정하는 세션 변수를 나타냅니다.
단계 조건이 충족되면, 단계에서는 요청된 이체로 최소 50 달러 미만의 예금 계좌 잔액을 가져오고 수수료가 부과되며, 진행하기 전에 확인이 요청됨을 사용자에게 알립니다.
단계 조건에서 표현식을 사용하려면 다음 단계를 수행하십시오.
-
단계에서 조건 추가를 클릭하십시오.
조건은 가장 가능성이 높은 선택사항, 즉 일반적으로 이전 단계에서 설정된 모든 변수를 사용하여 자동으로 생성됩니다.
-
생성된 조건의 첫 번째 세그먼트를 클릭한 다음 아래로 스크롤하여 표현식을 클릭하십시오.
-
선택사항:
펼치기 아이콘을 클릭하여 표현식 편집기 창을 여십시오. (창을 열지 않고 필드에 직접 표현식을 입력할 수도 있지만 편집기를 사용하면 더 길거나 더 복잡한 표현식을 쉽게 편집할 수 있습니다.) -
사용하려는 표현식을 입력하십시오.
표현식을 사용하여 세션 변수에 값 지정
다른 변수를 기반으로 변수의 값을 계산하려는 경우 세션 변수에 값을 지정할 때 표현식을 사용할 수 있습니다.
예를 들어, 6% 판매세 및 고정 $3.00 처리 비용을 포함하여 총 구매 비용을 고객에게 알리려 한다고 가정합니다. 총 비용을 계산하기 위해 세션 변수를 작성하고 표현식을 사용하여 값을 지정할 수 있습니다.
(${price} * 1.06) + 3
그런 다음 Assistant 말하기 필드에서 이 변수를 참조할 수 있습니다.
세션 변수에 값을 지정할 때 표현식을 사용하려면 다음 단계를 수행하십시오.
-
단계 내에서 변수값 설정을 클릭하십시오.
-
새 값 설정을 클릭하십시오.
-
드롭 다운 목록에서 값을 저장할 세션 변수를 선택하십시오.
-
to 뒤에서 표현식을 선택하십시오.
-
사용하려는 표현식을 입력하세요.
-
표현식 편집기를 사용하는 경우 적용 을 클릭하여 변경사항을 저장하고 편집기 창을 닫으십시오.
표현식을 사용하여 세션 변수에 초기값을 지정할 수도 있습니다. 세션 변수 창에서 초기값 필드로 이동하여 표현식 사용을 클릭하십시오.
변수를 먼저 선택하지 않고 직접 표현식을 작성할 수도 있습니다.
-
단계 내에서 변수값 설정을 클릭하십시오.
-
새 값 설정을 클릭하십시오.
-
드롭 다운 목록에서 표현식을 선택하십시오.
-
사용하려는 표현식을 입력하세요.
-
표현식 편집기를 사용하는 경우 적용 을 클릭하여 변경사항을 저장하고 편집기 창을 닫으십시오.
표현식 구문
그만큼watsonx Assistant 표현 언어는 Spring 표현 언어(SpEL ) 그러나 구문에는 몇 가지 중요한 차이점이 있습니다. 자세한 배경 정보는SpEL, 보다 스프링 표현 언어(SpEL).
변수
표현식에서 변수를 참조하려면 달러 부호 ($) 를 입력한 후 목록에서 변수를 선택하십시오. 참조는 올바른 표기법으로 표현식에 삽입되며 표시 이름 (예: ${step_773} 또는 ${customer_id}) 이 아닌 변수 ID를 사용하여 변수를 참조합니다. 다른 변수를 참조하고 해당 변수 ID를 확신하는 경우가 아니면 이 참조를 편집하지 마십시오.
사용자 정의 구축 클라이언트 애플리케이션에서 사용자 정의 작업 또는 세션 변수를 참조하려면 예약된 키워드 접두사를 사용하세요.user_defined_. 예를 들어 ${user_defined_my_context_var} 의 가치를 얻기 위해 my_context_var 고객이 설정합니다. 사용자 정의 클라이언트에 대한 자세한 내용은 다음을 참조하세요.맞춤형 클라이언트.
표준 수학
숫자 값의 경우 표현식을 사용하여 수학적 계산을 수행할 수 있습니다. 기본 산술의 경우 표준 연산자 (+, -, *, /) 를 사용할 수 있습니다.
메소드를 사용하여 추가 수학 연산을 수행할 수도 있습니다. 자세한 정보는 조치에 대한 표현식 언어 메소드 를 참조하십시오.
배열
배열 값을 정의하려면 항목을 쉼표로 구분하여 대괄호를 사용하여 값을 입력하십시오 (예: [ "one", "two", "three" ]).
배열에서 항목을 참조하려면 대괄호 표기법을 사용하고 배열에서 항목의 0기반 색인을 지정하십시오. 예를 들어, ${Items}[0] 는 배열 Items 의 첫 번째 항목을 나타냅니다.
배열 메소드 get() 를 사용하여 배열에서 항목을 검색할 수도 있습니다. 자세한 정보는 조치에 대한 표현식 언어 메소드 를 참조하십시오.
JSON 오브젝트
JSON 표기법을 사용하여 표현식에서 복합 오브젝트를 정의하십시오. 예를 들어, 다음 표현식은 복합 JSON 오브젝트를 변수의 값으로 지정합니다.
{
"name": {
"firstname": "John",
"lastname": "Doe"
},
"age": 36
}
JSON내에서 변수 및 표준 수학을 사용하여 런타임 시 계산되는 동적 오브젝트를 작성할 수 있습니다. 예를 들어, 다음 표현식은 변수를 참조하고 평균값을 계산하는 JSON 오브젝트를 정의합니다.
{
"temp_1": ${temp_1},
"temp_2": ${temp_2},
"avg_temp": (${temp_1} + ${temp_2}) / 2
}
JSON값에 포함된 하위 오브젝트를 참조하려면 점 표기법을 사용하여 오브젝트에 대한 경로를 표시하십시오 (예: ${customer}.name.lastname).
정의될 수도 있고 정의되지 않을 수도 있는 오브젝트의 하위를 참조해야 하는 경우 안전한 탐색 연산자 (?) 를 사용하십시오. 예를 들어, 표현식 ${customer}.name?.lastname 는 customer.name 가 null 인 경우 null 로 평가됩니다. (안전한 탐색 연산자가 없으면 오류가 발생합니다.)
메소드
표현식 언어 메소드를 사용하여 값을 조작하십시오 (예: 문자열 형식화 또는 배열에 항목 추가). 각 데이터 유형에 대해 지원되는 메소드에 대한 자세한 정보는 조치에 대한 표현식 언어 메소드 를 참조하십시오.