OpenAPI- und Integration Connectors-Tools

Sie können Agent Assist-Funktionen zusammen mit externen APIs und Datenquellen verwenden. Google Cloud bietet OpenAPI- und Integration Connectors-Tools, um Ihre Agent Assist-Integrationen zu vereinfachen.

OpenAPI-Tools

OpenAPI-Tools ermöglichen die Verbindung zwischen Agent Assist-Funktionen und externen APIs. Durch diese Verbindung können Agent Assist-Funktionen Informationen aus mehreren Quellen lesen und schreiben. Wenn Sie ein OpenAPI-Tool erstellen möchten, müssen Sie ein OpenAPI-Schema bereitstellen, das die externen APIs beschreibt, mit denen Sie eine Verbindung herstellen möchten.

Integration Connectors-Tool

Mit Integrations-Connectors können Sie Google Cloud Verbindungen zu einer Vielzahl von Datenquellen herstellen. Mit Connector-Tools können Agent Assist-Funktionen Integration Connectors verwenden, um Datenquellen zu lesen und in sie zu schreiben.

Hinweise

Geben Sie Ihre Projekt-ID und Region ein und führen Sie den folgenden Code aus, um die Umgebung zum Erstellen von OpenAPI- und Integration Connectors-Tools einzurichten.

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" "$@"
}

OpenAPI-Tool erstellen

Wenn Sie ein OpenAPI-Tool verwenden möchten, müssen Sie zuerst die Erstellung des Tools anfordern und den Ressourcennamen des Tools speichern.

Schritt 1: Tool erstellen lassen

So beantragen Sie die Erstellung eines OpenAPI-Tools:

  1. Passen Sie den Code so an:
    1. Verwenden Sie in einem einzelnen Projekt einen tool_key-Wert, der für alle Ihre Tools eindeutig ist.
    2. Geben Sie Ihr eigenes OpenAPI-Schema in das Feld open_api_spec.text_schema ein.
  2. Führen Sie den folgenden benutzerdefinierten Code aus.

    $ 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

Bei Erfolg gibt die API das neu erstellte Tool zurück, das den Ressourcennamen enthält, wie im folgenden Beispiel gezeigt.

{
  "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"
  }
}

Schritt 2: Tool-Ressourcennamen speichern

Speichern Sie den Ressourcennamen des Tools zur späteren Verwendung in einer Umgebungsvariablen. Im Folgenden finden Sie ein Beispiel für eine Vorlage für die Umgebungsvariable der Tool-Ressource.

TOOL_RESOURCE=$(cat create-tool-response.json | jq .name | tr -d '"')

KI-Coach mit einem OpenAPI-Tool

Sie können ein OpenAPI-Tool mit der Funktion KI-Coach verwenden, um auf zusätzliche Informationen außerhalb von Google Cloudzuzugreifen. Diese externen Informationen können dann verwendet werden, um Vorschläge zu generieren, die Kundenservicemitarbeitern helfen.

Schritt 1: Generator erstellen

Im folgenden Beispiel wird ein Generator mit der Umgebungsvariable für die Toolressource erstellt.

$ 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

Sie sollten eine Antwort wie die im Folgenden aufgeführte erhalten.

{
  "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"
  ]
}

Generatormodell-Ressourcennamen speichern

Speichern Sie sie zur späteren Verwendung als Umgebungsvariable, wie im folgenden Beispiel.

GENERATOR_RESOURCE=$(cat create-generator-response.json | jq .name | tr -d '"')

Schritt 2: Unterhaltungsprofil erstellen

Führen Sie den folgenden Code aus, um ein Unterhaltungsprofil zu erstellen.

$ 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

Sie sollten eine Antwort wie die folgende erhalten.

{
  "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}"
}

Ressourcennamen des Unterhaltungsprofils speichern

Speichern Sie diesen Namen als Umgebungsvariable, wie im folgenden Beispiel.

CONVERSATION_PROFILE_RESOURCE=$(cat create-conversation-profile-response.json | jq .name | tr -d '"')

Schritt 3: Unterhaltung erstellen

Führen Sie den folgenden Code aus, um eine Unterhaltung zu erstellen.

$ 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

Sie sollten eine Antwort wie die folgende erhalten.

{
  "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"
    }
  }
}

Ressourcennamen der Unterhaltung speichern

Speichern Sie diesen Namen als Umgebungsvariable für die spätere Verwendung. Die Variable sollte das folgende Format haben.

CONVERSATION_RESOURCE=$(cat create-conversation-response.json | jq .name | tr -d '"') 

Schritt 4: Endnutzer erstellen

Führen Sie den folgenden Code aus, um einen Endnutzer zu erstellen.

$ 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

Sie sollten eine Antwort wie die folgende erhalten.

{
  "name": "projects/Your-Project-ID/locations/Your-Region/conversations/Conversation-ID/participants/End-User-Participant-ID",
  "role": "END_USER"
}

Name der Endnutzerressource speichern

Speichern Sie den Ressourcennamen des Endnutzers als Umgebungsvariable, wie im Folgenden gezeigt.

END_USER_RESOURCE=$(cat create-end-user-response.json | jq .name | tr -d '"')

Schritt 5: Menschlichen Kundenservicemitarbeiter erstellen

Führen Sie den folgenden Code aus, um einen menschlichen Kundenservicemitarbeiter zu erstellen.

$ 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

Sie sollten eine Antwort wie die folgende erhalten.

{
  "name": "projects/Your-Project-ID/locations/Your-Region/conversations/Conversation-IDHuman-Agent-Participant-ID",
  "role": "HUMAN_AGENT"
}

Namen der Human-Agent-Ressource speichern

Speichern Sie den Ressourcennamen des menschlichen Kundenservicemitarbeiters als Umgebungsvariable, wie im Folgenden gezeigt.

HUMAN_AGENT_RESOURCE=$(cat create-human-agent-response.json | jq .name | tr -d '"')

Schritt 6: Text an den KI-Coach senden

Führen Sie den folgenden Code aus, um Text mit der Methode AnalyzeContent an den KI-Coach zu senden.

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

Schritt 7: Toolaufruf überprüfen

Führen Sie den folgenden Code aus, um den Toolaufruf zu prüfen.

cat analyze-content-1-response.json| jq ".humanAgentSuggestionResults[0].generateSuggestionsResponse.generatorSuggestionAnswers[0].generatorSuggestion.toolCallInfo"

Sie sollten eine Antwort wie die folgende erhalten.

[
  {
    "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"
    }
  }
]

Schritt 8: (Optional) Ressourcen löschen

Führen Sie den folgenden Code aus, um Ressourcen zu löschen, die Sie in den vorherigen Schritten erstellt haben.

Unterhaltungsprofil

gcurl -X DELETE ${API_ENDPOINT}/${CONVERSATION_PROFILE_RESOURCE}

Generator

gcurl -X DELETE ${API_ENDPOINT}/${GENERATOR_RESOURCE}

OpenAPI-Tool

gcurl -X DELETE ${API_ENDPOINT}/${TOOL_RESOURCE}

Integration Connectors-Tool erstellen

Sie können Integration Connectors über die Google Cloud Console einrichten. So erstellen Sie ein Agent Assist Integration Connectors-Tool auf Grundlage eines BigQuery-Connectors:

Schritt 1: BigQuery-Connector-Tool erstellen

Bevor Sie ein Integration Connectors-Tool erstellen, rufen Sie die Google Cloud Console auf und erstellen Sie einen BigQuery Integration Connector.

Schritt 2: Tool zum Erstellen von Integration Connectors anfordern

Führen Sie den folgenden Code aus, um die Erstellung eines Tools anzufordern. Verwenden Sie für das Feld connector_spec.name den Ressourcennamen Ihres BigQuery-Connectors.

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

Sie sollten eine Antwort wie die im Folgenden aufgeführte erhalten.

{
  "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"
}

Nächste Schritte

Eine vollständige Liste der Integration Connectors-Tools, die von Agent Assist unterstützt werden, finden Sie in der Liste Dialogflow Connector-Tools.