Skip to main content

QueryParameters

Struct QueryParameters 

Source
#[non_exhaustive]
pub struct QueryParameters {
Show 18 fields pub time_zone: String, pub geo_location: Option<LatLng>, pub session_entity_types: Vec<SessionEntityType>, pub payload: Option<Struct>, pub parameters: Option<Struct>, pub parameter_scope: String, pub current_page: String, pub disable_webhook: bool, pub analyze_query_text_sentiment: bool, pub webhook_headers: HashMap<String, String>, pub flow_versions: Vec<String>, pub current_playbook: String, pub llm_model_settings: Option<LlmModelSettings>, pub channel: String, pub session_ttl: Option<Duration>, pub end_user_metadata: Option<Struct>, pub search_config: Option<SearchConfig>, pub populate_data_store_connection_signals: bool, /* private fields */
}
Available on crate feature sessions only.
Expand description

Represents the parameters of a conversational query.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§time_zone: String

The time zone of this conversational query from the time zone database, e.g., America/New_York, Europe/Paris. If not provided, the time zone specified in the agent is used.

§geo_location: Option<LatLng>

The geo location of this conversational query.

§session_entity_types: Vec<SessionEntityType>

Additional session entity types to replace or extend developer entity types with. The entity synonyms apply to all languages and persist for the session of this query.

§payload: Option<Struct>

This field can be used to pass custom data into the webhook associated with the agent. Arbitrary JSON objects are supported. Some integrations that query a Dialogflow agent may provide additional information in the payload. In particular, for the Dialogflow Phone Gateway integration, this field has the form:

{
 "telephony": {
   "caller_id": "+18558363987"
 }
}
§parameters: Option<Struct>

Additional parameters to be put into session parameters. To remove a parameter from the session, clients should explicitly set the parameter value to null.

You can reference the session parameters in the agent with the following format: $session.params.parameter-id.

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.
§parameter_scope: String

Scope for the parameters. If not specified, parameters will be treated as session parameters. Parameters with custom scope will not be put into session parameters.

You can reference the parameters with custom scope in the agent with the following format: $parameter-scope.params.parameter-id.

§current_page: String

The unique identifier of the page to override the current page in the session. Format: projects/<ProjectID>/locations/<LocationID>/agents/<AgentID>/flows/<FlowID>/pages/<PageID>.

If current_page is specified, the previous state of the session will be ignored by Dialogflow, including the previous page and the previous session parameters. In most cases, current_page and parameters should be configured together to direct a session to a specific state.

§disable_webhook: bool

Whether to disable webhook calls for this request.

§analyze_query_text_sentiment: bool

Configures whether sentiment analysis should be performed. If not provided, sentiment analysis is not performed.

§webhook_headers: HashMap<String, String>

This field can be used to pass HTTP headers for a webhook call. These headers will be sent to webhook along with the headers that have been configured through Dialogflow web console. The headers defined within this field will overwrite the headers configured through Dialogflow console if there is a conflict. Header names are case-insensitive. Google’s specified headers are not allowed. Including: “Host”, “Content-Length”, “Connection”, “From”, “User-Agent”, “Accept-Encoding”, “If-Modified-Since”, “If-None-Match”, “X-Forwarded-For”, etc.

§flow_versions: Vec<String>

A list of flow versions to override for the request. Format: projects/<ProjectID>/locations/<LocationID>/agents/<AgentID>/flows/<FlowID>/versions/<VersionID>.

If version 1 of flow X is included in this list, the traffic of flow X will go through version 1 regardless of the version configuration in the environment. Each flow can have at most one version specified in this list.

§current_playbook: String

Optional. The unique identifier of the playbook to start or continue the session with. If current_playbook is specified, the previous state of the session will be ignored by Dialogflow.

Format: projects/<ProjectID>/locations/<LocationID>/agents/<AgentID>/playbooks/<PlaybookID>.

§llm_model_settings: Option<LlmModelSettings>

Optional. Use the specified LLM model settings for processing the request.

§channel: String

The channel which this query is for.

If specified, only the ResponseMessage associated with the channel will be returned. If no ResponseMessage is associated with the channel, it falls back to the ResponseMessage with unspecified channel.

If unspecified, the ResponseMessage with unspecified channel will be returned.

§session_ttl: Option<Duration>

Optional. Configure lifetime of the Dialogflow session. By default, a Dialogflow session remains active and its data is stored for 30 minutes after the last request is sent for the session. This value should be no longer than 1 day.

§end_user_metadata: Option<Struct>

Optional. Information about the end-user to improve the relevance and accuracy of generative answers.

This will be interpreted and used by a language model, so, for good results, the data should be self-descriptive, and in a simple structure.

Example:

{
  "subscription plan": "Business Premium Plus",
  "devices owned": [
    {"model": "Google Pixel 7"},
    {"model": "Google Pixel Tablet"}
  ]
}
§search_config: Option<SearchConfig>

Optional. Search configuration for UCS search queries.

§populate_data_store_connection_signals: bool
👎Deprecated

Optional. If set to true and data stores are involved in serving the request then DetectIntentResponse.query_result.data_store_connection_signals will be filled with data that can help evaluations.

Implementations§

Source§

impl QueryParameters

Source

pub fn new() -> Self

Creates a new default instance.

Source

pub fn set_time_zone<T: Into<String>>(self, v: T) -> Self

Sets the value of time_zone.

§Example
let x = QueryParameters::new().set_time_zone("example");
Source

pub fn set_geo_location<T>(self, v: T) -> Self
where T: Into<LatLng>,

Sets the value of geo_location.

§Example
use google_cloud_type::model::LatLng;
let x = QueryParameters::new().set_geo_location(LatLng::default()/* use setters */);
Source

pub fn set_or_clear_geo_location<T>(self, v: Option<T>) -> Self
where T: Into<LatLng>,

Sets or clears the value of geo_location.

§Example
use google_cloud_type::model::LatLng;
let x = QueryParameters::new().set_or_clear_geo_location(Some(LatLng::default()/* use setters */));
let x = QueryParameters::new().set_or_clear_geo_location(None::<LatLng>);
Source

pub fn set_session_entity_types<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<SessionEntityType>,

Sets the value of session_entity_types.

§Example
use google_cloud_dialogflow_cx_v3::model::SessionEntityType;
let x = QueryParameters::new()
    .set_session_entity_types([
        SessionEntityType::default()/* use setters */,
        SessionEntityType::default()/* use (different) setters */,
    ]);
Source

pub fn set_payload<T>(self, v: T) -> Self
where T: Into<Struct>,

Sets the value of payload.

§Example
use wkt::Struct;
let x = QueryParameters::new().set_payload(Struct::default()/* use setters */);
Source

pub fn set_or_clear_payload<T>(self, v: Option<T>) -> Self
where T: Into<Struct>,

Sets or clears the value of payload.

§Example
use wkt::Struct;
let x = QueryParameters::new().set_or_clear_payload(Some(Struct::default()/* use setters */));
let x = QueryParameters::new().set_or_clear_payload(None::<Struct>);
Source

pub fn set_parameters<T>(self, v: T) -> Self
where T: Into<Struct>,

Sets the value of parameters.

§Example
use wkt::Struct;
let x = QueryParameters::new().set_parameters(Struct::default()/* use setters */);
Source

pub fn set_or_clear_parameters<T>(self, v: Option<T>) -> Self
where T: Into<Struct>,

Sets or clears the value of parameters.

§Example
use wkt::Struct;
let x = QueryParameters::new().set_or_clear_parameters(Some(Struct::default()/* use setters */));
let x = QueryParameters::new().set_or_clear_parameters(None::<Struct>);
Source

pub fn set_parameter_scope<T: Into<String>>(self, v: T) -> Self

Sets the value of parameter_scope.

§Example
let x = QueryParameters::new().set_parameter_scope("example");
Source

pub fn set_current_page<T: Into<String>>(self, v: T) -> Self

Sets the value of current_page.

§Example
let x = QueryParameters::new().set_current_page(format!("projects/{project_id}/locations/{location_id}/agents/{agent_id}/flows/{flow_id}/pages/{page_id}"));
Source

pub fn set_disable_webhook<T: Into<bool>>(self, v: T) -> Self

Sets the value of disable_webhook.

§Example
let x = QueryParameters::new().set_disable_webhook(true);
Source

pub fn set_analyze_query_text_sentiment<T: Into<bool>>(self, v: T) -> Self

Sets the value of analyze_query_text_sentiment.

§Example
let x = QueryParameters::new().set_analyze_query_text_sentiment(true);
Source

pub fn set_webhook_headers<T, K, V>(self, v: T) -> Self
where T: IntoIterator<Item = (K, V)>, K: Into<String>, V: Into<String>,

Sets the value of webhook_headers.

§Example
let x = QueryParameters::new().set_webhook_headers([
    ("key0", "abc"),
    ("key1", "xyz"),
]);
Source

pub fn set_flow_versions<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<String>,

Sets the value of flow_versions.

§Example
let x = QueryParameters::new().set_flow_versions(["a", "b", "c"]);
Source

pub fn set_current_playbook<T: Into<String>>(self, v: T) -> Self

Sets the value of current_playbook.

§Example
let x = QueryParameters::new().set_current_playbook(format!("projects/{project_id}/locations/{location_id}/agents/{agent_id}/playbooks/{playbook_id}"));
Source

pub fn set_llm_model_settings<T>(self, v: T) -> Self

Sets the value of llm_model_settings.

§Example
use google_cloud_dialogflow_cx_v3::model::LlmModelSettings;
let x = QueryParameters::new().set_llm_model_settings(LlmModelSettings::default()/* use setters */);
Source

pub fn set_or_clear_llm_model_settings<T>(self, v: Option<T>) -> Self

Sets or clears the value of llm_model_settings.

§Example
use google_cloud_dialogflow_cx_v3::model::LlmModelSettings;
let x = QueryParameters::new().set_or_clear_llm_model_settings(Some(LlmModelSettings::default()/* use setters */));
let x = QueryParameters::new().set_or_clear_llm_model_settings(None::<LlmModelSettings>);
Source

pub fn set_channel<T: Into<String>>(self, v: T) -> Self

Sets the value of channel.

§Example
let x = QueryParameters::new().set_channel("example");
Source

pub fn set_session_ttl<T>(self, v: T) -> Self
where T: Into<Duration>,

Sets the value of session_ttl.

§Example
use wkt::Duration;
let x = QueryParameters::new().set_session_ttl(Duration::default()/* use setters */);
Source

pub fn set_or_clear_session_ttl<T>(self, v: Option<T>) -> Self
where T: Into<Duration>,

Sets or clears the value of session_ttl.

§Example
use wkt::Duration;
let x = QueryParameters::new().set_or_clear_session_ttl(Some(Duration::default()/* use setters */));
let x = QueryParameters::new().set_or_clear_session_ttl(None::<Duration>);
Source

pub fn set_end_user_metadata<T>(self, v: T) -> Self
where T: Into<Struct>,

Sets the value of end_user_metadata.

§Example
use wkt::Struct;
let x = QueryParameters::new().set_end_user_metadata(Struct::default()/* use setters */);
Source

pub fn set_or_clear_end_user_metadata<T>(self, v: Option<T>) -> Self
where T: Into<Struct>,

Sets or clears the value of end_user_metadata.

§Example
use wkt::Struct;
let x = QueryParameters::new().set_or_clear_end_user_metadata(Some(Struct::default()/* use setters */));
let x = QueryParameters::new().set_or_clear_end_user_metadata(None::<Struct>);
Source

pub fn set_search_config<T>(self, v: T) -> Self
where T: Into<SearchConfig>,

Sets the value of search_config.

§Example
use google_cloud_dialogflow_cx_v3::model::SearchConfig;
let x = QueryParameters::new().set_search_config(SearchConfig::default()/* use setters */);
Source

pub fn set_or_clear_search_config<T>(self, v: Option<T>) -> Self
where T: Into<SearchConfig>,

Sets or clears the value of search_config.

§Example
use google_cloud_dialogflow_cx_v3::model::SearchConfig;
let x = QueryParameters::new().set_or_clear_search_config(Some(SearchConfig::default()/* use setters */));
let x = QueryParameters::new().set_or_clear_search_config(None::<SearchConfig>);
Source

pub fn set_populate_data_store_connection_signals<T: Into<bool>>( self, v: T, ) -> Self

👎Deprecated

Sets the value of populate_data_store_connection_signals.

§Example
let x = QueryParameters::new().set_populate_data_store_connection_signals(true);

Trait Implementations§

Source§

impl Clone for QueryParameters

Source§

fn clone(&self) -> QueryParameters

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for QueryParameters

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for QueryParameters

Source§

fn default() -> QueryParameters

Returns the “default value” for a type. Read more
Source§

impl Message for QueryParameters

Source§

fn typename() -> &'static str

The typename of this message.
Source§

impl PartialEq for QueryParameters

Source§

fn eq(&self, other: &QueryParameters) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for QueryParameters

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FutureExt for T

Source§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
Source§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more