Pode usar as funcionalidades do Agent Assist juntamente com APIs e origens de dados externas. Google Cloud oferece ferramentas OpenAPI e Integration Connectors para facilitar as suas integrações do Agent Assist.
Ferramentas da OpenAPI
As ferramentas OpenAPI permitem a ligação entre as funcionalidades do Agent Assist e as APIs externas. Esta ligação permite que as funcionalidades do Agent Assist leiam e escrevam informações de várias origens. Para criar uma ferramenta OpenAPI, tem de fornecer um esquema OpenAPI que descreva as APIs externas com as quais quer estabelecer ligação.
Ferramenta Integration Connectors
Use conetores de integração para se ligar Google Cloud a várias origens de dados. As ferramentas de conetor permitem que as funcionalidades do Agent Assist usem conetores de integração para ler e escrever nessas origens de dados.
Antes de começar
Para configurar o ambiente de criação de ferramentas OpenAPI e Integration Connectors, introduza o ID do projeto e a região e, de seguida, execute o seguinte código.
CLOUDSDK_CORE_PROJECT=YOUR_PROJECT_ID REGION=YOUR_REGION API_VERSION=v2beta1 API_ENDPOINT=https://${REGION}-dialogflow.googleapis.com/${API_VERSION} function gcurl () { curl -H "Authorization: Bearer "$(gcloud auth print-access-token) -H "X-Goog-User-Project: ${CLOUDSDK_CORE_PROJECT}" -H "Content-Type: application/json; charset=utf-8" "$@" }
Crie uma ferramenta OpenAPI
Para usar uma ferramenta OpenAPI, tem de pedir primeiro a respetiva criação e guardar o nome do recurso da ferramenta.
Passo 1: peça para criar uma ferramenta
Siga estes passos para pedir a criação de uma ferramenta OpenAPI.
- Personalize o código da seguinte forma:
- Num único projeto, use um valor
tool_key
que seja exclusivo entre todas as suas ferramentas. - Introduza o seu próprio esquema OpenAPI no campo
open_api_spec.text_schema
.
- Num único projeto, use um valor
Execute o seguinte código personalizado.
$ cat > create-tool-request.json << EOF { "tool_key": "UNIQUE_KEY", "description": "TOOL_DESCRIPTION", "display_name": "TOOL_DISPLAY_NAME", "open_api_spec": { "text_schema": "Your-Schema" } } EOF
$ gcurl -X POST ${API_ENDPOINT}/projects/${CLOUDSDK_CORE_PROJECT}/locations/${REGION}/tools -d @create-tool-request.json | tee create-tool-response.json
Se for bem-sucedido, a API devolve a ferramenta recém-criada, que contém o nome do recurso, conforme mostrado no exemplo seguinte.
{ "name": "projects/Your-Project-ID/locations/Your-Region/tools/Tool-ID", "toolKey": "UNIQUE_KEY", "description": "TOOL_DESCRIPTION", "createTime": "2025-06-02T18:11:38.999174724Z", "updateTime": "2025-06-02T18:11:38.999174724Z", "displayName": "TOOL_DISPLAY_NAME", "openApiSpec": { "textSchema": "Your-Schema" } }
Passo 2: guarde o nome do recurso da ferramenta
Guarde o nome do recurso da ferramenta numa variável de ambiente para utilização posterior. Segue-se um modelo de exemplo para a variável de ambiente do recurso da ferramenta.
TOOL_RESOURCE=$(cat create-tool-response.json | jq .name | tr -d '"')
Preparador de IA com uma ferramenta da OpenAPI
Pode usar uma ferramenta OpenAPI com a funcionalidade AI coach para aceder a informações adicionais fora do Google Cloud. Essas informações externas podem ser usadas para gerar sugestões que ajudam os agentes do centro de contacto.
Passo 1: crie um gerador
O exemplo seguinte cria um gerador com a variável de ambiente do recurso da ferramenta.
$ cat > create-generator-request.json << _EOF_ {"agent_coaching_context":{"instructions":[{"agent_action":"help customer by using the tool to find information from library of congress","condition":"The customer asks about library of congress","description":"agent coaching test","display_name":"Search for information"}],"overarching_guidance":"Help customer with questions"},"description":"prober-generate-suggestions-with-agent-coaching-generator","inference_parameter":{"max_output_tokens":256,"temperature":0},"tools":["${TOOL_RESOURCE}"],"trigger_event":"CUSTOMER_MESSAGE"} _EOF_ $ gcurl -X POST ${API_ENDPOINT}/projects/${CLOUDSDK_CORE_PROJECT}/locations/${REGION}/generators -d @create-generator-request.json | tee create-generator-response.json _EOF_ $ gcurl -X POST ${API_ENDPOINT}/projects/${CLOUDSDK_CORE_PROJECT}/locations/${REGION}/generators -d @create-generator-request.json | tee create-generator-response.json
Deve receber uma resposta semelhante ao seguinte exemplo de um gerador de treinadores de IA.
{ "name": "projects/Your-Project-ID/locations/Your-Region/generators/Generator-ID", "description": "example-generator", "inferenceParameter": { "maxOutputTokens": 256, "temperature": 0 }, "triggerEvent": "CUSTOMER_MESSAGE", "createTime": "2025-06-02T18:30:51.021461728Z", "updateTime": "2025-06-02T18:30:51.021461728Z", "agentCoachingContext": { "instructions": [ { "displayName": "Search for information", "condition": "The customer asks about library of congress", "agentAction": "help customer by using the tool to find information from library of congress" } ], "version": "1.5", "overarchingGuidance": "Help customer with questions" }, "tools": [ "projects/Your-Project-ID/locations/Your-Region/tools/Tool-ID" ] }
Guarde o nome do recurso do gerador
Guarde-o como uma variável de ambiente para utilização posterior, como no exemplo seguinte.
GENERATOR_RESOURCE=$(cat create-generator-response.json | jq .name | tr -d '"')
Passo 2: crie um perfil de conversa
Execute o seguinte código para criar um perfil de conversa.
$ cat > create-conversation-profile-request.json << _EOF_ {"displayName":"prober-generate-suggestions-with-agent-coaching-generator","humanAgentAssistantConfig":{"humanAgentSuggestionConfig":{"generators":["${GENERATOR_RESOURCE}"]}}} _EOF_ $ gcurl -X POST ${API_ENDPOINT}/projects/${CLOUDSDK_CORE_PROJECT}/locations/${REGION}/conversationProfiles -d @create-conversation-profile-request.json | tee create-conversation-profile-response.json
Deve receber uma resposta semelhante à seguinte.
{ "name": "projects/Your-Project-ID/locations/Your-Region/conversationProfiles/Conversation-Profile-ID", "displayName": "prober-generate-suggestions-with-agent-coaching-generator", "humanAgentAssistantConfig": { "humanAgentSuggestionConfig": { "generators": [ "projects/Your-Project-ID/locations/Your-Region/generators/Generator-ID" ] } }, "languageCode": "en-US", "createTime": "2025-06-02T18:40:39.940318Z", "updateTime": "2025-06-02T18:40:39.940318Z", "projectNumber": "${project_number}" }
Guarde o nome do recurso do perfil de conversa
Guarde este nome como uma variável de ambiente, como no exemplo seguinte.
CONVERSATION_PROFILE_RESOURCE=$(cat create-conversation-profile-response.json | jq .name | tr -d '"')
Passo 3: crie uma conversa
Execute o seguinte código para criar uma conversa.
$ cat > create-conversation-request.json << _EOF_ {"conversationProfile":"${CONVERSATION_PROFILE_RESOURCE}"} _EOF_ $ gcurl -X POST ${API_ENDPOINT}/projects/${CLOUDSDK_CORE_PROJECT}/locations/${REGION}/conversations -d @create-conversation-request.json | tee create-conversation-response.json
Deve receber uma resposta semelhante à seguinte.
{ "name": "projects/Your-Project-ID/locations/Your-Region/conversations/Conversation-ID", "lifecycleState": "IN_PROGRESS", "conversationProfile": "projects/Your-Project-ID/locations/Your-Region/conversationProfiles/Conversation-Profile-ID", "startTime": "2025-06-02T18:43:40.818123Z", "conversationStage": "HUMAN_ASSIST_STAGE", "source": "ONE_PLATFORM_API", "initialConversationProfile": { "name": "projects/Your-Project-ID/locations/Your-Region/conversationProfiles/Conversation-Profile-ID", "displayName": "prober-generate-suggestions-with-agent-coaching-generator", "humanAgentAssistantConfig": { "humanAgentSuggestionConfig": { "generators": [ "projects/Your-Project-ID/locations/Your-Region/generators/Generator-ID" ] } }, "languageCode": "en-US" }, "projectNumber": "${project_number}", "initialGeneratorContexts": { "projects/Your-Project-ID/locations/Your-Region/generators/Generator-ID": { "generatorType": "AGENT_COACHING", "generatorVersion": "1.5" } } }
Nome do recurso da conversa guardada
Guarde este nome como uma variável de ambiente para utilização posterior. A variável deve ter o seguinte formato.
CONVERSATION_RESOURCE=$(cat create-conversation-response.json | jq .name | tr -d '"')
Passo 4: crie um utilizador final
Execute o seguinte código para criar um utilizador final.
$ cat > create-end-user-request.json << _EOF_ {"role":"END_USER"} _EOF_ $ gcurl -X POST ${API_ENDPOINT}/${CONVERSATION_RESOURCE}/participants -d @create-end-user-request.json | tee create-end-user-response.json
Deve receber uma resposta semelhante à seguinte.
{ "name": "projects/Your-Project-ID/locations/Your-Region/conversations/Conversation-ID/participants/End-User-Participant-ID", "role": "END_USER" }
Guarde o nome do recurso do utilizador final
Guarde o nome do recurso do utilizador final como uma variável de ambiente, como a seguinte.
END_USER_RESOURCE=$(cat create-end-user-response.json | jq .name | tr -d '"')
Passo 5: crie um agente humano
Execute o seguinte código para criar um agente humano.
$ cat > create-human-agent-request.json << _EOF_ {"role":"HUMAN_AGENT"} _EOF_ $ gcurl -X POST ${API_ENDPOINT}/${CONVERSATION_RESOURCE}/participants -d @create-human-agent-request.json | tee create-human-agent-response.json
Deve receber uma resposta semelhante à seguinte.
{ "name": "projects/Your-Project-ID/locations/Your-Region/conversations/Conversation-IDHuman-Agent-Participant-ID", "role": "HUMAN_AGENT" }
Guarde o nome do recurso do agente humano
Guarde o nome do recurso do agente humano como uma variável de ambiente, como a seguinte.
HUMAN_AGENT_RESOURCE=$(cat create-human-agent-response.json | jq .name | tr -d '"')
Passo 6: envie texto para o coach de IA
Execute o seguinte código para enviar texto ao preparador de IA com o método AnalyzeContent
.
cat > analyze-content-1-request.json << _EOF_ {"text_input":{"languageCode":"en-US","text":"Can you search library of congress for the latest trends"}} _EOF_ gcurl -X POST "${API_ENDPOINT}/${END_USER_RESOURCE}:analyzeContent" -d @analyze-content-1-request.json | tee analyze-content-1-response.json
Passo 7: valide a chamada de ferramenta
Execute o seguinte código para validar a chamada de ferramenta.
cat analyze-content-1-response.json| jq ".humanAgentSuggestionResults[0].generateSuggestionsResponse.generatorSuggestionAnswers[0].generatorSuggestion.toolCallInfo"
Deve receber uma resposta semelhante à seguinte.
[ { "toolCall": { "tool": "projects/Your-Project-ID/locations/Your-Region/tools/Tool-ID", "action": "search", "inputParameters": { "q": "latest trends", "fo": "json", "tool_description": "A generic search endpoint that might be available across various LoC APIs. The structure of the results will vary.\n", "at": "trending_content" }, "createTime": "2025-06-02T18:56:53.882479179Z" }, "toolCallResult": { "tool": "projects/Your-Project-ID/locations/Your-Region/tools/MjM0NTU3NDk2MTM5NTAwNzQ4OQ", "action": "search", "content": ""}]}", "createTime": "2025-06-02T18:56:54.289367086Z" } } ]
Passo 8: (opcional) elimine recursos
Para eliminar os recursos que criou nos passos anteriores, execute o seguinte código.
Perfil de conversa
gcurl -X DELETE ${API_ENDPOINT}/${CONVERSATION_PROFILE_RESOURCE}
Gerador
gcurl -X DELETE ${API_ENDPOINT}/${GENERATOR_RESOURCE}
Ferramenta OpenAPI
gcurl -X DELETE ${API_ENDPOINT}/${TOOL_RESOURCE}
Crie uma ferramenta Integration Connectors
Pode configurar conetores de integração através da Google Cloud consola. Siga estes passos para criar uma ferramenta de conetores de integração do Agent Assist com base num conetor do BigQuery.
Passo 1: crie uma ferramenta de conetor do BigQuery
Antes de criar uma ferramenta Integration Connectors, aceda à Google Cloud consola e crie um Integration Connectors do BigQuery.
Passo 2: peça a criação da ferramenta Integration Connectors
Execute o seguinte código para pedir a criação de uma ferramenta. Para o campo connector_spec.name
, use o nome do recurso do conetor do BigQuery.
cat > create-connector-tool-request.json << _EOF_ { "tool_key": "order_tool", "description": "order bigquery connector tool", "display_name": "order bigquery connector tool", "connector_spec": { "name": "projects/Your-Project-ID/locations/Your-Region/connections/Your-Connector-ID", "actions": [ { "entityOperation": { "entityId": "Orders", "operation": "LIST" } }, { "entityOperation": { "entityId": "Orders", "operation": "GET" } } ] } } _EOF_ gcurl -X POST ${API_ENDPOINT}/projects/${CLOUDSDK_CORE_PROJECT}/locations/${REGION}/tools -d @create-connector-tool-request.json | tee create-connector-tool-response.json
Deve receber uma resposta semelhante à seguinte.
{ "name": "projects/Your-Project-ID/locations/Your-Region/tools/Tool-ID", "toolKey": "order_tool", "description": "order bigquery connector tool", "createTime": "2025-06-03T19:29:55.896178942Z", "updateTime": "2025-06-03T19:29:55.896178942Z", "connectorSpec": { "name": "projects/Your-Project-ID/locations/Your-Region/connections/order-bigquery-connector", "actions": [ { "entityOperation": { "entityId": "Orders", "operation": "LIST" } }, { "entityOperation": { "entityId": "Orders", "operation": "GET" } } ] }, "displayName": "order bigquery connector tool" }
O que se segue?
Para ver uma lista completa das ferramentas do Integration Connectors que o Agent Assist suporta, consulte a lista de ferramentas do Dialogflow Connector.