Zusätzlich zu den allgemeinen Anleitungen zur Verwendung eines Kundenservicemitarbeiters werden auf dieser Seite Funktionen beschrieben, die speziell für AdkApp
gelten.
Hinweise
In dieser Anleitung wird davon ausgegangen, dass Sie die folgenden Anleitungen gelesen und befolgt haben:
- Agent Development Kit-Agent entwickeln:
agent
als Instanz vonAdkApp
entwickeln. - Nutzerauthentifizierung, um sich als Nutzer zu authentifizieren und den Agenten abzufragen.
Wenn Sie eine ADK-Anwendung abfragen möchten, müssen Sie zuerst eine neue ADK-Anwendungs-Instanz erstellen oder eine vorhandene Instanz abrufen.
So rufen Sie die ADK-Anwendung ab, die einer bestimmten Ressourcen-ID entspricht:
Vertex AI SDK für Python
Führen Sie den folgenden Code aus:
from vertexai import agent_engines
adk_app = agent_engines.get(RESOURCE_ID)
Alternativ können Sie den vollständigen Ressourcennamen des Kundenservicemitarbeiters angeben:
adk_app = agent_engines.get("projects/PROJECT_ID/locations/LOCATION/reasoningEngines/RESOURCE_ID")
Python-Bibliothek „requests“
Führen Sie den folgenden Code aus:
from google import auth as google_auth
from google.auth.transport import requests as google_requests
import requests
def get_identity_token():
credentials, _ = google_auth.default()
auth_request = google_requests.Request()
credentials.refresh(auth_request)
return credentials.token
response = requests.get(
f"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/RESOURCE_ID",
headers={
"Content-Type": "application/json; charset=utf-8",
"Authorization": f"Bearer {get_identity_token()}",
},
)
REST API
curl \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/RESOURCE_ID
Unterstützte Vorgänge
Die folgenden Vorgänge werden für AdkApp
unterstützt:
stream_query
: zum Streamen einer Antwort auf eine Abfrage.create_session
: zum Erstellen einer neuen Sitzung.list_sessions
: zum Auflisten der verfügbaren Sitzungen.get_session
: zum Abrufen einer bestimmten Sitzung.delete_session
: zum Löschen einer bestimmten Sitzung.
So listen Sie alle unterstützten Vorgänge auf:
Vertex AI SDK für Python
Führen Sie den folgenden Code aus:
adk_app.operation_schemas()
Python-Bibliothek „requests“
Führen Sie den folgenden Code aus:
import json
json.loads(response.content).get("spec").get("classMethods")
REST API
In spec.class_methods
aus der Antwort auf die curl-Anfrage.
Sitzungen verwalten
AdkApp
verwendet cloudbasierte verwaltete Sitzungen, nachdem Sie den Agenten in der Vertex AI Agent Engine bereitgestellt haben. In diesem Abschnitt wird beschrieben, wie Sie verwaltete Sitzungen verwenden.
Sitzung erstellen
So erstellen Sie eine Sitzung für einen Nutzer:
Vertex AI SDK für Python
session = adk_app.create_session(user_id="USER_ID")
Python-Bibliothek „requests“
Führen Sie den folgenden Code aus:
from google import auth as google_auth
from google.auth.transport import requests as google_requests
import requests
import json
def get_identity_token():
credentials, _ = google_auth.default()
auth_request = google_requests.Request()
credentials.refresh(auth_request)
return credentials.token
response = requests.post(
f"https://{adk_app.api_client.api_endpoint}/v1/{adk_app.resource_name}:query",
headers={
"Content-Type": "application/json; charset=utf-8",
"Authorization": f"Bearer {get_identity_token()}",
},
data=json.dumps({
"class_method": "create_session",
"input": {"user_id": "USER_ID"},
}),
)
print(response.content)
REST API
curl \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/RESOURCE_ID:query -d '{"class_method": "create_session", "input": {"user_id": "USER_ID"},}'
Dabei ist USER_ID eine benutzerdefinierte ID mit einer Zeichenbeschränkung von 128.
Sitzungen auflisten
So rufen Sie die Sitzungen für einen Nutzer auf:
Vertex AI SDK für Python
adk_app.list_sessions(user_id="USER_ID")
Anfragen
Führen Sie den folgenden Code aus:
from google import auth as google_auth
from google.auth.transport import requests as google_requests
import requests
import json
def get_identity_token():
credentials, _ = google_auth.default()
auth_request = google_requests.Request()
credentials.refresh(auth_request)
return credentials.token
response = requests.post(
f"https://{adk_app.api_client.api_endpoint}/v1/{adk_app.resource_name}:query",
headers={
"Content-Type": "application/json; charset=utf-8",
"Authorization": f"Bearer {get_identity_token()}",
},
data=json.dumps({
"class_method": "list_sessions",
"input": {"user_id": "USER_ID"},
}),
)
print(response.content)
REST
curl \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/RESOURCE_ID:query -d '{"class_method": "list_sessions", "input": {"user_id": "USER_ID"},}'
Dabei ist USER_ID eine benutzerdefinierte ID mit einer Zeichenbeschränkung von 128.
Sitzung abrufen
Um eine bestimmte Sitzung abzurufen, benötigen Sie sowohl die Nutzer- als auch die Sitzungs-ID:
Vertex AI SDK für Python
session = adk_app.get_session(user_id="USER_ID", session_id="SESSION_ID")
Anfragen
Führen Sie den folgenden Code aus:
from google import auth as google_auth
from google.auth.transport import requests as google_requests
import requests
import json
def get_identity_token():
credentials, _ = google_auth.default()
auth_request = google_requests.Request()
credentials.refresh(auth_request)
return credentials.token
response = requests.post(
f"https://{adk_app.api_client.api_endpoint}/v1/{adk_app.resource_name}:query",
headers={
"Content-Type": "application/json; charset=utf-8",
"Authorization": f"Bearer {get_identity_token()}",
},
data=json.dumps({
"class_method": "get_session",
"input": {"user_id": "USER_ID", "session_id": "SESSION_ID"},
}),
)
print(response.content)
REST
curl \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/RESOURCE_ID:query -d '{"class_method": "get_session", "input": {"user_id": "USER_ID", "session_id": "SESSION_ID"},}'
Sitzung löschen
Zum Löschen einer Sitzung benötigen Sie sowohl die Nutzer- als auch die Sitzungs-ID:
Vertex AI SDK für Python
adk_app.delete_session(user_id="USER_ID", session_id="SESSION_ID")
Anfragen
Führen Sie den folgenden Code aus:
from google import auth as google_auth
from google.auth.transport import requests as google_requests
import requests
import json
def get_identity_token():
credentials, _ = google_auth.default()
auth_request = google_requests.Request()
credentials.refresh(auth_request)
return credentials.token
response = requests.post(
f"https://{adk_app.api_client.api_endpoint}/v1/{adk_app.resource_name}:query",
headers={
"Content-Type": "application/json; charset=utf-8",
"Authorization": f"Bearer {get_identity_token()}",
},
data=json.dumps({
"class_method": "delete_session",
"input": {"user_id": "USER_ID", "session_id": "SESSION_ID"},
}),
)
print(response.content)
REST
curl \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/RESOURCE_ID:query -d '{"class_method": "delete_session", "input": {"user_id": "USER_ID", "session_id": "SESSION_ID"},}'
Antwort auf eine Abfrage streamen
So streamst du Antworten von einem Kundenservicemitarbeiter in einer Sitzung:
Vertex AI SDK für Python
for event in adk_app.stream_query(
user_id="USER_ID",
session_id="SESSION_ID", # Optional
message="What is the exchange rate from US dollars to SEK today?",
):
print(event)
Anfragen
from google import auth as google_auth
from google.auth.transport import requests as google_requests
import requests
def get_identity_token():
credentials, _ = google_auth.default()
auth_request = google_requests.Request()
credentials.refresh(auth_request)
return credentials.token
requests.post(
f"https://{adk_app.api_client.api_endpoint}/v1/{adk_app.resource_name}:streamQuery",
headers={
"Content-Type": "application/json",
"Authorization": f"Bearer {get_identity_token()}",
},
data=json.dumps({
"class_method": "stream_query",
"input": {
"user_id": "USER_ID",
"session_id": "SESSION_ID",
"message": "What is the exchange rate from US dollars to SEK today?",
},
}),
stream=True,
)
REST
curl \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/RESOURCE_ID:streamQuery?alt=sse -d '{
"class_method": "stream_query",
"input": {
"user_id": "USER_ID",
"session_id": "SESSION_ID",
"message": "What is the exchange rate from US dollars to SEK today?",
}
}'
Nächste Schritte
- Einen Kundenservicemitarbeiter verwenden
- Agenten bewerten
- Bereitgestellte Kundenservicemitarbeiter verwalten
- Support anfordern