복잡한 대화상자에는 여러 가지 대화 주제가 포함되는 경우가 많습니다. 예를 들어 피자 배달 에이전트는 음식 주문, 고객 정보, 확인을 별도의 주제로 가질 수 있습니다. 각 주제마다 에이전트가 최종 사용자로부터 관련 정보를 얻기 위해 여러 차례 대화를 해야 합니다.
흐름은 이러한 주제와 연결된 대화 경로를 정의하는 데 사용됩니다. 모든 에이전트에는 기본 시작 흐름이라는 흐름이 있습니다. 간단한 에이전트에는 이 단일 흐름만 필요할 수 있습니다. 보다 복잡한 에이전트에 추가 흐름이 필요할 수 있으며, 다른 개발팀이 이러한 흐름을 빌드하고 유지관리할 수 있습니다. 예를 들어 피자 배달 에이전트의 흐름은 다음과 같습니다.기본 시작 흐름
기본 시작 흐름은 에이전트를 초기화할 때 자동으로 생성됩니다. 단순한 에이전트의 유일한 흐름으로 사용하거나 여러 흐름을 통합하는 더 복잡한 에이전트의 초기 진입점으로 사용할 수 있습니다.
API를 사용할 경우 다음 흐름 ID로 기본 시작 흐름을 참조할 수 있습니다.
00000000-0000-0000-0000-000000000000
흐름의 시작 페이지
모든 흐름에는 흐름이 선택될 때 콘솔 그래프에 노드로 표시되는 시작 페이지가 포함됩니다. 이 페이지는 흐름이 활성화되면 활성 페이지가 됩니다.
표준 페이지와 달리 시작 페이지에는 매개변수와 응답 메시지가 없습니다. 다음 방법 중 하나를 사용하여 메시지를 보낼 수 있습니다.
- 인텐트 전파
- fulfillment 응답 또는 전환 타겟이 있는 경로에서 간단한
true조건을 사용하거나 항목 fulfillment가 있는 일반 페이지로 이동합니다. - 커스텀 이벤트
API 요청에서 시작 페이지 참조
런타임 API 요청에서 흐름의 시작 페이지를 참조하려면 START_PAGE를 페이지 ID로 사용하세요.
API를 통해 시작 페이지를 디자인 타임에 변경하려면 Flow 유형의 get 및 patch/update API 메서드를 사용하세요.
흐름 참조의 프로토콜 및 버전 선택:
| 프로토콜 | V3 | V3beta1 |
|---|---|---|
| REST | 흐름 리소스 | 흐름 리소스 |
| RPC | 흐름 인터페이스 | 흐름 인터페이스 |
| C++ | FlowsClient | 해당 사항 없음 |
| C# | FlowsClient | 해당 사항 없음 |
| Go | FlowsClient | 해당 사항 없음 |
| 자바 | FlowsClient | FlowsClient |
| Node.js | FlowsClient | FlowsClient |
| PHP | 없음 | 해당 사항 없음 |
| Python | FlowsClient | FlowsClient |
| Ruby | 없음 | 해당 사항 없음 |
흐름 만들기
흐름을 만들려면 다음 안내를 따르세요.
콘솔
- Dialogflow CX 콘솔을 엽니다.
- 프로젝트를 선택합니다.
- 목록에서 에이전트를 찾습니다.
- 흐름 섹션에서 추가 add 버튼을 클릭합니다.
- 흐름 만들기를 선택합니다.
- 흐름의 표시 이름을 입력합니다.
- 방금 만든 흐름을 클릭합니다.
API
Flow 유형은 create 메서드를 참조하세요.
흐름 참조의 프로토콜 및 버전 선택:
| 프로토콜 | V3 | V3beta1 |
|---|---|---|
| REST | 흐름 리소스 | 흐름 리소스 |
| RPC | 흐름 인터페이스 | 흐름 인터페이스 |
| C++ | FlowsClient | 해당 사항 없음 |
| C# | FlowsClient | 해당 사항 없음 |
| Go | FlowsClient | 해당 사항 없음 |
| 자바 | FlowsClient | FlowsClient |
| Node.js | FlowsClient | FlowsClient |
| PHP | 없음 | 해당 사항 없음 |
| Python | FlowsClient | FlowsClient |
| Ruby | 없음 | 해당 사항 없음 |
흐름 데이터
흐름 데이터에 액세스하려면 다음 안내를 따르세요.
콘솔
- Dialogflow CX 콘솔을 엽니다.
- 프로젝트를 선택합니다.
- 목록에서 에이전트를 찾습니다.
- 에이전트 표시 이름을 클릭합니다.
- Flows(흐름) 섹션에서 흐름을 클릭합니다.
- 흐름 페이지는 페이지 섹션에 입력됩니다. 페이지를 수정하는 방법을 알아보려면 페이지 가이드를 참고하세요.
- 그래프에서 흐름을 클릭합니다.
- 흐름 수정 패널이 나타납니다. 이 패널을 사용하여 추가 흐름 데이터를 찾아보고 수정합니다.
- 저장을 클릭하여 변경사항을 저장합니다.
API
흐름의 경우 Flow 유형은 get 및 patch/update를 참조하세요.
흐름 참조의 프로토콜 및 버전 선택:
| 프로토콜 | V3 | V3beta1 |
|---|---|---|
| REST | 흐름 리소스 | 흐름 리소스 |
| RPC | 흐름 인터페이스 | 흐름 인터페이스 |
| C++ | FlowsClient | 해당 사항 없음 |
| C# | FlowsClient | 해당 사항 없음 |
| Go | FlowsClient | 해당 사항 없음 |
| 자바 | FlowsClient | FlowsClient |
| Node.js | FlowsClient | FlowsClient |
| PHP | 없음 | 해당 사항 없음 |
| Python | FlowsClient | FlowsClient |
| Ruby | 없음 | 해당 사항 없음 |
Page 유형의 get 및 patch/update 메서드를 참조하세요.
페이지 참조의 프로토콜 및 버전 선택:
| 프로토콜 | V3 | V3beta1 |
|---|---|---|
| REST | 페이지 리소스 | 페이지 리소스 |
| RPC | 페이지 인터페이스 | 페이지 인터페이스 |
| C++ | PagesClient | 해당 사항 없음 |
| C# | PagesClient | 해당 사항 없음 |
| Go | PagesClient | 해당 사항 없음 |
| 자바 | PagesClient | PagesClient |
| Node.js | PagesClient | PagesClient |
| PHP | 없음 | 해당 사항 없음 |
| Python | PagesClient | PagesClient |
| Ruby | 없음 | 해당 사항 없음 |
다음 데이터는 흐름과 연결되어 있습니다.
- 페이지: 흐름을 구성하는 페이지입니다.
- 경로: 흐름의 시작 페이지가 활성화될 때 사용할 수 있는 경로입니다. 다른 흐름 페이지가 활성화된 동안에도 인텐트 기반 경로를 트리거할 수 있습니다. 자세한 내용은 상태 핸들러 범위와 흐름 수준 경로를 참고하세요.
- 이벤트 핸들러: 흐름이 활성 상태일 때 호출될 수 있는 핸들러입니다. 자세한 내용은 흐름 수준 이벤트 핸들러를 참고하세요.
다양한 수준에서 데이터가 적용되는 방식에 대한 자세한 내용은 데이터 애플리케이션 수준을 참고하세요.
흐름 설정
다음 설정을 흐름에 사용할 수 있습니다.
- 표시 이름: 사람이 읽을 수 있는 흐름의 이름입니다.
- 설명: 흐름에 대한 설명입니다.
- ML 설정: 흐름 ML 설정도 에이전트 ML 설정에 액세스하고 설명합니다.
- 언어 자동 감지: 언어 자동 감지를 사용하면 Dialogflow CX에서 자동으로 인식하고 응답해야 하는 최종 사용자 언어를 지정할 수 있습니다. 자세한 내용은 다국어 에이전트를 참고하세요.
흐름 잠금: 잠긴 흐름은 하위 리소스에 대한 다음 변경사항을 포함하여 수정할 수 없습니다.
- 페이지를 만들거나 수정하거나 삭제할 수 없습니다.
- 버전은 만들거나, 수정하거나, 삭제할 수 없습니다.
- 흐름 수준 경로 그룹은 생성, 수정 또는 삭제할 수 없습니다.
- 잠긴 흐름 또는 잠긴 흐름 아래의 페이지에서 참조하는 에이전트 수준 경로 그룹은 삭제할 수 없지만 수정할 수는 있습니다.
고급 음성 설정: 이러한 고급 음성 설정은 선택적으로 동일한 에이전트 음성 설정을 재정의할 수 있습니다.
음성 적응 설정: 흐름 수준 음성 적응 설정입니다. 자세한 내용은 수동 음성 적응을 참고하세요.
입력 매개변수: 흐름에서 사용할 수 있는 작업 플레이북의 매개변수입니다.
반환 매개변수: 흐름이 태스크 플레이북에 반환하는 매개변수입니다.
다양한 수준에서 데이터가 적용되는 방식에 대한 자세한 내용은 데이터 애플리케이션 수준을 참고하세요.
흐름 설정에 액세스하려면 다음 안내를 따르세요.
콘솔
- Dialogflow CX 콘솔을 엽니다.
- 프로젝트를 선택합니다.
- 목록에서 에이전트를 찾습니다.
- 흐름 섹션의 흐름 위로 마우스 포인터를 가져갑니다.
- 옵션 more_vert 버튼을 클릭합니다.
- 흐름 설정을 선택합니다.
- 설정을 찾아보거나 수정합니다.
- 저장을 클릭하여 변경사항을 저장합니다.
API
Flow 유형은 get 및 patch/update 메서드를 참조하세요.
흐름 참조의 프로토콜 및 버전 선택:
| 프로토콜 | V3 | V3beta1 |
|---|---|---|
| REST | 흐름 리소스 | 흐름 리소스 |
| RPC | 흐름 인터페이스 | 흐름 인터페이스 |
| C++ | FlowsClient | 해당 사항 없음 |
| C# | FlowsClient | 해당 사항 없음 |
| Go | FlowsClient | 해당 사항 없음 |
| 자바 | FlowsClient | FlowsClient |
| Node.js | FlowsClient | FlowsClient |
| PHP | 없음 | 해당 사항 없음 |
| Python | FlowsClient | FlowsClient |
| Ruby | 없음 | 해당 사항 없음 |
흐름 삭제
흐름을 삭제하려면 다음 안내를 따르세요.
콘솔
- Dialogflow CX 콘솔을 엽니다.
- 프로젝트를 선택합니다.
- 목록에서 에이전트를 찾습니다.
- 흐름 섹션의 흐름 위로 마우스 포인터를 가져갑니다.
- 설정 more_vert 버튼을 클릭합니다.
- 삭제를 선택합니다.
API
Flow 유형은 delete 메서드를 참조하세요.
흐름 참조의 프로토콜 및 버전 선택:
| 프로토콜 | V3 | V3beta1 |
|---|---|---|
| REST | 흐름 리소스 | 흐름 리소스 |
| RPC | 흐름 인터페이스 | 흐름 인터페이스 |
| C++ | FlowsClient | 해당 사항 없음 |
| C# | FlowsClient | 해당 사항 없음 |
| Go | FlowsClient | 해당 사항 없음 |
| 자바 | FlowsClient | FlowsClient |
| Node.js | FlowsClient | FlowsClient |
| PHP | 없음 | 해당 사항 없음 |
| Python | FlowsClient | FlowsClient |
| Ruby | 없음 | 해당 사항 없음 |
흐름 학습
흐름을 학습하려면 다음 안내를 따르세요.
콘솔
- Dialogflow CX 콘솔을 엽니다.
- 프로젝트를 선택합니다.
- 목록에서 에이전트를 찾습니다.
- 에이전트 설정을 클릭합니다.
- ML 탭을 엽니다.
- 단일 흐름을 학습하려면 해당 행에서 학습을 클릭합니다.
- 여러 흐름을 학습하려면 체크박스로 흐름을 선택한 후 선택한 흐름 NLU 모델 학습을 클릭합니다.
API
Flow 유형은 train 메서드를 참조하세요.
흐름 참조의 프로토콜 및 버전 선택:
| 프로토콜 | V3 | V3beta1 |
|---|---|---|
| REST | 흐름 리소스 | 흐름 리소스 |
| RPC | 흐름 인터페이스 | 흐름 인터페이스 |
| C++ | FlowsClient | 해당 사항 없음 |
| C# | FlowsClient | 해당 사항 없음 |
| Go | FlowsClient | 해당 사항 없음 |
| 자바 | FlowsClient | FlowsClient |
| Node.js | FlowsClient | FlowsClient |
| PHP | 없음 | 해당 사항 없음 |
| Python | FlowsClient | FlowsClient |
| Ruby | 없음 | 해당 사항 없음 |
흐름 내보내기
다음 2가지 방법으로 흐름을 내보낼 수 있습니다.
- 데이터 내보내기: 흐름을 원시 데이터로 내보내 모든 에이전트로 가져올 수 있습니다. 흐름에서 참조하는 리소스 (인텐트, 항목, 웹훅)가 내보내기에 포함됩니다. 아래 단계를 따를 때는 원시 데이터 형식을 선택하세요.
다이어그램 내보내기 (미리보기): 흐름을 draw.io XML 형식의 시각적 다이어그램으로 내보냅니다. 이 형식은 Lucidchart 또는 diagrams.net과 같은 도구로 가져올 수 있습니다. 아래 단계를 따를 때 XML 데이터 형식을 선택하세요.
다음 옵션을 사용하여 흐름을 내보낼 수 있습니다.
- 참조된 흐름 포함: 최대 깊이 없이 대상 흐름과 모든 재귀적으로 참조된 흐름을 내보냅니다. 내보낸 모든 흐름과 전환은 가져오는 동안 보존됩니다.
흐름을 내보내려면 다음 안내를 따르세요.
콘솔
- Dialogflow CX 콘솔을 엽니다.
- 프로젝트를 선택합니다.
- 목록에서 에이전트를 찾습니다.
- 흐름 섹션의 흐름 위로 마우스 포인터를 가져갑니다.
- 옵션 more_vert 버튼을 클릭합니다.
- 흐름 내보내기를 선택합니다.
- 안내에 따라 완료합니다.
API
Flow 유형은 export 메서드를 참조하세요.
흐름 참조의 프로토콜 및 버전 선택:
| 프로토콜 | V3 | V3beta1 |
|---|---|---|
| REST | 흐름 리소스 | 흐름 리소스 |
| RPC | 흐름 인터페이스 | 흐름 인터페이스 |
| C++ | FlowsClient | 해당 사항 없음 |
| C# | FlowsClient | 해당 사항 없음 |
| Go | FlowsClient | 해당 사항 없음 |
| 자바 | FlowsClient | FlowsClient |
| Node.js | FlowsClient | FlowsClient |
| PHP | 없음 | 해당 사항 없음 |
| Python | FlowsClient | FlowsClient |
| Ruby | 없음 | 해당 사항 없음 |
흐름 가져오기
소스 에이전트에서 대상 에이전트로 흐름을 가져오면 인텐트, 항목, 웹훅과 같은 참조된 전역 리소스도 가져옵니다. 대상 에이전트에 표시 이름이 동일한 리소스가 있으면 Dialogflow CX에 요약이 표시되고 충돌을 해결하는 세 가지 옵션이 제공됩니다.
- 기존 리소스 교체: 소스 에이전트 리소스가 대상 에이전트 리소스를 덮어씁니다.
- 새 리소스로 가져오기: 소스 에이전트 리소스가 이름에 고유한 접미사와 함께 추가됩니다.
- 원본 리소스 유지: 대상 에이전트 리소스가 변경되지 않습니다.
흐름을 가져오려면 다음 안내를 따르세요.
콘솔
- Dialogflow CX 콘솔을 엽니다.
- 프로젝트를 선택합니다.
- 목록에서 에이전트를 찾습니다.
- 흐름 섹션에서 추가 add 버튼을 클릭합니다.
- 흐름 가져오기를 선택합니다.
- 안내에 따라 완료합니다.
API
Flow 유형은 import 메서드를 참조하세요.
흐름 참조의 프로토콜 및 버전 선택:
| 프로토콜 | V3 | V3beta1 |
|---|---|---|
| REST | 흐름 리소스 | 흐름 리소스 |
| RPC | 흐름 인터페이스 | 흐름 인터페이스 |
| C++ | FlowsClient | 해당 사항 없음 |
| C# | FlowsClient | 해당 사항 없음 |
| Go | FlowsClient | 해당 사항 없음 |
| 자바 | FlowsClient | FlowsClient |
| Node.js | FlowsClient | FlowsClient |
| PHP | 없음 | 해당 사항 없음 |
| Python | FlowsClient | FlowsClient |
| Ruby | 없음 | 해당 사항 없음 |