Struct aws_sdk_bedrockagentruntime::client::Client
source · pub struct Client { /* private fields */ }
Expand description
Client for Agents for Amazon Bedrock Runtime
Client for invoking operations on Agents for Amazon Bedrock Runtime. Each operation on Agents for Amazon Bedrock Runtime is a method on this
this struct. .send()
MUST be invoked on the generated operations to dispatch the request to the service.
§Constructing a Client
A Config
is required to construct a client. For most use cases, the aws-config
crate should be used to automatically resolve this config using
aws_config::load_from_env()
, since this will resolve an SdkConfig
which can be shared
across multiple different AWS SDK clients. This config resolution process can be customized
by calling aws_config::from_env()
instead, which returns a ConfigLoader
that uses
the builder pattern to customize the default config.
In the simplest case, creating a client looks as follows:
let config = aws_config::load_from_env().await;
let client = aws_sdk_bedrockagentruntime::Client::new(&config);
Occasionally, SDKs may have additional service-specific values that can be set on the Config
that
is absent from SdkConfig
, or slightly different settings for a specific client may be desired.
The Config
struct implements From<&SdkConfig>
, so setting these specific settings can be
done as follows:
let sdk_config = ::aws_config::load_from_env().await;
let config = aws_sdk_bedrockagentruntime::config::Builder::from(&sdk_config)
.some_service_specific_setting("value")
.build();
See the aws-config
docs and Config
for more information on customizing configuration.
Note: Client construction is expensive due to connection thread pool initialization, and should be done once at application start-up.
Implementations§
source§impl Client
impl Client
sourcepub fn invoke_agent(&self) -> InvokeAgentFluentBuilder
pub fn invoke_agent(&self) -> InvokeAgentFluentBuilder
Constructs a fluent builder for the InvokeAgent
operation.
- The fluent builder is configurable:
session_state(SessionState)
/set_session_state(Option<SessionState>)
:
required: falseContains parameters that specify various attributes of the session. For more information, see Control session context.
If you include
returnControlInvocationResults
in thesessionState
field, theinputText
field will be ignored.agent_id(impl Into<String>)
/set_agent_id(Option<String>)
:
required: trueThe unique identifier of the agent to use.
agent_alias_id(impl Into<String>)
/set_agent_alias_id(Option<String>)
:
required: trueThe alias of the agent to use.
session_id(impl Into<String>)
/set_session_id(Option<String>)
:
required: trueThe unique identifier of the session. Use the same value across requests to continue the same conversation.
end_session(bool)
/set_end_session(Option<bool>)
:
required: falseSpecifies whether to end the session with the agent or not.
enable_trace(bool)
/set_enable_trace(Option<bool>)
:
required: falseSpecifies whether to turn on the trace or not to track the agent’s reasoning process. For more information, see Trace enablement.
input_text(impl Into<String>)
/set_input_text(Option<String>)
:
required: falseThe prompt text to send the agent.
If you include
returnControlInvocationResults
in thesessionState
field, theinputText
field will be ignored.
- On success, responds with
InvokeAgentOutput
with field(s):completion(EventReceiver<ResponseStream, ResponseStreamError>)
:The agent’s response to the user prompt.
content_type(String)
:The MIME type of the input data in the request. The default value is
application/json
.session_id(String)
:The unique identifier of the session with the agent.
- On failure, responds with
SdkError<InvokeAgentError>
source§impl Client
impl Client
sourcepub fn retrieve(&self) -> RetrieveFluentBuilder
pub fn retrieve(&self) -> RetrieveFluentBuilder
Constructs a fluent builder for the Retrieve
operation.
This operation supports pagination; See into_paginator()
.
- The fluent builder is configurable:
knowledge_base_id(impl Into<String>)
/set_knowledge_base_id(Option<String>)
:
required: trueThe unique identifier of the knowledge base to query.
retrieval_query(KnowledgeBaseQuery)
/set_retrieval_query(Option<KnowledgeBaseQuery>)
:
required: trueContains the query to send the knowledge base.
retrieval_configuration(KnowledgeBaseRetrievalConfiguration)
/set_retrieval_configuration(Option<KnowledgeBaseRetrievalConfiguration>)
:
required: falseContains configurations for the knowledge base query and retrieval process. For more information, see Query configurations.
next_token(impl Into<String>)
/set_next_token(Option<String>)
:
required: falseIf there are more results than can fit in the response, the response returns a
nextToken
. Use this token in thenextToken
field of another request to retrieve the next batch of results.
- On success, responds with
RetrieveOutput
with field(s):retrieval_results(Vec::<KnowledgeBaseRetrievalResult>)
:A list of results from querying the knowledge base.
next_token(Option<String>)
:If there are more results than can fit in the response, the response returns a
nextToken
. Use this token in thenextToken
field of another request to retrieve the next batch of results.
- On failure, responds with
SdkError<RetrieveError>
source§impl Client
impl Client
sourcepub fn retrieve_and_generate(&self) -> RetrieveAndGenerateFluentBuilder
pub fn retrieve_and_generate(&self) -> RetrieveAndGenerateFluentBuilder
Constructs a fluent builder for the RetrieveAndGenerate
operation.
- The fluent builder is configurable:
session_id(impl Into<String>)
/set_session_id(Option<String>)
:
required: falseThe unique identifier of the session. Reuse the same value to continue the same session with the knowledge base.
input(RetrieveAndGenerateInput)
/set_input(Option<RetrieveAndGenerateInput>)
:
required: trueContains the query to be made to the knowledge base.
retrieve_and_generate_configuration(RetrieveAndGenerateConfiguration)
/set_retrieve_and_generate_configuration(Option<RetrieveAndGenerateConfiguration>)
:
required: falseContains configurations for the knowledge base query and retrieval process. For more information, see Query configurations.
session_configuration(RetrieveAndGenerateSessionConfiguration)
/set_session_configuration(Option<RetrieveAndGenerateSessionConfiguration>)
:
required: falseContains details about the session with the knowledge base.
- On success, responds with
RetrieveAndGenerateOutput
with field(s):session_id(String)
:The unique identifier of the session. Reuse the same value to continue the same session with the knowledge base.
output(Option<RetrieveAndGenerateOutput>)
:Contains the response generated from querying the knowledge base.
citations(Option<Vec::<Citation>>)
:A list of segments of the generated response that are based on sources in the knowledge base, alongside information about the sources.
guardrail_action(Option<GuadrailAction>)
:Specifies if there is a guardrail intervention in the response.
- On failure, responds with
SdkError<RetrieveAndGenerateError>
source§impl Client
impl Client
sourcepub fn from_conf(conf: Config) -> Self
pub fn from_conf(conf: Config) -> Self
Creates a new client from the service Config
.
§Panics
This method will panic in the following cases:
- Retries or timeouts are enabled without a
sleep_impl
configured. - Identity caching is enabled without a
sleep_impl
andtime_source
configured. - No
behavior_version
is provided.
The panic message for each of these will have instructions on how to resolve them.
source§impl Client
impl Client
sourcepub fn new(sdk_config: &SdkConfig) -> Self
pub fn new(sdk_config: &SdkConfig) -> Self
Creates a new client from an SDK Config.
§Panics
- This method will panic if the
sdk_config
is missing an async sleep implementation. If you experience this panic, set thesleep_impl
on the Config passed into this function to fix it. - This method will panic if the
sdk_config
is missing an HTTP connector. If you experience this panic, set thehttp_connector
on the Config passed into this function to fix it. - This method will panic if no
BehaviorVersion
is provided. If you experience this panic, setbehavior_version
on the Config or enable thebehavior-version-latest
Cargo feature.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Client
impl !RefUnwindSafe for Client
impl Send for Client
impl Sync for Client
impl Unpin for Client
impl !UnwindSafe for Client
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more