pub struct CompletionModel {
pub model: String,
pub prompt_caching: bool,
pub guardrail: Option<GuardrailConfiguration>,
/* private fields */
}Fields§
§model: String§prompt_caching: boolWhen enabled, cache checkpoints are inserted into Converse API requests to take advantage of Bedrock prompt caching. A checkpoint is placed after the system prompt and after the last message in the chat history. Disabled by default.
guardrail: Option<GuardrailConfiguration>Guardrail applied to every Converse request from this model, if any.
Set through CompletionModel::with_guardrail.
Implementations§
Source§impl CompletionModel
impl CompletionModel
pub fn new(client: Client, model: impl Into<String>) -> Self
Sourcepub fn with_prompt_caching(self) -> Self
pub fn with_prompt_caching(self) -> Self
Enable Bedrock prompt caching for this model.
When enabled, CachePoint blocks are inserted after the serialized
system content and after the final messages entry in each Converse
API request. This allows Bedrock to cache and reuse repeated prompt
prefixes, reducing both latency and input token costs.
This currently covers the system and messages request fields only.
Some Bedrock models also support caching tools, but that is not wired
up here yet.
Cacheability and token thresholds are model-specific. If the cached prefix is too short or the model does not support caching for a given field, Bedrock ignores the checkpoint. See the Bedrock prompt caching support table for current limits and field support.
Sourcepub fn with_guardrail(
self,
identifier: impl Into<String>,
version: impl Into<String>,
trace: GuardrailTrace,
) -> Self
pub fn with_guardrail( self, identifier: impl Into<String>, version: impl Into<String>, trace: GuardrailTrace, ) -> Self
Apply a Bedrock guardrail to every Converse request this model issues.
identifier is the guardrail id or ARN and version its version (or
DRAFT). When trace is enabled, Bedrock returns its assessment on
InternalConverseOutput::trace —
the only place it explains why a turn came back with
StopReason::GuardrailIntervened,
which the normalized response reports as a content filter and nothing
more. Reach it through
raw_completion.
Source§impl CompletionModel
impl CompletionModel
Sourcepub async fn raw_completion(
&self,
completion_request: CompletionRequest,
) -> Result<AwsConverseOutput, CompletionError>
pub async fn raw_completion( &self, completion_request: CompletionRequest, ) -> Result<AwsConverseOutput, CompletionError>
Execute a completion and return Bedrock’s own Converse output.
This is the escape hatch for fields rig does not normalize;
completion::CompletionModel::completion calls it and maps the
result, so there is exactly one request either way.
Source§impl CompletionModel
impl CompletionModel
Sourcepub async fn raw_stream(
&self,
completion_request: CompletionRequest,
) -> Result<RawStreamingResult<BedrockStreamingResponse>, CompletionError>
pub async fn raw_stream( &self, completion_request: CompletionRequest, ) -> Result<RawStreamingResult<BedrockStreamingResponse>, CompletionError>
Open a stream whose terminal record stays Bedrock’s own response type.
Trait Implementations§
Source§impl Clone for CompletionModel
impl Clone for CompletionModel
Source§fn clone(&self) -> CompletionModel
fn clone(&self) -> CompletionModel
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl CompletionModel for CompletionModel
impl CompletionModel for CompletionModel
Source§async fn completion(
&self,
completion_request: CompletionRequest,
) -> Result<CompletionResponse, CompletionError>
async fn completion( &self, completion_request: CompletionRequest, ) -> Result<CompletionResponse, CompletionError>
Source§async fn stream(
&self,
request: CompletionRequest,
) -> Result<StreamingCompletionResponse, CompletionError>
async fn stream( &self, request: CompletionRequest, ) -> Result<StreamingCompletionResponse, CompletionError>
Source§fn completion_request(
&self,
prompt: impl Into<Message>,
) -> CompletionRequestBuilder<Self>
fn completion_request( &self, prompt: impl Into<Message>, ) -> CompletionRequestBuilder<Self>
prompt.Source§fn capabilities(&self) -> ProviderCapabilities
fn capabilities(&self) -> ProviderCapabilities
Auto Trait Implementations§
impl !RefUnwindSafe for CompletionModel
impl !UnwindSafe for CompletionModel
impl Freeze for CompletionModel
impl Send for CompletionModel
impl Sync for CompletionModel
impl Unpin for CompletionModel
impl UnsafeUnpin for CompletionModel
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> 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