pub struct CompletionModel {
pub model: String,
pub prompt_caching: bool,
/* 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.
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.
Trait Implementations§
Source§impl Clone for CompletionModel
impl Clone for CompletionModel
Source§fn clone(&self) -> CompletionModel
fn clone(&self) -> CompletionModel
1.0.0 · 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§type Response = AwsConverseOutput
type Response = AwsConverseOutput
Source§type StreamingResponse = BedrockStreamingResponse
type StreamingResponse = BedrockStreamingResponse
type Client = Client
fn make(client: &Self::Client, model: impl Into<String>) -> Self
Source§async fn completion(
&self,
completion_request: CompletionRequest,
) -> Result<CompletionResponse<AwsConverseOutput>, CompletionError>
async fn completion( &self, completion_request: CompletionRequest, ) -> Result<CompletionResponse<AwsConverseOutput>, CompletionError>
async fn stream( &self, request: CompletionRequest, ) -> Result<StreamingCompletionResponse<Self::StreamingResponse>, CompletionError>
Source§fn completion_request(
&self,
prompt: impl Into<Message>,
) -> CompletionRequestBuilder<Self>
fn completion_request( &self, prompt: impl Into<Message>, ) -> CompletionRequestBuilder<Self>
prompt.Auto Trait Implementations§
impl Freeze for CompletionModel
impl !RefUnwindSafe for CompletionModel
impl Send for CompletionModel
impl Sync for CompletionModel
impl Unpin for CompletionModel
impl UnsafeUnpin for CompletionModel
impl !UnwindSafe for CompletionModel
Blanket Implementations§
Source§impl<T, R> CompletionModelDyn for T
impl<T, R> CompletionModelDyn for T
Source§fn completion_request(
&self,
prompt: Message,
) -> CompletionRequestBuilder<CompletionModelHandle<'_>>
👎Deprecated since 0.25.0: DynClientBuilder and related features have been deprecated and will be removed in a future release. In this case, use CompletionModel instead.
fn completion_request( &self, prompt: Message, ) -> CompletionRequestBuilder<CompletionModelHandle<'_>>
DynClientBuilder and related features have been deprecated and will be removed in a future release. In this case, use CompletionModel instead.
Generates a completion request builder for the given prompt.
Source§fn completion(
&self,
request: CompletionRequest,
) -> Pin<Box<dyn Future<Output = Result<CompletionResponse<()>, CompletionError>> + Send + '_>>
fn completion( &self, request: CompletionRequest, ) -> Pin<Box<dyn Future<Output = Result<CompletionResponse<()>, CompletionError>> + Send + '_>>
DynClientBuilder and related features have been deprecated and will be removed in a future release. In this case, use CompletionModel instead.
Source§fn stream(
&self,
request: CompletionRequest,
) -> Pin<Box<dyn Future<Output = Result<StreamingCompletionResponse<FinalCompletionResponse>, CompletionError>> + Send + '_>>
fn stream( &self, request: CompletionRequest, ) -> Pin<Box<dyn Future<Output = Result<StreamingCompletionResponse<FinalCompletionResponse>, CompletionError>> + Send + '_>>
DynClientBuilder and related features have been deprecated and will be removed in a future release. In this case, use CompletionModel instead.
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