Module prompt

Source
Expand description

Prompts templating and management

Prompts are first class citizens in Swiftide and use tera under the hood. tera uses jinja style templates which allows for a lot of flexibility.

Conceptually, a Prompt is something you send to i.e. SimplePrompt. A prompt can have added context for substitution and other templating features.

Transformers in Swiftide come with default prompts, and they can be customized or replaced as needed.

[Template] can be added with [Template::try_compiled_from_str]. Prompts can also be created on the fly from anything that implements Into<String>. Compiled prompts are stored in an internal repository.

Additionally, Template::String and Template::Static can be used to create templates on the fly as well.

It’s recommended to precompile your templates.

§Example

#[tokio::main]
let template = Template::try_compiled_from_str("hello {{world}}").await.unwrap();
let prompt = template.to_prompt().with_context_value("world", "swiftide");

assert_eq!(prompt.render().await.unwrap(), "hello swiftide");

Structs§

Prompt
A Prompt can be used with large language models to prompt.

Statics§

SWIFTIDE_TERA