- Requête HTTP
- Paramètres de chemin d'accès
- Corps de la requête
- Corps de la réponse
- Niveaux d'accès des autorisations
- Autorisations IAM
- SessionConfig
- InputAudioConfig
- AudioEncoding
- OutputAudioConfig
- SessionConfig.RemoteDialogflowQueryParameters
- SessionInput
- ToolResponses
- Événement
- SessionOutput
- ToolCalls
- Citations
- Citations.CitedChunk
- GoogleSearchSuggestions
- WebSearchQuery
- EndSession
- SessionOutput.DiagnosticInfo
Lance une interaction unique avec l'agent CES au cours d'une session.
Requête HTTP
POST https://ces.googleapis.com/v1/{config.session=projects/*/locations/*/apps/*/sessions/*}:runSession
L'URL utilise la syntaxe de transcodage gRPC.
Paramètres de chemin d'accès
| Paramètres | |
|---|---|
config.session |
Obligatoire. Identifiant unique de la session. Format : |
Corps de la requête
Le corps de la requête contient des données présentant la structure suivante :
| Représentation JSON |
|---|
{ "config": { "session": string, "inputAudioConfig": { "audioEncoding": enum ( |
| Champs | |
|---|---|
config.inputAudioConfig |
Facultatif. Configuration pour le traitement de l'entrée audio. |
config.outputAudioConfig |
Facultatif. Configuration pour générer le contenu audio de sortie. |
config.historicalContexts[] |
Facultatif. Contexte historique de la session, y compris les entrées utilisateur, les réponses de l'agent et les autres messages. En règle générale, l'agent CES gère la session automatiquement. Le client n'a donc pas besoin de renseigner explicitement ce champ. Toutefois, le client peut éventuellement remplacer les contextes historiques pour forcer le démarrage de la session à partir d'un certain état. |
config.entryAgent |
Facultatif. Agent d'entrée chargé de gérer la session. Si aucune valeur n'est spécifiée, la session sera gérée par le |
config.deployment |
Facultatif. Déploiement de l'application à utiliser pour la session. Format : |
config.timeZone |
Facultatif. Fuseau horaire de l'utilisateur. Si ce champ est fourni, l'agent utilise le fuseau horaire pour les variables liées à la date et à l'heure. Sinon, l'agent utilisera le fuseau horaire spécifié dans App.time_zone_settings. Le format correspond au fuseau horaire de la base de données des fuseaux horaires IANA (par exemple, "America/Los_Angeles"). |
config.remoteDialogflowQueryParameters |
Facultatif. QueryParameters à envoyer à l'agent Dialogflow distant lorsque le contrôle de la session est transféré à l'agent distant. |
inputs[] |
Obligatoire. Entrées de la session. |
Corps de la réponse
Message de réponse pour SessionService.RunSession.
Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :
| Représentation JSON |
|---|
{
"outputs": [
{
object ( |
| Champs | |
|---|---|
outputs[] |
Résultats de la session. |
Niveaux d'accès des autorisations
Nécessite l'un des niveaux d'accès OAuth suivants :
https://www.googleapis.com/auth/cloud-platformhttps://www.googleapis.com/auth/ces
Pour plus d'informations, consultez la page Authentication Overview.
Autorisations IAM
Nécessite l'autorisation IAM suivante sur la ressource session :
ces.sessions.runSession
Pour en savoir plus, consultez la documentation IAM.
SessionConfig
Configuration de la session.
| Représentation JSON |
|---|
{ "session": string, "inputAudioConfig": { object ( |
| Champs | |
|---|---|
session |
Obligatoire. Identifiant unique de la session. Format : |
inputAudioConfig |
Facultatif. Configuration pour le traitement de l'entrée audio. |
outputAudioConfig |
Facultatif. Configuration pour générer le contenu audio de sortie. |
historicalContexts[] |
Facultatif. Contexte historique de la session, y compris les entrées utilisateur, les réponses de l'agent et les autres messages. En règle générale, l'agent CES gère la session automatiquement. Le client n'a donc pas besoin de renseigner explicitement ce champ. Toutefois, le client peut éventuellement remplacer les contextes historiques pour forcer le démarrage de la session à partir d'un certain état. |
entryAgent |
Facultatif. Agent d'entrée chargé de gérer la session. Si aucune valeur n'est spécifiée, la session sera gérée par le |
deployment |
Facultatif. Déploiement de l'application à utiliser pour la session. Format : |
timeZone |
Facultatif. Fuseau horaire de l'utilisateur. Si ce champ est fourni, l'agent utilise le fuseau horaire pour les variables liées à la date et à l'heure. Sinon, l'agent utilisera le fuseau horaire spécifié dans App.time_zone_settings. Le format correspond au fuseau horaire de la base de données des fuseaux horaires IANA (par exemple, "America/Los_Angeles"). |
remoteDialogflowQueryParameters |
Facultatif. QueryParameters à envoyer à l'agent Dialogflow distant lorsque le contrôle de la session est transféré à l'agent distant. |
InputAudioConfig
InputAudioConfig configure la façon dont l'agent CES doit interpréter les données audio entrantes.
| Représentation JSON |
|---|
{
"audioEncoding": enum ( |
| Champs | |
|---|---|
audioEncoding |
Obligatoire. Encodage des données audio d'entrée. |
sampleRateHertz |
Obligatoire. Taux d'échantillonnage (en hertz) des données audio d'entrée. |
noiseSuppressionLevel |
Facultatif. Indique si la suppression du bruit doit être activée pour l'entrée audio. Les valeurs disponibles sont "low", "moderate", "high" et "very_high". |
AudioEncoding
AudioEncoding spécifie le format d'encodage des données audio.
| Enums | |
|---|---|
AUDIO_ENCODING_UNSPECIFIED |
Encodage audio non spécifié. |
LINEAR16 |
Encodage audio PCM linéaire 16 bits |
MULAW |
Échantillons de 8 bits compressant des échantillons audio 14 bits qui utilisent la norme G.711 PCMU/MULAW. |
ALAW |
Échantillons de 8 bits compressant des échantillons audio 14 bits qui utilisent la norme G.711 PCMU/A-law. |
OutputAudioConfig
OutputAudioConfig configure la façon dont l'agent CES doit synthétiser les réponses audio sortantes.
| Représentation JSON |
|---|
{
"audioEncoding": enum ( |
| Champs | |
|---|---|
audioEncoding |
Obligatoire. Encodage des données audio de sortie. |
sampleRateHertz |
Obligatoire. Taux d'échantillonnage (en hertz) des données audio de sortie. |
SessionConfig.RemoteDialogflowQueryParameters
QueryParameters à envoyer à l'agent Dialogflow distant lorsque le contrôle de la session est transféré à l'agent distant.
| Représentation JSON |
|---|
{ "webhookHeaders": { string: string, ... }, "payload": { object }, "endUserMetadata": { object } } |
| Champs | |
|---|---|
webhookHeaders |
Facultatif. En-têtes HTTP à envoyer en tant que webhookHeaders dans QueryParameters. Objet contenant une liste de paires |
payload |
Facultatif. Charge utile à envoyer dans QueryParameters. |
endUserMetadata |
Facultatif. Métadonnées de l'utilisateur final à envoyer dans QueryParameters. |
SessionInput
Entrée pour la session.
| Représentation JSON |
|---|
{ "willContinue": boolean, // Union field |
| Champs | |
|---|---|
willContinue |
Facultatif. Indicateur permettant de déterminer si le message actuel est un fragment d'une entrée plus grande dans la session de streaming bidirectionnel. Si la valeur est définie sur REMARQUE : Ce champ ne s'applique pas aux entrées audio et DTMF, car elles sont toujours traitées automatiquement en fonction du signal de fin. |
Champ d'union input_type. Type d'entrée. input_type ne peut être qu'un des éléments suivants : |
|
text |
Facultatif. Données textuelles de l'utilisateur final. |
dtmf |
Facultatif. Chiffres DTMF de l'utilisateur final. |
audio |
Facultatif. Données audio de l'utilisateur final. Chaîne encodée en base64. |
toolResponses |
Facultatif. Résultats d'exécution des appels d'outils du client. |
image |
Facultatif. Données d'image de l'utilisateur final. |
blob |
Facultatif. Données blob de l'utilisateur final. |
variables |
Facultatif. Variables contextuelles pour la session, identifiées par leur nom. L'agent CES n'utilisera que les variables déclarées dans l'application. Les variables non reconnues seront toujours envoyées à l'[agent Dialogflow][Agent.RemoteDialogflowAgent] en tant que paramètres de session supplémentaires. |
event |
Facultatif. Saisie d'événement. |
ToolResponses
Résultats d'exécution des appels d'outils demandés par le client.
| Représentation JSON |
|---|
{
"toolResponses": [
{
object ( |
| Champs | |
|---|---|
toolResponses[] |
Facultatif. Liste des résultats d'exécution de l'outil. |
Événement
Saisie d'événement.
| Représentation JSON |
|---|
{ "event": string } |
| Champs | |
|---|---|
event |
Obligatoire. Nom de l'événement. |
SessionOutput
Sortie de la session.
| Représentation JSON |
|---|
{ "turnIndex": integer, "turnCompleted": boolean, "diagnosticInfo": { object ( |
| Champs | |
|---|---|
turnIndex |
Indique l'ordre séquentiel du tour de conversation auquel appartient cette sortie, en commençant par 1. |
turnCompleted |
Si la valeur est "true", l'agent CES a détecté la fin du tour de conversation en cours et ne fournira plus de résultat pour ce tour. |
diagnosticInfo |
Facultatif. Les informations de diagnostic contiennent des détails sur l'exécution lors du traitement de l'entrée. N'est renseigné que dans le dernier SessionOutput (avec |
Champ d'union output_type. Type de sortie. output_type ne peut être qu'un des éléments suivants : |
|
text |
Texte de sortie de l'agent CES. |
audio |
Sortie audio de l'agent CES. Chaîne encodée en base64. |
toolCalls |
Demande au client d'exécuter les outils. |
citations |
Citations qui fournissent des informations sur la source du texte généré par l'agent. |
googleSearchSuggestions |
Suggestions renvoyées par la recherche Google à la suite de l'appel de |
endSession |
Indique que la session est terminée. |
payload |
Charge utile personnalisée avec une sortie structurée de l'agent CES. |
ToolCalls
Demande au client d'exécuter les outils et de renvoyer les résultats de l'exécution avant de poursuivre la session.
| Représentation JSON |
|---|
{
"toolCalls": [
{
object ( |
| Champs | |
|---|---|
toolCalls[] |
Facultatif. Liste des appels d'outils à exécuter. |
Citations
Citations associées à la réponse de l'agent.
| Représentation JSON |
|---|
{
"citedChunks": [
{
object ( |
| Champs | |
|---|---|
citedChunks[] |
Liste des informations citées. |
Citations.CitedChunk
Élément d'information cité.
| Représentation JSON |
|---|
{ "uri": string, "title": string, "text": string } |
| Champs | |
|---|---|
uri |
URI utilisé pour la citation. |
title |
Titre du document cité. |
text |
Texte utilisé pour la citation. |
GoogleSearchSuggestions
Suggestions de recherche de Google Search Tool.
| Représentation JSON |
|---|
{
"htmls": [
string
],
"webSearchQueries": [
{
object ( |
| Champs | |
|---|---|
htmls[] |
Style HTML et CSS conforme pour les suggestions de recherche. Les codes HTML et CSS fournis s'adaptent automatiquement aux paramètres de votre appareil et s'affichent en mode clair ou sombre, comme indiqué par |
webSearchQueries[] |
Liste des requêtes utilisées pour effectuer la recherche Google, ainsi que les URI des résultats de recherche qui constituent les suggestions de recherche. |
WebSearchQuery
Représente une requête de recherche Web unique et son URI de recherche associé.
| Représentation JSON |
|---|
{ "query": string, "uri": string } |
| Champs | |
|---|---|
query |
Texte de la requête de recherche. |
uri |
URI de la page de résultats de recherche Google pour la requête. |
EndSession
Indique que la session s'est terminée, soit parce qu'elle a été menée à bien (par exemple, l'utilisateur dit "Au revoir !" ) ou une escalade d'agent.
L'agent ne traitera plus aucune entrée une fois la session terminée. Le client doit fermer à moitié la connexion et se déconnecter après avoir reçu toutes les réponses restantes de l'agent.
| Représentation JSON |
|---|
{ "metadata": { object } } |
| Champs | |
|---|---|
metadata |
Facultatif. Fournit des informations supplémentaires sur le signal de fin de session, comme la raison de la fin de la session. |
SessionOutput.DiagnosticInfo
Contient des informations sur l'exécution pendant le traitement.
| Représentation JSON |
|---|
{ "messages": [ { object ( |
| Champs | |
|---|---|
messages[] |
Liste des messages qui se sont affichés lors du traitement. |
rootSpan |
Trace du traitement complet de la requête, représentée sous forme de portée racine. Cette étendue peut contenir des étendues enfants imbriquées pour des opérations spécifiques. |