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    ///   - [`prompt_creation_configurations(PromptCreationConfigurations)`](crate::operation::invoke_agent::builders::InvokeAgentFluentBuilder::prompt_creation_configurations) / [`set_prompt_creation_configurations(Option<PromptCreationConfigurations>)`](crate::operation::invoke_agent::builders::InvokeAgentFluentBuilder::set_prompt_creation_configurations):<br>required: **false**<br><p>Specifies parameters that control how the service populates the agent prompt for an <code>InvokeAgent</code> request. You can control which aspects of previous invocations in the same agent session the service uses to populate the agent prompt. This gives you more granular control over the contextual history that is used to process the current request.</p><br>
17    ///   - [`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>
18    /// - On success, responds with [`InvokeAgentOutput`](crate::operation::invoke_agent::InvokeAgentOutput) with field(s):
19    ///   - [`completion(EventReceiver<ResponseStream, ResponseStreamError>)`](crate::operation::invoke_agent::InvokeAgentOutput::completion): <p>The agent's response to the user prompt.</p>
20    ///   - [`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>
21    ///   - [`session_id(String)`](crate::operation::invoke_agent::InvokeAgentOutput::session_id): <p>The unique identifier of the session with the agent.</p>
22    ///   - [`memory_id(Option<String>)`](crate::operation::invoke_agent::InvokeAgentOutput::memory_id): <p>The unique identifier of the agent memory.</p>
23    /// - On failure, responds with [`SdkError<InvokeAgentError>`](crate::operation::invoke_agent::InvokeAgentError)
24    pub fn invoke_agent(&self) -> crate::operation::invoke_agent::builders::InvokeAgentFluentBuilder {
25        crate::operation::invoke_agent::builders::InvokeAgentFluentBuilder::new(self.handle.clone())
26    }
27}