Botpress에서 사용자 정의 봇 작업 개발

Botpress Eseo Sayongja Jeong Ui Bos Jag Eob Gaebal



챗봇은 더 나은 고객 지원을 제공하고 프로세스를 자동화하며 사용자와 보다 효과적으로 소통할 수 있는 현대 비즈니스의 기본 부분이 되었습니다. Botpress는 다양한 내장 작업을 제공하는 인기 있는 오픈 소스 챗봇 프레임워크입니다. 그러나 경우에 따라 특정 요구 사항을 충족하고 봇의 기능을 확장하기 위해 사용자 지정 봇 작업을 만들어야 할 수도 있습니다. 이 튜토리얼에서는 API 호출과 콘텐츠 요소의 응답 사용에 중점을 두어 Botpress에서 사용자 정의 봇 작업을 생성하는 과정을 안내합니다.

Botpress의 작업 이해

Botpress의 작업은 대화 흐름 중에 봇이 실행하는 서버 측 기능입니다. 대화 상태를 변경하고, 사용자 정의된 메시지를 보내고, 임의 코드를 실행(예: API 호출 또는 데이터 저장)하는 등의 권한이 있습니다. 기본적으로 작업은 일반 JavaScript 기능이므로 플랫폼의 제한 내에서 거의 모든 작업을 수행할 수 있습니다.

DM(대화 관리자)이 작업을 호출하면 함수에 컨텍스트를 제공하는 여러 인수를 받습니다. 이러한 인수에는 사용자 속성, 세션 변수, 임시 변수, 봇 수준 변수, 대화의 최신 사용자 이벤트, Visual Flow Builder에서 전달된 인수 및 일부 환경 변수가 포함된 샌드박스 VM이 포함됩니다.







새로운 액션 등록

사용자 정의 봇 작업을 추가하려면 JavaScript 파일(.js)을 생성하여 데이터/전역/작업 Botpress 프로젝트 내의 폴더입니다. 안타깝게도 런타임 중에 프로그래밍 방식으로 새 작업을 추가할 수 있는 방법은 없습니다. 코드에서 JavaDoc 주석을 사용하면 이름, 설명, 인수, 기본값 등 작업에 대한 의미 있는 정보를 제공할 수 있습니다. JavaDoc 주석에 @hidden true 플래그를 추가하여 흐름 편집기에서 작업을 숨길 수도 있습니다.



Botpress에서 사용자 정의 작업을 만드는 방법

Botpress에서 사용자 정의 작업을 생성하기 위해 따를 수 있는 몇 가지 단계는 다음과 같습니다.



1단계: 봇 생성 및 노드 추가

시작하려면 Botpress에서 새 봇을 만드세요. 봇이 생성되면 대화 흐름에 새 노드를 추가합니다.





2단계: 노드에 적절한 메시지 추가

새로 생성된 노드에 사용자와의 콘텐츠 교환을 촉진하는 데 필요한 메시지를 추가합니다. 예를 들어 사용자에게 인사하고 이름을 묻는 문자 메시지를 추가할 수 있습니다.



3단계: 사이드바에서 코드 실행 열기

Botpress Flow Builder의 사이드바로 이동하여 '코드 편집기'를 엽니다. 여기에서 사용자 정의 작업을 구성하고 관리할 수 있습니다.

  C:\Users\user01\Desktop\4124.PNG

4단계: '작업 추가' 버튼을 클릭하세요.

'코드 실행' 섹션에서 '액션 추가' 버튼을 클릭하세요. 이 작업을 수행하면 '새 action_legacy 만들기' 창이 열립니다.

  C:\Users\user01\Desktop\tempsnip.png

5단계: 파일 이름을 지정하고 제출 버튼을 클릭하세요.

“Create a new action_legacy” 창에서 사용자 정의 작업 파일에 의미 있는 이름을 지정합니다. 예를 들어 customAction.js입니다. 이름을 지정한 후 '제출'버튼을 클릭하십시오. 그러면 “customAction.js” 파일이 생성됩니다.

6단계: 사용자 정의 코드 작성

새로 생성된 “customAction.js” 파일을 엽니다. 파일 내부에는 새로운 작업에 대해 생성된 상용구 코드가 표시됩니다. 적절한 설명을 사용하여 사용자 정의 작업에 대한 의미 있는 설명을 제공하세요.

이제 함수 내에서 사용자 정의 코드를 작성하십시오. 이 코드는 사용자 정의 작업의 동작을 정의합니다. JavaScript를 사용하여 API 호출, 데이터베이스 액세스 또는 복잡한 논리 처리와 같은 다양한 작업을 수행할 수 있습니다.

7단계: 사용자 지정 작업을 사용하도록 노드 수정

Botpress Flow Builder로 돌아가서 사용자 정의 작업을 트리거할 노드를 수정합니다. 노드에 '코드 실행' 카드를 추가합니다.

8단계: 사용자 정의 작업 이름 선택 및 작업 매개변수 지정

'코드 실행' 카드에는 모든 사용자 지정 작업의 이름이 포함된 드롭다운 목록이 표시됩니다. 목록에서 사용자 정의 작업의 이름을 선택합니다. 사용자 정의 작업에 매개변수가 필요한 경우 '코드 실행' 카드의 '매개변수' 섹션에서 해당 매개변수를 지정할 수 있습니다.

  C:\Users\user01\Desktop\tempsnip121.png

9단계: 봇이 작업을 수행하도록 만들기

마지막으로 노드에 다른 카드를 추가하여 봇이 사용자 지정 작업을 수행하도록 합니다. 이벤트에 저장된 변수(“코드 실행” 카드에 지정)를 사용하여 사용자 지정 작업 결과에 액세스하고 이를 봇의 응답에 포함할 수 있습니다.

사용자 정의 작업 예

챗봇이 특정 위치의 현재 날씨 정보를 제공하기를 원한다고 가정해 보겠습니다. 날씨 API를 호출하고 날씨 데이터를 반환하는 사용자 정의 작업을 만들 수 있습니다.

const 축 = 필요하다 ( '액시오스' );

const getWeather = 비동기( 사용자 , 세션, 인수) => {

const 위치 = args.location || '뉴욕' ;

const api키 = 'your_weather_api_key' ;

const apiUrl = `https://api.weatherapi.com/v1/current.json?key=${apiKey}&q=${location}`;

노력하다 {

const 응답 = axios.get(apiUrl)을 기다립니다;

const WeatherData = response.data;

return `${location}의 현재 날씨는 ${weatherData.current.condition.text}이며 기온은 ${weatherData.current.temp_c}°C입니다.`;

} 잡기(오류) {

반품 '미안해요, 그럴 수 없었어요 \' 지금은 날씨 정보를 가져오지 않습니다. 나중에 다시 시도 해주십시오.' ;

}

};

반환 getWeather( 사용자 , 세션, 인수);

이 작업은 작업에 사용할 컨텍스트와 데이터를 제공하는 사용자, 세션 및 인수를 포함한 특정 인수를 사용합니다. 이 예에서 'getWeather' 사용자 정의 작업은 위치를 인수로 사용하거나 제공되지 않은 경우 기본값은 '뉴욕'입니다. 이 작업은 Axios를 사용하여 Weather API를 호출하고 날씨 데이터를 가져온 다음 날씨 조건과 온도가 포함된 메시지를 반환합니다.

사용자 정의 작업의 장점

Botpress의 사용자 정의 작업은 챗봇의 기능을 향상시키는 여러 가지 이점을 제공합니다.

  1. 내장된 기능 이상으로 챗봇 기능을 확장합니다.
  2. 더 나은 사용자 경험을 위해 맞춤형 상호 작용을 만듭니다.
  3. 동적 응답을 위해 API에서 실시간 데이터를 가져옵니다.
  4. 백엔드 시스템 및 데이터베이스와 통합됩니다.
  5. 사용자 정의 코드를 사용하여 복잡한 시나리오를 처리합니다.
  6. 챗봇과 흐름 전체에서 작업을 재사용합니다.
  7. 사용자 정의 오류 처리 및 로깅을 구현합니다.
  8. 리소스 집약적인 작업을 최적화합니다.
  9. 확장을 위해 외부 서비스를 활용합니다.
  10. 사전 구축된 사용자 정의 작업에 액세스하고 공유합니다.

결론

Botpress의 사용자 정의 작업은 챗봇 기능을 확장하고 상호 작용을 개인화하며 외부 API를 통합합니다. 개발자는 서버 측 JavaScript 함수를 생성하고 Botpress Flow Builder에서 호출합니다. 이러한 작업은 코드 재사용성, 향상된 성능 및 확장성을 제공하여 챗봇을 더욱 다양하고 강력한 도구로 만듭니다. Botpress의 사용자 정의 작업을 활용하면 혁신적이고 매력적인 챗봇 경험을 만들 수 있습니다.