langchain_rust/schemas/
prompt.rs

1use 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}