aws_sdk_bedrockagentruntime/client/
invoke_agent.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 [`InvokeAgent`](crate::operation::invoke_agent::builders::InvokeAgentFluentBuilder) operation.
4    ///
5    /// - The fluent builder is configurable:
6    ///   - [`session_state(SessionState)`](crate::operation::invoke_agent::builders::InvokeAgentFluentBuilder::session_state) / [`set_session_state(Option<SessionState>)`](crate::operation::invoke_agent::builders::InvokeAgentFluentBuilder::set_session_state):<br>required: **false**<br><p>Contains parameters that specify various attributes of the session. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/agents-session-state.html">Control session context</a>.</p><note>  <p>If you include <code>returnControlInvocationResults</code> in the <code>sessionState</code> field, the <code>inputText</code> field will be ignored.</p> </note><br>
7    ///   - [`agent_id(impl Into<String>)`](crate::operation::invoke_agent::builders::InvokeAgentFluentBuilder::agent_id) / [`set_agent_id(Option<String>)`](crate::operation::invoke_agent::builders::InvokeAgentFluentBuilder::set_agent_id):<br>required: **true**<br><p>The unique identifier of the agent to use.</p><br>
8    ///   - [`agent_alias_id(impl Into<String>)`](crate::operation::invoke_agent::builders::InvokeAgentFluentBuilder::agent_alias_id) / [`set_agent_alias_id(Option<String>)`](crate::operation::invoke_agent::builders::InvokeAgentFluentBuilder::set_agent_alias_id):<br>required: **true**<br><p>The alias of the agent to use.</p><br>
9    ///   - [`session_id(impl Into<String>)`](crate::operation::invoke_agent::builders::InvokeAgentFluentBuilder::session_id) / [`set_session_id(Option<String>)`](crate::operation::invoke_agent::builders::InvokeAgentFluentBuilder::set_session_id):<br>required: **true**<br><p>The unique identifier of the session. Use the same value across requests to continue the same conversation.</p><br>
10    ///   - [`end_session(bool)`](crate::operation::invoke_agent::builders::InvokeAgentFluentBuilder::end_session) / [`set_end_session(Option<bool>)`](crate::operation::invoke_agent::builders::InvokeAgentFluentBuilder::set_end_session):<br>required: **false**<br><p>Specifies whether to end the session with the agent or not.</p><br>
11    ///   - [`enable_trace(bool)`](crate::operation::invoke_agent::builders::InvokeAgentFluentBuilder::enable_trace) / [`set_enable_trace(Option<bool>)`](crate::operation::invoke_agent::builders::InvokeAgentFluentBuilder::set_enable_trace):<br>required: **false**<br><p>Specifies whether to turn on the trace or not to track the agent's reasoning process. For more information, see <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/agents-test.html#trace-events">Trace enablement</a>.</p><br>
12    ///   - [`input_text(impl Into<String>)`](crate::operation::invoke_agent::builders::InvokeAgentFluentBuilder::input_text) / [`set_input_text(Option<String>)`](crate::operation::invoke_agent::builders::InvokeAgentFluentBuilder::set_input_text):<br>required: **false**<br><p>The prompt text to send the agent.</p><note>  <p>If you include <code>returnControlInvocationResults</code> in the <code>sessionState</code> field, the <code>inputText</code> field will be ignored.</p> </note><br>
13    ///   - [`memory_id(impl Into<String>)`](crate::operation::invoke_agent::builders::InvokeAgentFluentBuilder::memory_id) / [`set_memory_id(Option<String>)`](crate::operation::invoke_agent::builders::InvokeAgentFluentBuilder::set_memory_id):<br>required: **false**<br><p>The unique identifier of the agent memory.</p><br>
14    ///   - [`bedrock_model_configurations(BedrockModelConfigurations)`](crate::operation::invoke_agent::builders::InvokeAgentFluentBuilder::bedrock_model_configurations) / [`set_bedrock_model_configurations(Option<BedrockModelConfigurations>)`](crate::operation::invoke_agent::builders::InvokeAgentFluentBuilder::set_bedrock_model_configurations):<br>required: **false**<br><p>Model performance settings for the request.</p><br>
15    ///   - [`streaming_configurations(StreamingConfigurations)`](crate::operation::invoke_agent::builders::InvokeAgentFluentBuilder::streaming_configurations) / [`set_streaming_configurations(Option<StreamingConfigurations>)`](crate::operation::invoke_agent::builders::InvokeAgentFluentBuilder::set_streaming_configurations):<br>required: **false**<br><p>Specifies the configurations for streaming.</p><note>  <p>To use agent streaming, you need permissions to perform the <code>bedrock:InvokeModelWithResponseStream</code> action.</p> </note><br>
16    ///   - [`source_arn(impl Into<String>)`](crate::operation::invoke_agent::builders::InvokeAgentFluentBuilder::source_arn) / [`set_source_arn(Option<String>)`](crate::operation::invoke_agent::builders::InvokeAgentFluentBuilder::set_source_arn):<br>required: **false**<br><p>The ARN of the resource making the request.</p><br>
17    /// - On success, responds with [`InvokeAgentOutput`](crate::operation::invoke_agent::InvokeAgentOutput) with field(s):
18    ///   - [`completion(EventReceiver<ResponseStream, ResponseStreamError>)`](crate::operation::invoke_agent::InvokeAgentOutput::completion): <p>The agent's response to the user prompt.</p>
19    ///   - [`content_type(String)`](crate::operation::invoke_agent::InvokeAgentOutput::content_type): <p>The MIME type of the input data in the request. The default value is <code>application/json</code>.</p>
20    ///   - [`session_id(String)`](crate::operation::invoke_agent::InvokeAgentOutput::session_id): <p>The unique identifier of the session with the agent.</p>
21    ///   - [`memory_id(Option<String>)`](crate::operation::invoke_agent::InvokeAgentOutput::memory_id): <p>The unique identifier of the agent memory.</p>
22    /// - On failure, responds with [`SdkError<InvokeAgentError>`](crate::operation::invoke_agent::InvokeAgentError)
23    pub fn invoke_agent(&self) -> crate::operation::invoke_agent::builders::InvokeAgentFluentBuilder {
24        crate::operation::invoke_agent::builders::InvokeAgentFluentBuilder::new(self.handle.clone())
25    }
26}