langchain_rust/schemas/
prompt.rs1use super::messages::Message;
2
3#[derive(Debug, Clone)]
4pub struct PromptValue {
5 messages: Vec<Message>,
6}
7impl PromptValue {
8 pub fn from_string(text: &str) -> Self {
9 let message = Message::new_human_message(text);
10 Self {
11 messages: vec![message],
12 }
13 }
14 pub fn from_messages(messages: Vec<Message>) -> Self {
15 Self { messages }
16 }
17
18 pub fn to_string(&self) -> String {
19 self.messages
20 .iter()
21 .map(|m| format!("{}: {}", m.message_type.to_string(), m.content))
22 .collect::<Vec<String>>()
23 .join("\n")
24 }
25
26 pub fn to_chat_messages(&self) -> Vec<Message> {
27 self.messages.clone()
28 }
29}