QueryResult

Represents the result of a conversational query.

JSON representation
{
  "languageCode": string,
  "parameters": {
    object
  },
  "responseMessages": [
    {
      object (ResponseMessage)
    }
  ],
  "webhookStatuses": [
    {
      object (Status)
    }
  ],
  "webhookPayloads": [
    {
      object
    }
  ],
  "currentPage": {
    object (Page)
  },
  "intent": {
    object (Intent)
  },
  "intentDetectionConfidence": number,
  "match": {
    object (Match)
  },
  "diagnosticInfo": {
    object
  },
  "sentimentAnalysisResult": {
    object (SentimentAnalysisResult)
  },
  "advancedSettings": {
    object (AdvancedSettings)
  },
  "allowAnswerFeedback": boolean,
  "dataStoreConnectionSignals": {
    object (DataStoreConnectionSignals)
  },

  // Union field query can be only one of the following:
  "text": string,
  "triggerIntent": string,
  "transcript": string,
  "triggerEvent": string,
  "dtmf": {
    object (DtmfInput)
  }
  // End of list of possible types for union field query.
}
Fields
languageCode

string

The language that was triggered during intent detection. See Language Support for a list of the currently supported language codes.

parameters

object (Struct format)

The collected session parameters.

Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs:

  • MapKey type: string
  • MapKey value: parameter name
  • MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map.
  • MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value.
responseMessages[]

object (ResponseMessage)

The list of rich messages returned to the client. Responses vary from simple text messages to more sophisticated, structured payloads used to drive complex logic.

webhookStatuses[]

object (Status)

The list of webhook call status in the order of call sequence.

webhookPayloads[]

object (Struct format)

The list of webhook payload in WebhookResponse.payload, in the order of call sequence. If some webhook call fails or doesn't return any payload, an empty Struct would be used instead.

currentPage

object (Page)

The current Page. Some, not all fields are filled in this message, including but not limited to name and displayName.

intent
(deprecated)

object (Intent)

The Intent that matched the conversational query. Some, not all fields are filled in this message, including but not limited to: name and displayName. This field is deprecated, please use QueryResult.match instead.

intentDetectionConfidence
(deprecated)

number

The intent detection confidence. Values range from 0.0 (completely uncertain) to 1.0 (completely certain). This value is for informational purpose only and is only used to help match the best intent within the classification threshold. This value may change for the same end-user expression at any time due to a model retraining or change in implementation. This field is deprecated, please use QueryResult.match instead.

match

object (Match)

Intent match result, could be an intent or an event.

diagnosticInfo

object (Struct format)

The free-form diagnostic info. For example, this field could contain webhook call latency. The fields of this data can change without notice, so you should not write code that depends on its structure.

One of the fields is called "Alternative Matched Intents", which may aid with debugging. The following describes these intent results:

  • The list is empty if no intent was matched to end-user input.
  • Only intents that are referenced in the currently active flow are included.
  • The matched intent is included.
  • Other intents that could have matched end-user input, but did not match because they are referenced by intent routes that are out of scope, are included.
  • Other intents referenced by intent routes in scope that matched end-user input, but had a lower confidence score.
sentimentAnalysisResult

object (SentimentAnalysisResult)

The sentiment analyss result, which depends on analyzeQueryTextSentiment, specified in the request.

advancedSettings

object (AdvancedSettings)

Returns the current advanced settings including IVR settings. Even though the operations configured by these settings are performed by Dialogflow, the client may need to perform special logic at the moment. For example, if Dialogflow exports audio to Google Cloud Storage, then the client may need to wait for the resulting object to appear in the bucket before proceeding.

allowAnswerFeedback

boolean

Indicates whether the Thumbs up/Thumbs down rating controls are need to be shown for the response in the Dialogflow Messenger widget.

dataStoreConnectionSignals

object (DataStoreConnectionSignals)

Optional. Data store connection feature output signals. Filled only when data stores are involved in serving the query and DetectIntentRequest.populate_data_store_connection_signals is set to true in the request.

Union field query. The original conversational query. query can be only one of the following:
text

string

If natural language text was provided as input, this field will contain a copy of the text.

triggerIntent

string

If an intent was provided as input, this field will contain a copy of the intent identifier. Format: projects/<ProjectID>/locations/<LocationID>/agents/<AgentID>/intents/<IntentID>.

transcript

string

If natural language speech audio was provided as input, this field will contain the transcript for the audio.

triggerEvent

string

If an event was provided as input, this field will contain the name of the event.

dtmf

object (DtmfInput)

If a DTMF was provided as input, this field will contain a copy of the DtmfInput.

SentimentAnalysisResult

The result of sentiment analysis. Sentiment analysis inspects user input and identifies the prevailing subjective opinion, especially to determine a user's attitude as positive, negative, or neutral.

JSON representation
{
  "score": number,
  "magnitude": number
}
Fields
score

number

Sentiment score between -1.0 (negative sentiment) and 1.0 (positive sentiment).

magnitude

number

A non-negative number in the [0, +inf) range, which represents the absolute magnitude of sentiment, regardless of score (positive or negative).

DataStoreConnectionSignals

Data store connection feature output signals. Might be only partially field if processing stop before the final answer. Reasons for this can be, but are not limited to: empty UCS search results, positive RAI check outcome, grounding failure, ...

JSON representation
{
  "rewriterModelCallSignals": {
    object (RewriterModelCallSignals)
  },
  "rewrittenQuery": string,
  "searchSnippets": [
    {
      object (SearchSnippet)
    }
  ],
  "answerGenerationModelCallSignals": {
    object (AnswerGenerationModelCallSignals)
  },
  "answer": string,
  "answerParts": [
    {
      object (AnswerPart)
    }
  ],
  "citedSnippets": [
    {
      object (CitedSnippet)
    }
  ],
  "groundingSignals": {
    object (GroundingSignals)
  },
  "safetySignals": {
    object (SafetySignals)
  }
}
Fields
rewriterModelCallSignals

object (RewriterModelCallSignals)

Optional. Diagnostic info related to the rewriter model call.

rewrittenQuery

string

Optional. Rewritten string query used for search.

searchSnippets[]

object (SearchSnippet)

Optional. Search snippets included in the answer generation prompt.

answerGenerationModelCallSignals

object (AnswerGenerationModelCallSignals)

Optional. Diagnostic info related to the answer generation model call.

answer

string

Optional. The final compiled answer.

answerParts[]

object (AnswerPart)

Optional. Answer parts with relevant citations. Concatenation of texts should add up the answer (not counting whitespaces).

citedSnippets[]

object (CitedSnippet)

Optional. Snippets cited by the answer generation model from the most to least relevant.

groundingSignals

object (GroundingSignals)

Optional. Grounding signals.

safetySignals

object (SafetySignals)

Optional. Safety check result.

RewriterModelCallSignals

Diagnostic info related to the rewriter model call.

JSON representation
{
  "renderedPrompt": string,
  "modelOutput": string,
  "model": string
}
Fields
renderedPrompt

string

Prompt as sent to the model.

modelOutput

string

Output of the generative model.

model

string

Name of the generative model. For example, "gemini-ultra", "gemini-pro", "gemini-1.5-flash" etc. Defaults to "Other" if the model is unknown.

SearchSnippet

Search snippet details.

JSON representation
{
  "documentTitle": string,
  "documentUri": string,
  "text": string
}
Fields
documentTitle

string

Title of the enclosing document.

documentUri

string

Uri for the document. Present if specified for the document.

text

string

Text included in the prompt.

AnswerGenerationModelCallSignals

Diagnostic info related to the answer generation model call.

JSON representation
{
  "renderedPrompt": string,
  "modelOutput": string,
  "model": string
}
Fields
renderedPrompt

string

Prompt as sent to the model.

modelOutput

string

Output of the generative model.

model

string

Name of the generative model. For example, "gemini-ultra", "gemini-pro", "gemini-1.5-flash" etc. Defaults to "Other" if the model is unknown.

AnswerPart

Answer part with citation.

JSON representation
{
  "text": string,
  "supportingIndices": [
    integer
  ]
}
Fields
text

string

Substring of the answer.

supportingIndices[]

integer

Citations for this answer part. Indices of searchSnippets.

CitedSnippet

Snippet cited by the answer generation model.

JSON representation
{
  "searchSnippet": {
    object (SearchSnippet)
  },
  "snippetIndex": integer
}
Fields
searchSnippet

object (SearchSnippet)

Details of the snippet.

snippetIndex

integer

Index of the snippet in searchSnippets field.

GroundingSignals

Grounding signals.

JSON representation
{
  "decision": enum (GroundingDecision),
  "score": enum (GroundingScoreBucket)
}
Fields
decision

enum (GroundingDecision)

Represents the decision of the grounding check.

score

enum (GroundingScoreBucket)

Grounding score bucket setting.

GroundingDecision

Represents the decision of the grounding check.

Enums
GROUNDING_DECISION_UNSPECIFIED Decision not specified.
ACCEPTED_BY_GROUNDING Grounding have accepted the answer.
REJECTED_BY_GROUNDING Grounding have rejected the answer.

GroundingScoreBucket

Grounding score buckets.

Enums
GROUNDING_SCORE_BUCKET_UNSPECIFIED Score not specified.
VERY_LOW We have very low confidence that the answer is grounded.
LOW We have low confidence that the answer is grounded.
MEDIUM We have medium confidence that the answer is grounded.
HIGH We have high confidence that the answer is grounded.
VERY_HIGH We have very high confidence that the answer is grounded.

SafetySignals

Safety check results.

JSON representation
{
  "decision": enum (SafetyDecision),
  "bannedPhraseMatch": enum (BannedPhraseMatch),
  "matchedBannedPhrase": string
}
Fields
decision

enum (SafetyDecision)

Safety decision.

bannedPhraseMatch

enum (BannedPhraseMatch)

Specifies banned phrase match subject.

matchedBannedPhrase

string

The matched banned phrase if there was a match.

SafetyDecision

Safety decision. All kinds of check are incorporated into this final decision, including banned phrases check.

Enums
SAFETY_DECISION_UNSPECIFIED Decision not specified.
ACCEPTED_BY_SAFETY_CHECK No manual or automatic safety check fired.
REJECTED_BY_SAFETY_CHECK One ore more safety checks fired.

BannedPhraseMatch

Specifies banned phrase match subject.

Enums
BANNED_PHRASE_MATCH_UNSPECIFIED No banned phrase check was executed.
BANNED_PHRASE_MATCH_NONE All banned phrase checks led to no match.
BANNED_PHRASE_MATCH_QUERY A banned phrase matched the query.
BANNED_PHRASE_MATCH_RESPONSE A banned phrase matched the response.