pub trait Chat: WasmCompatSend + WasmCompatSync {
// Required method
fn chat(
&self,
prompt: impl Into<Message> + WasmCompatSend,
chat_history: Vec<Message>,
) -> impl IntoFuture<Output = Result<String, PromptError>, IntoFuture: WasmCompatSend>;
}Expand description
Trait defining a high-level LLM chat interface (i.e.: prompt and chat history in, response out).
Required Methods§
Sourcefn chat(
&self,
prompt: impl Into<Message> + WasmCompatSend,
chat_history: Vec<Message>,
) -> impl IntoFuture<Output = Result<String, PromptError>, IntoFuture: WasmCompatSend>
fn chat( &self, prompt: impl Into<Message> + WasmCompatSend, chat_history: Vec<Message>, ) -> impl IntoFuture<Output = Result<String, PromptError>, IntoFuture: WasmCompatSend>
Send a prompt with optional chat history to the underlying completion model.
If the completion model’s response is a message, then it is returned as a string.
If the completion model’s response is a tool call, then the tool is called and the result is returned as a string.
If the tool does not exist, or the tool call fails, then an error is returned.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.