pub struct ChatPromptTemplate { /* private fields */ }Expand description
A chat prompt template that renders a sequence of messages.
ⓘ
let prompt = ChatPromptTemplate::from_messages(vec![
MessageTemplate::System(PromptTemplate::new("You are a helpful assistant.")),
MessageTemplate::Placeholder("history".to_string()),
MessageTemplate::Human(PromptTemplate::new("{{ input }}")),
]);Implementations§
Source§impl ChatPromptTemplate
impl ChatPromptTemplate
pub fn new(templates: Vec<MessageTemplate>) -> Self
Sourcepub fn from_messages(templates: Vec<MessageTemplate>) -> Self
pub fn from_messages(templates: Vec<MessageTemplate>) -> Self
Alias for new, matching LangChain’s factory method name.
Trait Implementations§
Source§impl Runnable<HashMap<String, Value>, Vec<Message>> for ChatPromptTemplate
impl Runnable<HashMap<String, Value>, Vec<Message>> for ChatPromptTemplate
Source§fn invoke<'life0, 'life1, 'async_trait>(
&'life0 self,
input: HashMap<String, Value>,
_config: &'life1 RunnableConfig,
) -> Pin<Box<dyn Future<Output = Result<Vec<Message>, 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, Value>,
_config: &'life1 RunnableConfig,
) -> Pin<Box<dyn Future<Output = Result<Vec<Message>, 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 ChatPromptTemplate
impl RefUnwindSafe for ChatPromptTemplate
impl Send for ChatPromptTemplate
impl Sync for ChatPromptTemplate
impl Unpin for ChatPromptTemplate
impl UnsafeUnpin for ChatPromptTemplate
impl UnwindSafe for ChatPromptTemplate
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