| Studio Interface 목차 |
| 1. Explorer 2. Agents 3. Library 4. Hooks 5. Workflows 6. Variables 7. Knowledge Base 8. Tables 9. Nodes 10. Emulator 11. Inspector 12. Debugger, Logs & JSON 13. Botpress Hub 14. Keyboard Shortcuts 15. Chatbot Settings 16. Studio Preferences 17. Import & Export |

설명은 전문적인 용어로 쓰여 있어서 난해하나 Publish(게시)하고 나면 다른 사람들(예 : 고객, 공동개발자 등)과 Share(공유)할 수 있다는 내용입니다.
오른쪽 상단 패널은 Inspector입니다. Inspector는 메인(가운데) 패널에서 선택한 구성 요소의 추가 속성을 표시합니다.
로그인한 계정을 표시합니다. 로그아웃하려면 해당 계정을 클릭하세요.
공유 버튼을 클릭하면 챗봇을 다른 사람들과 공유할 수 있습니다. 챗봇 링크를 다른 사람에게 보내서 챗봇을 다른 사람과 공유할 수 있습니다.
챗봇을 공개적으로 사용할 수 있도록 하려면 먼저 [Publish(게시)] 버튼을 누르십시오.
귀하의 챗봇은 원클릭 배포를 통해 클라우드에 게시하는 경우에만 공개적으로 사용 가능(또는 업데이트)됩니다.

이벤트 디버거는 봇이 사용자의 메시지를 이해한 방식과 특정 결정을 내린 이유에 대한 정보를 제공합니다. 또한 자연어 이해 메타데이터(NLU metadata), 상태(state) 및 원시 응답(raw responses)을 포함한 전체 이벤트 페이로드(payload)를 표시합니다.
사용 예를 들어, Knowledge Query(파랑색 네모) 를 클릭하면 초록색 네모안에 해답의 소스인 지식 베이스의 경로를 알 수 있습니다.

디버거를 열거나 닫으려면 키보드 단축키 cmd/ctrl + j를 사용할 수 있습니다. 이렇게 하면 디버거를 켜고 끄고 정보에 액세스할 수 있습니다. 제공합니다.
로그(로그는 주요 이벤트를 기록하는 로그를 의미합니다.)를 사용하면 오류가 발생하기 전에 어떤 일이 일어났는지 단계별로 확인할 수 있습니다. 이는 무엇이 잘못되었는지, 해결 방법을 이해하는 데 도움이 될 수 있습니다.
충분한 로그을 보장하려면 봇에 충분한 로그 정보를 포함하는 것이 중요합니다. 문제를 찾고 해결하기 위한 정보입니다. Botpress 로그를 분석하면 다음을 정확히 찾아낼 수 있습니다. 문제가 발생한 위치를 정확하게 확인하고 문제 해결을 위해 필요한 조치를 취하세요.
해당 줄을 클릭하면 초록색 네모처럼 보다 상세내역이 나와 로그를 분석할 수 있습니다.
No helpful answer generated by KB 는 지식베이스에 의해 도움이 되는 답변이 만들어지지 않았다는 의미입니다.

Botpress에 Logging하는 것은 JavaScript에 Logging하는 것과 유사합니다. Execute Code(실행 코드)의 console.log() 기능을 사용하여 Botpress 로그에 브라우저의 콘솔에 정보를 출력할 수 있습니다. 이 함수는 문자열을 인수로 사용하여 이를 Botpress 주요 이벤트를 기록하는 로그정보를 인쇄할 수 있습니다.
어떤 사용자 데이터가 처리되고 있는지 알고 싶다면 해당 사용자의 이름을 기록해 두는 것이 좋습니다. 이는 워크플로에서 올바른 사용자 데이터에 액세스하고 사용되고 있는지 추적하는 데 도움이 될 수 있습니다.
사용 사례 예시: 특히 봇이 개인화된 경험을 제공하는 경우 어떤 사용자의 데이터가 처리되고 있는지 이해합니다.
console.log("User's First Name:", user.firstName);
특정 작업 흐름에서 어떤 전화번호가 사용되는지 알고 싶을 수 있습니다. 이를 기록하면 데이터베이스나 사용자 입력에서 올바른 숫자를 가져오고 있는지 확인할 수 있습니다.
사용 사례 예시: SMS 메시지 보내기 또는 전화 통화와 관련된 워크플로 디버깅. 올바른 전화번호를 사용하는지 확인하는 것이 중요할 수 있습니다.
console.log("Workflow Phone Number:", workflow.phoneNumber);
위에 코드 설명 : 위에 코드 중 console.log(“Workflow Phone Number:”, workflow.phoneNumber);은 Botpress에서 workflow의 phoneNumber 속성을 브라우저의 콘솔에 출력하는 코드입니다. console.log()는 JavaScript의 표준 로깅 함수로, 브라우저의 콘솔에 정보를 출력합니다.
봇이 외부 API 또는 데이터베이스에 액세스하는 경우 environment (development, staging, production, etc.).(환경(개발, 스테이징, 프로덕션 등))에 따라 API 키 또는 엔드포인트가 변경될 수 있습니다. 환경 변수를 기록하면 봇이 올바른 구성을 사용하고 있는지 확인하는 데 도움이 될 수 있습니다.
사용 사례 예시: 외부 서비스 연결 또는 액세스 문제를 해결합니다. API 키 또는 엔드포인트를 기록하면 올바른 구성을 사용하고 있으며 개발 중에 실수로 프로덕션 데이터베이스에 충돌하거나 그 반대의 경우도 발생하지 않도록 할 수 있습니다.
console.log("Current API Key:", env.apiKey);
Botpress Studio 로그를 확인하려면 하단 패널을 열고 로그 탭을 클릭하세요. 그러면 봇이 생성한 모든 로그가 표시됩니다.
참고
로그는 시간의 역순으로 표시되며 가장 최근 로그가 맨 위에 표시됩니다. 로그를 클릭하여 확장하고 세부정보를 볼 수 있습니다.
여기에서 Production log(프로덕션 로그)는 botpress를 통해 생성한 봇의 로그를 의미합니다. Checking the Production Logs(생성 로그 확인)는 개요에 해당하는 내용으로 시작부분에 넣지 않고 굳이 마지막 부분에 배치했는지 모르겠습니다. 대단한 내용은 아닙니다. 다수의 생성된 Production log(프로덕션 로그)(또는 배포된 봇의 로그)를 확인하려면 관리 대시보드 -> 작업공간(Workflow)과 봇을 순차적으로 선택하세요 -> 로그 탭을 클릭하세요. 배포된 봇에 의해 생성된 모든 로그가 표시됩니다.
봇 대화에서 각 세션에는 Entry Node(진입 노드)가 처리되기 직전에 대화 시작 시 생성되는 관련 상태가 있습니다. state(상태)는 대화 전반에 걸쳐 지속되며 사용자와의 지속적인 상호 작용과 관련된 정보를 추적하는 데 사용됩니다.
state(상태)는 대화에 전제 영역에서 사용되어집니다. 즉, 대화가 여러 흐름에 걸쳐 있으면 모든 흐름이 동일한 상태를 공유합니다. 이를 통해 흐름 간에 정보가 전달될 수 있으며 봇이 대화 기록을 일관되게 볼 수 있습니다.
state(상태)는 대화 전반에 걸쳐 필요한 사용자 이름, 기본 설정, 상호 작용 기록 등의 변수를 저장하는 데 사용될 수 있습니다. 또한 어떤 질문을 받았는지, 어떤 작업이 완료되었는지 등 대화를 통해 봇의 진행 상황을 추적하는 데에도 사용할 수 있습니다.

상태를 효과적으로 사용하면 사용자를 위해 더욱 개인화되고 매력적인 봇 경험을 만들 수 있습니다.

이 탭은 Botpress Emulator에서 각 대화 교환 중에 처리되는 가공되지 않은 정보(raw information)를 표시합니다. 정보는 event.property를 통해 액세스할 수 있습니다. 여기서 “property(속성)”는 아래 표에 나열된 속성 중 하나를 가리킵니다.
다음은 각 속성을 자세히 설명하는 표입니다.
| Property(속성) | Description(설명) |
|---|---|
| Type(유형) | 메시지 유형(예: 텍스트, 오디오, 비디오 등)을 나타내는 문자열 속성입니다.(A string property that indicates the type of the message, e.g., text, audio, video, etc.) |
| Channel(채널) | 메시지가 수신된 채널 또는 플랫폼을 지정하는 문자열 속성입니다. 예를 들어 채널은 에뮬레이터, Facebook Messenger, WhatsApp 등이 될 수 있습니다.(A string property that specifies the channel or platform through which the message was received. For example, the channel can be an emulator, Facebook Messenger, WhatsApp, etc.) |
| Direction(방향) | 메시지의 방향, 즉 메시지가 들어오거나(incoming) 나가는지(outgoing) 여부를 지정하는 문자열 속성입니다.(A string property that specifies the direction of the message, i.e., whether the message is incoming or outgoing.) |
| 페이로드(유효 탑재량, Payload) | 메시지 데이터를 요약하는 JSON 개체입니다. 페이로드 객체의 구조는 메시지 유형에 따라 다릅니다.(A JSON object that encapsulates the message data. The structure of the payload object depends on the type of message.) |
| UserId(사용자 ID) | 메시지를 보낸 사용자를 식별하는 문자열 속성입니다.(A string property that identifies the user who sent the message.) |
| BotId(봇 ID) | 메시지를 수신한 봇 또는 대화형 AI 시스템을 식별하는 문자열 속성입니다.(A string property that identifies the bot or conversational AI system that received the message.) |
| CreatedOn(에 만든) | 메시지가 수신된 날짜와 시간을 지정하는 타임스탬프입니다.(A timestamp that specifies the date and time when the message was received.) |
| ConversationId(대화 ID) | 메시지가 속한 대화 스레드를 식별하는 문자열 속성입니다.(A string property that identifies the conversation thread to which the message belongs.) |
| Id | 메시지의 고유 식별자입니다.(A unique identifier for the message.) |
| Preview(미리보기) | 메시지의 미리보기 또는 요약입니다.(A preview or summary of the message.) |
| MessageId(메시지 ID) | 메시지의 ID를 식별하는 문자열 속성입니다.(A string property that identifies the ID of the message.) |
| Tags(태그) | 메시지와 관련된 태그가 포함된 개체입니다.(An object that contains tags associated with the message.) |
| Flags(플래그) | 메시지와 관련된 플래그를 포함하는 개체입니다.(An object that contains flags associated with the message.) |
| State(상태) | 대화 상태가 포함된 개체입니다.(An object that contains the state of the conversation.) |
| Suggestions(제안) | 메시지를 기반으로 봇이 취할 수 있는 제안된 응답 또는 작업의 배열입니다.(An array of suggested responses or actions that the bot can take based on the message.) |
| NLU | 메시지에 대한 자연어 이해(NLU) 프로세스의 결과를 캡슐화하는 개체입니다.(An object that encapsulates the results of the natural language understanding (NLU) process for the message.) |
| Decision(결정) | 메시지에 대한 의사 결정 프로세스를 캡슐화하는 개체입니다.(An object that encapsulates the decision-making process for the message.) |