pub struct PromptParser;Expand description
Parser for prompt template files.
Implementations§
Source§impl PromptParser
impl PromptParser
Sourcepub fn from_file(path: impl AsRef<Path>) -> Result<PromptTemplate>
pub fn from_file(path: impl AsRef<Path>) -> Result<PromptTemplate>
Parses a prompt template from a file.
The format is auto-detected from the file extension.
§Arguments
path- Path to the prompt file
§Errors
Returns an error if the file cannot be read or parsed.
§Example
use subcog::services::PromptParser;
let template = PromptParser::from_file("prompts/review.md")?;
println!("Loaded: {}", template.name);Sourcepub fn from_stdin(
format: PromptFormat,
name: impl Into<String>,
) -> Result<PromptTemplate>
pub fn from_stdin( format: PromptFormat, name: impl Into<String>, ) -> Result<PromptTemplate>
Sourcepub fn parse(content: &str, format: PromptFormat) -> Result<PromptTemplate>
pub fn parse(content: &str, format: PromptFormat) -> Result<PromptTemplate>
Sourcefn parse_markdown(content: &str) -> Result<PromptTemplate>
fn parse_markdown(content: &str) -> Result<PromptTemplate>
Parses markdown with optional YAML front matter.
Sourcefn parse_yaml(content: &str) -> Result<PromptTemplate>
fn parse_yaml(content: &str) -> Result<PromptTemplate>
Parses YAML format.
Sourcefn parse_json(content: &str) -> Result<PromptTemplate>
fn parse_json(content: &str) -> Result<PromptTemplate>
Parses JSON format.
Sourcefn parse_structured(value: &Value) -> Result<PromptTemplate>
fn parse_structured(value: &Value) -> Result<PromptTemplate>
Parses a structured value (JSON or YAML converted to JSON).
Sourcefn parse_plain_text(content: &str) -> Result<PromptTemplate>
fn parse_plain_text(content: &str) -> Result<PromptTemplate>
Parses plain text (just content, no metadata).
Sourcepub fn serialize(
template: &PromptTemplate,
format: PromptFormat,
) -> Result<String>
pub fn serialize( template: &PromptTemplate, format: PromptFormat, ) -> Result<String>
Sourcefn serialize_markdown(template: &PromptTemplate) -> Result<String>
fn serialize_markdown(template: &PromptTemplate) -> Result<String>
Serializes to markdown with YAML front matter.
Sourcefn serialize_yaml(template: &PromptTemplate) -> Result<String>
fn serialize_yaml(template: &PromptTemplate) -> Result<String>
Serializes to YAML.
Sourcefn serialize_json(template: &PromptTemplate) -> Result<String>
fn serialize_json(template: &PromptTemplate) -> Result<String>
Serializes to JSON.
Auto Trait Implementations§
impl Freeze for PromptParser
impl RefUnwindSafe for PromptParser
impl Send for PromptParser
impl Sync for PromptParser
impl Unpin for PromptParser
impl UnwindSafe for PromptParser
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<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> 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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].