pub struct PromptOptimizer { /* private fields */ }
Expand description
Prompt optimizer that uses caching
Implementations§
Source§impl PromptOptimizer
impl PromptOptimizer
pub fn new(llm_provider: Box<dyn LLMProvider>) -> Self
pub fn with_cache(self, cache: PromptCache) -> Self
Sourcepub async fn optimize_prompt(
&mut self,
original_prompt: &str,
target_model: &str,
context: Option<&str>,
) -> Result<String, PromptOptimizationError>
pub async fn optimize_prompt( &mut self, original_prompt: &str, target_model: &str, context: Option<&str>, ) -> Result<String, PromptOptimizationError>
Optimize a prompt using caching
Sourcepub fn cache_stats(&self) -> CacheStats
pub fn cache_stats(&self) -> CacheStats
Get cache statistics
Sourcepub fn clear_cache(&mut self) -> Result<(), PromptCacheError>
pub fn clear_cache(&mut self) -> Result<(), PromptCacheError>
Clear cache
Auto Trait Implementations§
impl Freeze for PromptOptimizer
impl !RefUnwindSafe for PromptOptimizer
impl Send for PromptOptimizer
impl Sync for PromptOptimizer
impl Unpin for PromptOptimizer
impl !UnwindSafe for PromptOptimizer
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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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