액션

기본 액션과 커스텀 액션

  • 액션은 크게 두가지가 존재합니다. 액션 목록에서 필터링할 수 있습니다.

    • 기본 액션: 사용자가 정의한 액션이 아닌, 시스템 내부적으로 사용하는 액션입니다. 사용자가 아무것도 입력하지 않거나 플로우를 중단하고 싶다고 말하는 등 다양한 케이스에 대응하기 위해 기본적으로 내장되어 있는 플로우들이 존재하는데, 이 플로우에서 사용하는 액션입니다.

    • 커스텀 액션: 사용자가 만든 액션입니다.

기본 액션

  • 기본 액션은 Taskflow 에 내장되어있는 액션으로, 사용자가 만든 액션 외에 기본 플로우에서 사용하는 액션입니다. 기본 플로우가 미리 지정되어 있기 때문에 Taskflow 설계자는 사용자가 의도하지 않은 답변을 하는 상황을 설계하지 않고 가장 이상적인 상황(Happy Path)만 설계하면 됩니다. 플로우 설계에 대한 자세한 내용은 플로우 페이지를 참조해주세요.

  • 예를 들어, 사용자가 담당자와 직접 대화를 요청할 때 담당자 연결이 어렵다고 응답하는 플로우인 pattern_human_handoff 가 작동하는데, 이 플로우에서는 action_human_handoff 액션을 수행합니다. 만약 담당자 연결이 가능하게 챗봇을 설계하고 싶다면 기본 액션이나 기본 플로우를 변경할 수 있습니다.

기본 액션의 변경 (기본 액션 화면 구현 예정)

  • 사용자는 기본 액션을 쉽게 변경할 수 있습니다. 기본 액션과 같은 이름의 커스텀 액션을 생성하면 기본 액션 대신 커스텀 액션이 작동하게 됩니다. 기본 액션 목록은 기본 액션 목록을 참조해주세요.

커스텀 액션

  • 태스크플로우 빌더 상세 페이지에서 액션 목록 > 액션 생성 버튼을 통해 커스텀 액션을 추가로 생성할 수 있습니다.

  • 액션 생성 버튼을 누르면 액션을 생성하기 위한 팝업이 노출됩니다.

    • 제목: 액션의 영문 제목

      • 플로우에서 정보 수집 을 위해 사용하는 액션 이름은 ask_ 로 시작해야 합니다.

      • ask_ 로 시작하는 발화와 액션은 함께 존재할 수 없습니다. 하나만 생성해주세요.

      • (참고) 현재는 발화를 선택하는 기능에 ask_ 만 필터링 하는 기능이 없습니다. 추후 추가 예정입니다.

    • 상세 설명: 발화에 대한 설명. 사용자가 발화를 구별하기 위해 사용하는 메모 용도로, 프롬프트에 입력되지 않습니다.

  • 생성 버튼을 누르면 액션이 생성됩니다.

커스텀 액션에 코드 삽입

  • 커스텀 액션을 만들면 액션 안에서 수행할 파이썬 코드를 작성해야 합니다.

* 커스텀 액션에서 지켜야할 컨벤션 설명 * Class 내에 name 함수의 return 값은 변경하면 안됩니다. * run 함수에 인자를 변경하면 안됩니다.

액션 코드에서 사용 가능한 유용한 기능

Code
설명

tracker.get_slot("슬롯명")

"슬롯명"의 값을 가져오고 싶을 때 사용

tracker.current_state().get('slots')

현재 대화 세션에서 수집된 모든 슬롯들의 값을 가져올 때 사용

Last updated

Was this helpful?