pub struct FewShotPromptTemplate { /* private fields */ }Expand description
A string-based few-shot prompt template (as opposed to FewShotChatMessagePromptTemplate
which produces Vec<Message>).
Produces a single formatted string with examples embedded.
Implementations§
Source§impl FewShotPromptTemplate
impl FewShotPromptTemplate
Sourcepub fn new(
examples: Vec<FewShotExample>,
example_prompt: PromptTemplate,
suffix: PromptTemplate,
) -> Self
pub fn new( examples: Vec<FewShotExample>, example_prompt: PromptTemplate, suffix: PromptTemplate, ) -> Self
Create a new string-based few-shot template.
examples: the input/output example pairsexample_prompt: template for each example, e.g."Input: {{ input }}\nOutput: {{ output }}"suffix: final template rendered with user-provided variables
Sourcepub fn with_prefix(self, prefix: impl Into<String>) -> Self
pub fn with_prefix(self, prefix: impl Into<String>) -> Self
Set an optional prefix string prepended before the examples.
Sourcepub fn with_separator(self, sep: impl Into<String>) -> Self
pub fn with_separator(self, sep: impl Into<String>) -> Self
Set the separator used between examples (default: "\n\n").
Sourcepub fn render(
&self,
values: &HashMap<String, String>,
) -> Result<String, SynapticError>
pub fn render( &self, values: &HashMap<String, String>, ) -> Result<String, SynapticError>
Render the template with the given variable values.
- Start with prefix (if any)
- For each example, render
example_promptwith{"input": ..., "output": ...} - Join examples with separator
- Append suffix rendered with provided values
- Join all parts with separator
Trait Implementations§
Source§impl Runnable<HashMap<String, String>, String> for FewShotPromptTemplate
impl Runnable<HashMap<String, String>, String> for FewShotPromptTemplate
Source§fn invoke<'life0, 'life1, 'async_trait>(
&'life0 self,
input: HashMap<String, String>,
_config: &'life1 RunnableConfig,
) -> Pin<Box<dyn Future<Output = Result<String, SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn invoke<'life0, 'life1, 'async_trait>(
&'life0 self,
input: HashMap<String, String>,
_config: &'life1 RunnableConfig,
) -> Pin<Box<dyn Future<Output = Result<String, SynapticError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Execute this runnable on a single input.
Source§fn batch<'life0, 'life1, 'async_trait>(
&'life0 self,
inputs: Vec<I>,
config: &'life1 RunnableConfig,
) -> Pin<Box<dyn Future<Output = Vec<Result<O, SynapticError>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn batch<'life0, 'life1, 'async_trait>(
&'life0 self,
inputs: Vec<I>,
config: &'life1 RunnableConfig,
) -> Pin<Box<dyn Future<Output = Vec<Result<O, SynapticError>>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Execute this runnable on multiple inputs sequentially.
Source§fn stream<'a>(
&'a self,
input: I,
config: &'a RunnableConfig,
) -> Pin<Box<dyn Stream<Item = Result<O, SynapticError>> + Send + 'a>>where
I: 'a,
fn stream<'a>(
&'a self,
input: I,
config: &'a RunnableConfig,
) -> Pin<Box<dyn Stream<Item = Result<O, SynapticError>> + Send + 'a>>where
I: 'a,
Stream the output. Default wraps
invoke as a single-item stream.
Override for true streaming (e.g., token-by-token from an LLM).Source§fn boxed(self) -> BoxRunnable<I, O>where
Self: Sized + 'static,
fn boxed(self) -> BoxRunnable<I, O>where
Self: Sized + 'static,
Wrap this runnable into a type-erased
BoxRunnable for composition via |.Auto Trait Implementations§
impl Freeze for FewShotPromptTemplate
impl RefUnwindSafe for FewShotPromptTemplate
impl Send for FewShotPromptTemplate
impl Sync for FewShotPromptTemplate
impl Unpin for FewShotPromptTemplate
impl UnsafeUnpin for FewShotPromptTemplate
impl UnwindSafe for FewShotPromptTemplate
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