pub struct TemplateLibrary { /* private fields */ }Expand description
A named store of PromptTemplates.
§Example
use tokio_prompt_orchestrator::template::{
TemplateContext, TemplateLibrary, TemplateValue,
};
let mut lib = TemplateLibrary::new();
lib.register("greeting", "Hello, {{name}}!").unwrap();
let mut ctx = TemplateContext::new();
ctx.set("name", TemplateValue::Text("Alice".to_string()));
let rendered = lib.render("greeting", &ctx).unwrap();
assert_eq!(rendered, "Hello, Alice!");Implementations§
Source§impl TemplateLibrary
impl TemplateLibrary
Sourcepub fn register(
&mut self,
name: impl Into<String>,
template: impl AsRef<str>,
) -> Result<(), TemplateError>
pub fn register( &mut self, name: impl Into<String>, template: impl AsRef<str>, ) -> Result<(), TemplateError>
Register a template under name.
§Errors
Returns a TemplateError if the template string cannot be parsed.
Sourcepub fn register_template(
&mut self,
name: impl Into<String>,
template: PromptTemplate,
)
pub fn register_template( &mut self, name: impl Into<String>, template: PromptTemplate, )
Register a pre-compiled PromptTemplate under name.
Sourcepub fn render(
&self,
name: &str,
ctx: &TemplateContext,
) -> Result<String, TemplateError>
pub fn render( &self, name: &str, ctx: &TemplateContext, ) -> Result<String, TemplateError>
Render the named template with the given context.
§Errors
TemplateError::MissingVariableifnameis not registered.- Any error from
PromptTemplate::render.
Trait Implementations§
Source§impl Debug for TemplateLibrary
impl Debug for TemplateLibrary
Source§impl Default for TemplateLibrary
impl Default for TemplateLibrary
Source§fn default() -> TemplateLibrary
fn default() -> TemplateLibrary
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for TemplateLibrary
impl RefUnwindSafe for TemplateLibrary
impl Send for TemplateLibrary
impl Sync for TemplateLibrary
impl Unpin for TemplateLibrary
impl UnsafeUnpin for TemplateLibrary
impl UnwindSafe for TemplateLibrary
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request