llm_chain/prompt/string_template/io.rs
1use std::fs::File;
2use std::io::Read;
3use std::path::Path;
4
5use super::StringTemplate;
6
7/// Reads a prompt template from a file.
8// XXX: Don't leak
9pub fn read_prompt_template_file<P: AsRef<Path>>(
10 path: P,
11) -> Result<StringTemplate, std::io::Error> {
12 let path = path.as_ref();
13 let mut file = File::open(path)?;
14 let mut contents = String::new();
15 file.read_to_string(&mut contents)?;
16 Ok(StringTemplate::tera(contents))
17}