여러 버전의 에이전트 흐름 및 플레이북(Vertex AI 에이전트라고도 함)을 만들어 별도의 제공 환경에 배포할 수 있습니다.
흐름 또는 플레이북을 수정할 때는 초안을 수정합니다. 언제든지 초안을 버전으로 저장할 수 있습니다. 버전은 흐름 또는 플레이북 데이터와 관련 에이전트 데이터의 변경할 수 없는 스냅샷입니다. 흐름의 경우 여기에는 인텐트, 항목, 웹훅, 페이지, 경로 그룹이 포함됩니다. 플레이북의 경우 여기에 예시만 포함됩니다.
초안을 저장하면 기본 환경에 배포됩니다. 특정 버전을 만들어 커스텀 환경에 배포할 수 있습니다. 다음과 같은 다양한 커스텀 환경을 만들 수 있습니다.
- 테스트
- 개발
- 프로덕션
또한 개발 및 테스트 환경에서 프로덕션 환경을 격리할 수 있도록 환경 특정 웹훅을 만들 수 있습니다.
프로덕션 트래픽 권장사항
프로덕션 트래픽에 항상 버전 사용
초안은 팀의 개발자가 변경할 때마다 업데이트됩니다. 특히 여러 사람에게 에이전트에 대한 쓰기 액세스 권한이 있는 경우 초안이 의도치 않게 중단되기 쉽습니다. 또한 학습이 지연되거나 수동 실행이 필요할 수 있으므로 최근에 수정한 초안이 학습된 모델과 일치하지 않을 수 있습니다.
항상 프로덕션 트래픽에 버전을 사용해야 합니다. 초안을 프로덕션 버전으로 승격하기 전에 테스트해야 합니다. 그러면 문제가 발견될 경우 이전 버전으로 롤백할 수 있습니다.
항상 환경 특정 웹훅 사용
에이전트를 업데이트할 때는 업데이트가 웹훅 코드에 대해 상호 의존적인 경우가 많습니다. 이러한 변경사항을 개발 및 테스트하는 동안 다음이 필요합니다.
- 웹훅 코드 업데이트를 기준으로 에이전트 업데이트를 테스트하려면 다음을 수행하세요.
- 테스트가 완료될 때까지 프로덕션에 웹훅 코드를 배포하지 않습니다.
환경 특정 웹훅을 사용하면 이러한 목표를 모두 달성할 수 있습니다.
버전 변경 중에 발생할 수 있는 에이전트 오류 고려
세션이 활성 상태인 동안 프로덕션 환경에서 버전을 변경할 경우 일부 활성 세션에 에이전트 오류가 발생할 수 있습니다. 이러한 오류는 이전 및 신규 버전이 서로 일치하지 않아 세션 상태가 중단될 경우에 발생할 수 있습니다. 이로 인해 다운타임 또는 사용량이 많지 않은 시간 중에 버전을 변경하도록 계획해야 합니다.
초안에 버전 로드
언제든지 초안에 버전을 로드하여 기본 환경에서 수정하고 사용할 수 있습니다.
흐름 버전을 초안으로 로드하면 인텐트 및 항목과 같은 에이전트 레벨 리소스를 포함하여 여러 리소스를 에이전트에서 업데이트할 수 있습니다. 콘솔 또는 API를 사용하여 버전을 초안으로 로드할 때 에이전트 레벨 리소스를 덮어쓸지 여부를 선택할 수 있습니다.
마찬가지로 플레이북 버전을 초안으로 복원하면 초안의 기존 플레이북과 예시가 덮어써집니다.
버전 관리
버전을 관리하려면 다음 단계를 따르세요.
콘솔
흐름의 최신 버전을 나열하려면 다음을 따르세요.
- Dialogflow CX 콘솔을 엽니다.
- Google Cloud 프로젝트를 선택합니다.
- 에이전트를 선택합니다.
- 공유 리소스 탭을 클릭합니다.
- 버전을 클릭합니다.
- 에이전트 흐름이 나열됩니다. 다음 중 하나를 선택하세요.
- 선택한 흐름의 버전이 나열됩니다.
플레이북의 최신 버전을 나열하려면 다음을 따르세요.
- Dialogflow CX 콘솔을 엽니다.
- Google Cloud 프로젝트를 선택합니다.
- 에이전트를 선택합니다.
- 플레이북을 선택합니다.
- 버전 기록을 클릭합니다.
- 버전 기록 보기를 클릭합니다.
- 선택한 플레이북의 버전이 나열됩니다.
각 리소스마다 다음 정보가 표시됩니다.
- 표시 이름: 버전 표시 이름입니다.
- 버전 ID: 버전의 ID입니다.
- NLU 유형: 흐름 버전의 NLU 유형입니다.
- 생성 타임스탬프: 버전이 생성된 날짜와 시간입니다.
- 상태: 학습 상태입니다. 상태가 준비로 표시될 때까지 흐름 버전을 사용할 수 없습니다.
새 버전을 만들려면 만들기 버튼을 클릭하고 버전의 표시 이름과 설명을 입력합니다.
특정 흐름 버전을 초안 흐름으로 로드하려면 다음 안내를 따르세요.
- 마우스 포인터를 버전 행 위에 놓습니다.
- 옵션 more_vert 버튼을 클릭합니다.
- 초안에 로드 옵션을 클릭합니다.
- 로드할 때 에이전트 수준의 데이터를 덮어쓸 수 있는 옵션이 제공됩니다.
특정 흐름 버전을 삭제하려면 다음 안내를 따르세요.
- 마우스 포인터를 버전 행 위에 놓습니다.
- 옵션 more_vert 버튼을 클릭합니다.
- 버전 삭제 옵션을 클릭합니다.
API
Version
유형에 대한 메서드를 참조하세요.
버전 참조의 프로토콜 및 버전을 선택합니다.
프로토콜 | V3 | V3beta1 |
---|---|---|
REST | 버전 리소스 | 버전 리소스 |
RPC | 버전 인터페이스 | 버전 인터페이스 |
C++ | VersionsClient | 해당 사항 없음 |
C# | VersionsClient | 해당 사항 없음 |
Go | VersionsClient | 해당 사항 없음 |
자바 | VersionsClient | VersionsClient |
Node.js | VersionsClient | VersionsClient |
PHP | 없음 | 해당 사항 없음 |
Python | VersionsClient | VersionsClient |
Ruby | 없음 | 해당 사항 없음 |
흐름 버전 비교
흐름 버전을 만든 후에는 버전 비교 도구를 사용하여 흐름 버전 또는 초안 버전을 나란히 비교할 수 있습니다. 플레이북에는 이 기능을 사용할 수 없습니다. 버전을 비교하려면 다음 안내를 따르세요.
콘솔
- 마우스 포인터를 버전 행 위에 놓습니다.
- 옵션 more_vert 버튼을 클릭합니다.
- 버전 비교 옵션을 클릭합니다.
- 비교할 다른 흐름 버전 또는 초안 흐름을 선택하세요.
- 나란히 비교되어 표시됩니다.
API
Version
유형은 compareVersions
메서드를 참조하세요.
버전 참조의 프로토콜 및 버전을 선택합니다.
프로토콜 | V3 | V3beta1 |
---|---|---|
REST | 버전 리소스 | 버전 리소스 |
RPC | 버전 인터페이스 | 버전 인터페이스 |
C++ | VersionsClient | 해당 사항 없음 |
C# | VersionsClient | 해당 사항 없음 |
Go | VersionsClient | 해당 사항 없음 |
자바 | VersionsClient | VersionsClient |
Node.js | VersionsClient | VersionsClient |
PHP | 없음 | 해당 사항 없음 |
Python | VersionsClient | VersionsClient |
Ruby | 없음 | 해당 사항 없음 |
환경 관리
에이전트 환경을 관리하려면 다음을 따르세요.
콘솔
에이전트의 현재 환경을 나열하려면 다음을 따르세요.
- Dialogflow CX 콘솔을 엽니다.
- Google Cloud 프로젝트를 선택합니다.
- 에이전트를 선택합니다.
- 공유 리소스 탭을 클릭합니다.
- 환경을 클릭합니다.
- 에이전트 환경이 나열됩니다.
새 환경을 만들려면 만들기 버튼을 클릭하고 정보를 입력합니다.
흐름 및 플레이북 버전을 선택하고 환경을 구성하려면 환경을 클릭하고 정보를 제공합니다.
환경의 수정 기록을 보려면 목록에서 환경의 오른쪽에 있는 기록(history) 버튼을 클릭합니다.
환경 ID가 포함된 환경 리소스 이름을 복사하려면 목록에서 환경의 오른쪽에 있는 복사(content_copy) 버튼을 클릭합니다.
환경을 삭제하려면 목록에서 환경의 오른쪽에 있는 삭제(delete) 버튼을 클릭합니다.
API
Environment
유형에 대한 메서드를 참조하세요.
환경 참조의 프로토콜 및 버전을 선택합니다.
프로토콜 | V3 | V3beta1 |
---|---|---|
REST | 환경 리소스 | 환경 리소스 |
RPC | 환경 인터페이스 | 환경 인터페이스 |
C++ | EnvironmentsClient | 해당 사항 없음 |
C# | EnvironmentsClient | 해당 사항 없음 |
Go | EnvironmentsClient | 해당 사항 없음 |
자바 | EnvironmentsClient | EnvironmentsClient |
Node.js | EnvironmentsClient | EnvironmentsClient |
PHP | 없음 | 해당 사항 없음 |
Python | EnvironmentsClient | EnvironmentsClient |
Ruby | 없음 | 해당 사항 없음 |
세션 호출을 위한 환경 지정
Console 시뮬레이터 또는 API를 사용하여 런타임 세션 호출 시 환경을 지정할 수 있습니다. 환경을 지정하지 않으면 기본 환경이 사용됩니다.
콘솔
Console 시뮬레이터를 사용할 때 환경에서 에이전트 테스트 옵션을 선택한 다음 환경을 선택합니다.
API
detectIntent
, streamingDetectIntent
, matchIntent
, 세션 항목 REST 호출의 환경을 지정하려면 agent
와 sessions
경로 매개변수 사이에 environments/environment-id
를 삽입하여 URL을 변경합니다.
예를 들어 다음 URL은 6db409d7-57ac-41d7-83bd-89b8768e2745
환경 ID를 사용합니다.
https://dialogflow.googleapis.com/v3/projects/my-project-id/locations/us/agents/my-agent-id/environments/6db409d7-57ac-41d7-83bd-89b8768e2745/sessions/my-session-id:detectIntent
세션 호출의 흐름 버전 지정
콘솔 시뮬레이터 또는 API를 사용하여 런타임 세션 호출 시 흐름 버전 집합을 지정할 수 있습니다. 선택한 흐름 버전은 어떤 환경에서도 참조될 필요가 없습니다.
콘솔
Console 시뮬레이터를 사용할 때 특정 흐름 버전으로 에이전트 테스트 옵션을 선택한 다음 흐름 버전을 선택합니다.
API
detectIntent
, streamingDetectIntent
, matchIntent
, 세션 항목 REST 호출의 흐름 버전을 지정하려면 요청의 query_parameters.flow_versions
필드에 선택한 흐름 버전을 제공합니다.