aws_sdk_qbusiness/client/
chat_sync.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2impl super::Client {
3    /// Constructs a fluent builder for the [`ChatSync`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder) operation.
4    ///
5    /// - The fluent builder is configurable:
6    ///   - [`application_id(impl Into<String>)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::application_id) / [`set_application_id(Option<String>)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::set_application_id):<br>required: **true**<br><p>The identifier of the Amazon Q Business application linked to the Amazon Q Business conversation.</p><br>
7    ///   - [`user_id(impl Into<String>)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::user_id) / [`set_user_id(Option<String>)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::set_user_id):<br>required: **false**<br><p>The identifier of the user attached to the chat input.</p><br>
8    ///   - [`user_groups(impl Into<String>)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::user_groups) / [`set_user_groups(Option<Vec::<String>>)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::set_user_groups):<br>required: **false**<br><p>The group names that a user associated with the chat input belongs to.</p><br>
9    ///   - [`user_message(impl Into<String>)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::user_message) / [`set_user_message(Option<String>)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::set_user_message):<br>required: **false**<br><p>A end user message in a conversation.</p><br>
10    ///   - [`attachments(AttachmentInput)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::attachments) / [`set_attachments(Option<Vec::<AttachmentInput>>)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::set_attachments):<br>required: **false**<br><p>A list of files uploaded directly during chat. You can upload a maximum of 5 files of upto 10 MB each.</p><br>
11    ///   - [`action_execution(ActionExecution)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::action_execution) / [`set_action_execution(Option<ActionExecution>)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::set_action_execution):<br>required: **false**<br><p>A request from an end user to perform an Amazon Q Business plugin action.</p><br>
12    ///   - [`auth_challenge_response(AuthChallengeResponse)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::auth_challenge_response) / [`set_auth_challenge_response(Option<AuthChallengeResponse>)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::set_auth_challenge_response):<br>required: **false**<br><p>An authentication verification event response by a third party authentication server to Amazon Q Business.</p><br>
13    ///   - [`conversation_id(impl Into<String>)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::conversation_id) / [`set_conversation_id(Option<String>)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::set_conversation_id):<br>required: **false**<br><p>The identifier of the Amazon Q Business conversation.</p><br>
14    ///   - [`parent_message_id(impl Into<String>)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::parent_message_id) / [`set_parent_message_id(Option<String>)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::set_parent_message_id):<br>required: **false**<br><p>The identifier of the previous system message in a conversation.</p><br>
15    ///   - [`attribute_filter(AttributeFilter)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::attribute_filter) / [`set_attribute_filter(Option<AttributeFilter>)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::set_attribute_filter):<br>required: **false**<br><p>Enables filtering of Amazon Q Business web experience responses based on document attributes or metadata fields.</p><br>
16    ///   - [`chat_mode(ChatMode)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::chat_mode) / [`set_chat_mode(Option<ChatMode>)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::set_chat_mode):<br>required: **false**<br><p>The <code>chatMode</code> parameter determines the chat modes available to Amazon Q Business users:</p> <ul>  <li>   <p><code>RETRIEVAL_MODE</code> - If you choose this mode, Amazon Q generates responses solely from the data sources connected and indexed by the application. If an answer is not found in the data sources or there are no data sources available, Amazon Q will respond with a "<i>No Answer Found</i>" message, unless LLM knowledge has been enabled. In that case, Amazon Q will generate a response from the LLM knowledge</p></li>  <li>   <p><code>CREATOR_MODE</code> - By selecting this mode, you can choose to generate responses only from the LLM knowledge. You can also attach files and have Amazon Q generate a response based on the data in those files. If the attached files do not contain an answer for the query, Amazon Q will automatically fall back to generating a response from the LLM knowledge.</p></li>  <li>   <p><code>PLUGIN_MODE</code> - By selecting this mode, users can choose to use plugins in chat to get their responses.</p></li> </ul><note>  <p>If none of the modes are selected, Amazon Q will only respond using the information from the attached files.</p> </note> <p>For more information, see <a href="https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/guardrails.html">Admin controls and guardrails</a>, <a href="https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/plugins.html">Plugins</a>, and <a href="https://docs.aws.amazon.com/amazonq/latest/business-use-dg/using-web-experience.html#chat-source-scope">Response sources</a>.</p><br>
17    ///   - [`chat_mode_configuration(ChatModeConfiguration)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::chat_mode_configuration) / [`set_chat_mode_configuration(Option<ChatModeConfiguration>)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::set_chat_mode_configuration):<br>required: **false**<br><p>The chat mode configuration for an Amazon Q Business application.</p><br>
18    ///   - [`client_token(impl Into<String>)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::chat_sync::builders::ChatSyncFluentBuilder::set_client_token):<br>required: **false**<br><p>A token that you provide to identify a chat request.</p><br>
19    /// - On success, responds with [`ChatSyncOutput`](crate::operation::chat_sync::ChatSyncOutput) with field(s):
20    ///   - [`conversation_id(Option<String>)`](crate::operation::chat_sync::ChatSyncOutput::conversation_id): <p>The identifier of the Amazon Q Business conversation.</p>
21    ///   - [`system_message(Option<String>)`](crate::operation::chat_sync::ChatSyncOutput::system_message): <p>An AI-generated message in a conversation.</p>
22    ///   - [`system_message_id(Option<String>)`](crate::operation::chat_sync::ChatSyncOutput::system_message_id): <p>The identifier of an Amazon Q Business AI generated message within the conversation.</p>
23    ///   - [`user_message_id(Option<String>)`](crate::operation::chat_sync::ChatSyncOutput::user_message_id): <p>The identifier of an Amazon Q Business end user text input message within the conversation.</p>
24    ///   - [`action_review(Option<ActionReview>)`](crate::operation::chat_sync::ChatSyncOutput::action_review): <p>A request from Amazon Q Business to the end user for information Amazon Q Business needs to successfully complete a requested plugin action.</p>
25    ///   - [`auth_challenge_request(Option<AuthChallengeRequest>)`](crate::operation::chat_sync::ChatSyncOutput::auth_challenge_request): <p>An authentication verification event activated by an end user request to use a custom plugin.</p>
26    ///   - [`source_attributions(Option<Vec::<Option<SourceAttribution>>>)`](crate::operation::chat_sync::ChatSyncOutput::source_attributions): <p>The source documents used to generate the conversation response.</p>
27    ///   - [`failed_attachments(Option<Vec::<AttachmentOutput>>)`](crate::operation::chat_sync::ChatSyncOutput::failed_attachments): <p>A list of files which failed to upload during chat.</p>
28    /// - On failure, responds with [`SdkError<ChatSyncError>`](crate::operation::chat_sync::ChatSyncError)
29    pub fn chat_sync(&self) -> crate::operation::chat_sync::builders::ChatSyncFluentBuilder {
30        crate::operation::chat_sync::builders::ChatSyncFluentBuilder::new(self.handle.clone())
31    }
32}