세션은 대화형 에이전트(Dialogflow CX) 에이전트와 최종 사용자 간의 대화를 나타냅니다. 대화를 시작할 때 세션을 만들고 대화 차례마다 이 세션을 사용합니다. 대화가 종료되면 세션 사용을 중단합니다.
여러 최종 사용자와 동시에 진행되는 대화에서 동일한 세션을 사용하면 안 됩니다. 세션에 대한 마지막 요청을 보낸 후 30분 동안 세션이 활성 상태로 유지되고 세션 데이터가 저장됩니다.
각 세션은 시스템에서 생성되는 세션 ID로 고유하게 구분됩니다. 인텐트 인식 요청 및 기타 세션 메서드에서 새로운 세션 ID를 제공하여 새 세션을 만듭니다. 세션 ID는 최대 36바이트 크기의 문자열입니다. 시스템은 고유한 세션 ID를 생성합니다. 세션 ID는 난수, 해싱된 최종 사용자 식별자 또는 사용자가 생성하기 편리한 기타 값일 수 있습니다.
세션 이름의 위치 ID 값에 대한 자세한 내용은 리전화 문서를 확인하세요.
오래 지속되는 세션
기본적으로 대화형 에이전트(Dialogflow CX)는 30분 동안 세션 데이터를 유지합니다. 세션의 전체 기간을 연장하는 방법에는 두 가지가 있습니다.
- (권장)
QueryParameters.session_ttl
을 사용하여 세션 TTL을 설정합니다. 허용되는 최댓값은 24시간입니다. DetectIntentRequest
에서QueryParameters.current_page
및QueryParameters.parameters
를 설정하여 이전 세션 상태를 되살릴 수 있습니다.워크플로 예시는 다음과 같습니다.
- 최종 사용자가 세션 A에서 에이전트와 대화합니다.
- 코드는 API 응답에서 반환된 세션 A와 연결된 상태(
QueryResult.current_page
및QueryResult.parameters
)를 기록합니다. - 최종 사용자가 50분 후 에이전트와의 상호작용을 중지합니다.
- 최종 사용자가 에이전트에게 다시 문의합니다.
- 코드는 앞에서 기록한
QueryParameters.current_page
및QueryParameters.parameters
와 함께 최종 사용자 입력을 전송하여 이전 세션 상태의 인텐트를 감지합니다. 세션 A와 동일한 세션 ID를 사용할 필요는 없습니다.
참조
세션 가격 책정에 대한 자세한 내용은 가격 책정 페이지를 참조하세요.
세션에 대한 자세한 내용은 하세요.
세션 참조의 프로토콜 및 버전을 선택합니다.
프로토콜 | V3 | V3beta1 |
---|---|---|
REST | 세션 리소스 | 세션 리소스 |
RPC | 세션 인터페이스 | 세션 인터페이스 |
C++ | SessionsClient | 해당 사항 없음 |
C# | SessionsClient | 해당 사항 없음 |
Go | SessionsClient | 해당 사항 없음 |
자바 | SessionsClient | SessionsClient |
Node.js | SessionsClient | SessionsClient |
PHP | 없음 | 해당 사항 없음 |
Python | SessionsClient | SessionsClient |
Ruby | 없음 | 해당 사항 없음 |