이 페이지에서는 Gemini Enterprise로 Dialogflow 에이전트를 등록하고 사용하는 방법을 설명합니다.
개요
Gemini Enterprise에서 Dialogflow 에이전트를 사용하려면 먼저 에이전트를 배포한 다음 등록해야 합니다. Dialogflow 에이전트를 등록하면 배포된 에이전트가 Gemini Enterprise에 연결되어 서로 통신할 수 있습니다.
시작하기 전에
Dialogflow 에이전트를 등록하기 전에 다음 단계를 완료해야 합니다.
Dialogflow 에이전트를 배포합니다. Dialogflow 및 대화형 에이전트 대시보드를 보려면 대화형 에이전트를 참고하세요.
검색 엔진 관리자 역할
Discovery Engine API를 사용 설정합니다. Google Cloud프로젝트에 Discovery Engine API를 사용 설정하려면 Google Cloud 콘솔에서 Discovery Engine API 페이지로 이동합니다.
Gemini Enterprise 앱을 만듭니다. 자세한 내용은 앱 만들기를 참고하세요.
Dialogflow 에이전트를 Gemini Enterprise에 등록하기
Google Cloud 콘솔 또는 REST API를 사용하여 Dialogflow 에이전트를 Gemini Enterprise에 등록할 수 있습니다. 등록하면 Gemini Enterprise 앱 내의 사용자가 에이전트를 사용할 수 있습니다.
콘솔
Google Cloud 콘솔을 사용하여 Dialogflow 에이전트를 등록하려면 다음 단계를 따르세요.
Google Cloud 콘솔에서 Gemini Enterprise 페이지로 이동합니다.
프로젝트를 선택합니다.
에이전트를 등록할 앱의 이름을 클릭합니다.
에이전트 > 에이전트 추가를 클릭합니다. 에이전트 유형 선택 창이 표시됩니다.
Dialogflow를 통한 맞춤 에이전트 카드에서 추가를 클릭하여 Dialogflow 에이전트를 Gemini Enterprise에 등록합니다. 구성 창이 열립니다.
에이전트를 구성하려면 다음 단계를 따르세요.
에이전트 이름 필드에 이름을 입력합니다. 이 값은 Gemini Enterprise에서 에이전트의 표시 이름으로 나타납니다.
에이전트 설명 필드에 설명을 입력합니다. 이 값은 사용자 쿼리에 대한 응답으로 에이전트를 호출할지 여부를 결정하기 위해 LLM에서 사용됩니다.
Dialogflow 에이전트 소스 필드에 Gemini Enterprise에 등록할 Dialogflow 에이전트의 리소스 경로를 입력합니다.
다음 형식을 사용하세요.
projects/{project}/locations/{location}/agents/{agent}상담사 응대 가능 여부 옵션은 선택 시 기본적으로 설정됩니다.
도구 설정 섹션의 도구 설명 필드에 설명을 입력합니다. 이 설명은 LLM이 도구의 목적을 이해하고 도구를 사용할 시기를 결정하는 데 사용됩니다.
입력 매개변수 이름 필드에 이름을 입력합니다. 함수 호출의 파라미터 이름입니다. 이 파라미터 이름은 파라미터에 포함될 것으로 예상되는 콘텐츠 유형(예:
question,command,search_query)에 대한 힌트를 LLM에 제공합니다.입력 매개변수 설명 필드에 설명을 입력합니다. 함수 호출의 파라미터 설명입니다. 이 설명은 파라미터에 대한 추가 정보(예: 전달될 것으로 예상되는 콘텐츠의 종류, 콘텐츠에 대해 수행해야 하는 작업)를 LLM에 제공합니다.
만들기를 클릭합니다.
curl
이 코드 샘플은 에이전트를 등록하는 방법을 보여줍니다.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: PROJECT_ID" \
"https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/assistants/default_assistant/agents" \
-d '{
"displayName": "DISPLAY_NAME",
"description": "DESCRIPTION",
"icon": {
"uri": "ICON_URI"
},
"dialogflowAgentDefinition": {
"dialogflowAgent": "projects/DIALOGFLOW_PROJECT_ID/locations/DIALOGFLOW_LOCATION/agents/DIALOGFLOW_AGENT_ID"
}
}'
변수를 값으로 바꿉니다.
- PROJECT_ID: Google Cloud 프로젝트의 ID입니다.
- APP_ID: Gemini Enterprise 앱의 ID입니다.
- DISPLAY_NAME: Gemini Enterprise에 표시되는 에이전트의 사용자 친화적인 이름입니다.
- DESCRIPTION: Gemini Enterprise에서 사용자에게 표시되는 에이전트의 기능을 간략하게 설명합니다. 예를 들어 업로드된 출장 인보이스에서 주요 정보를 추출할 수 있습니다.
- ICON_URI: Dialogflow 에이전트 이름 옆에 표시되는 아이콘의 공개 URI입니다.
icon.content에 Base64로 인코딩된 이미지를 제공할 수도 있습니다. - DIALOGFLOW_PROJECT_ID: Dialogflow 에이전트의 위치를 식별하는 Google Cloud 프로젝트 ID입니다.
- DIALOGFLOW_LOCATION: Dialogflow 에이전트가 호스팅되는 특정 지리적 위치입니다(예:
global또는us-central1). - DIALOGFLOW_AGENT_ID: Dialogflow 에이전트의 고유 식별자입니다.
이 명령어에 대한 성공적인 응답은 새로 생성된 Dialogflow 에이전트 리소스의 모든 필드를 반환하며, 여기에는 name 필드의 고유한 리소스 이름이 포함됩니다. 이 리소스 이름은 향후 업데이트 또는 참조에 사용할 수 있습니다.
앱에 연결된 에이전트 나열
다음 코드 샘플은 앱에 연결된 모든 에이전트의 세부정보를 가져오는 방법을 보여줍니다.
REST
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID/assistants/default_assistant/agents"
변수를 값으로 바꿉니다.
- ENDPOINT_LOCATION-: API 요청의 다중 리전입니다. 다음 값 중 하나를 할당합니다.
- 미국 멀티 리전의
us- - EU 멀티 리전의 경우
eu- - 전역 위치의 경우
global-
- 미국 멀티 리전의
- PROJECT_ID: Google Cloud 프로젝트의 ID입니다.
- LOCATION: 앱의 멀티 리전입니다(
global,us또는eu). - APP_ID: Gemini Enterprise 앱의 ID입니다.
에이전트가 Google에서 사전 빌드되지 않은 경우 응답의 처음 몇 줄에 name 필드가 포함됩니다. 이 필드의 값에는 경로 끝에 있는 에이전트 ID가 포함됩니다. 예를 들어 다음 응답에서 에이전트 ID는 12345678901234567890입니다.
{
"name": "projects/123456/locations/global/collections/default_collection/engines/my-app/assistants/default_assistant/agents/12345678901234567890",
...
}
Dialogflow 에이전트 세부정보 보기
다음 코드 샘플은 Gemini Enterprise에 등록된 에이전트의 세부정보를 가져오는 방법을 보여줍니다.
REST
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID/assistants/default_assistant/agents/AGENT_ID"
변수를 값으로 바꿉니다.
- ENDPOINT_LOCATION-: API 요청의 다중 리전입니다. 다음 값 중 하나를 할당합니다.
- 미국 멀티 리전의
us- - EU 멀티 리전의 경우
eu- - 전역 위치의 경우
global-
- 미국 멀티 리전의
- PROJECT_ID: Google Cloud 프로젝트의 ID입니다.
- LOCATION: 앱의 멀티 리전입니다(
global,us또는eu). - APP_ID: Gemini Enterprise 앱의 ID입니다.
- AGENT_ID: 에이전트의 ID입니다. 앱에 연결된 에이전트를 나열하여 에이전트 ID를 확인할 수 있습니다.
Dialogflow 에이전트 업데이트
에이전트 등록 중에 제공된 모든 필드를 업데이트할 수 있습니다. 업데이트 프로세스 중에 다음 필드는 필수입니다.
displayNamedescriptionreasoning_engine
필드를 업데이트할 때는 특정 필드를 변경하지 않더라도 업데이트 요청에서 모든 필드와 값을 재정의해야 합니다.
이 코드 샘플은 Dialogflow 에이전트의 등록을 업데이트하는 방법을 보여줍니다.
curl
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: PROJECT_ID" \
"https://discoveryengine.googleapis.com/v1alpha/AGENT_RESOURCE_NAME" \
-d '{
"displayName": "DISPLAY_NAME",
"description": "DESCRIPTION",
"icon": {
"uri": "ICON_URI"
},
"dialogflowAgentDefinition": {
"dialogflowAgent": "projects/PROJECT_ID/locations/REASONING_ENGINE_LOCATION/agents/DIALOGFLOW_AGENT_ID"
}
}'
변수를 값으로 바꿉니다.
- PROJECT_ID: Google Cloud 프로젝트의 ID입니다.
- AGENT_RESOURCE_NAME: 업데이트할 에이전트 등록의 리소스 이름입니다.
- DISPLAY_NAME:에이전트의 표시 이름입니다.
- DESCRIPTION: Gemini Enterprise에 표시되는 에이전트의 설명입니다. 설명은 사용자에게만 표시됩니다.
- ICON_URI: Dialogflow 에이전트 이름 옆에 표시되는 아이콘의 공개 URI입니다.
icon.content에 Base64로 인코딩된 이미지를 제공할 수도 있습니다. - REASONING_ENGINE_LOCATION: 에이전트를 만들려는 추론 엔진의 클라우드 위치입니다.
- DIALOGFLOW_AGENT_ID: Dialogflow 에이전트의 고유 식별자입니다.
Dialogflow 에이전트 삭제
다음 코드 샘플은 앱에 연결된 에이전트를 삭제하는 방법을 보여줍니다.
REST
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID/assistants/default_assistant/agents/AGENT_ID"
변수를 값으로 바꿉니다.
- ENDPOINT_LOCATION-: API 요청의 다중 리전입니다. 다음 값 중 하나를 할당합니다.
- 미국 멀티 리전의
us- - EU 멀티 리전의 경우
eu- - 전역 위치의 경우
global-
- 미국 멀티 리전의
- PROJECT_ID: Google Cloud 프로젝트의 ID입니다.
- LOCATION: 앱의 멀티 리전입니다(
global,us또는eu). - APP_ID: Gemini Enterprise 앱의 ID입니다.
- AGENT_ID: 에이전트의 ID입니다. 앱에 연결된 에이전트를 나열하여 에이전트 ID를 확인할 수 있습니다.