Struct llm_chain_openai::chatgpt::ChatPromptTemplate
source · pub struct ChatPromptTemplate { /* private fields */ }
Expand description
The ChatPromptTemplate
struct represents a conversational template for generating prompts with LLMs. It consists of a list of messages that form the structure of the conversation.
Typically, a ChatPromptTemplate
starts with a system message to set the context, followed by user messages and potential assistant messages. This design makes it easy to create dynamic and engaging conversational prompts for LLMs like ChatGPT.
Example
use llm_chain_openai::chatgpt::{ChatPromptTemplate, MessagePromptTemplate};
use async_openai::types::Role;
let system_msg = MessagePromptTemplate::new(Role::System, "You are an assistant that speaks like Shakespeare.".into());
let user_msg = MessagePromptTemplate::new(Role::User, "tell me a joke".into());
let chat_template = ChatPromptTemplate::new(vec![system_msg, user_msg]);
Or simply
use llm_chain_openai::chatgpt::ChatPromptTemplate;
use async_openai::types::Role;
let chat_template: ChatPromptTemplate = vec![
(Role::System, "You are an assistant that speaks like Shakespeare."),
(Role::User, "tell me a joke"),
].into();
And for the truly lazy
use llm_chain_openai::chatgpt::{ChatPromptTemplate};
let chat_template = ChatPromptTemplate::system_and_user(
"You are an assistant that speaks like Shakespeare.",
"tell me a joke",
);
Implementations§
source§impl ChatPromptTemplate
impl ChatPromptTemplate
pub fn new(messages: Vec<MessagePromptTemplate>) -> ChatPromptTemplate
pub fn system_and_user<S: Into<PromptTemplate>, U: Into<PromptTemplate>>( system: S, user: U ) -> ChatPromptTemplate
pub fn format( &self, parameters: &Parameters ) -> Vec<ChatCompletionRequestMessage>
pub fn add<T: Into<MessagePromptTemplate>>(&mut self, message: T)
Trait Implementations§
source§impl Clone for ChatPromptTemplate
impl Clone for ChatPromptTemplate
source§fn clone(&self) -> ChatPromptTemplate
fn clone(&self) -> ChatPromptTemplate
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<'de> Deserialize<'de> for ChatPromptTemplate
impl<'de> Deserialize<'de> for ChatPromptTemplate
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more