Skip to main content

dynamic_prompt

Attribute Macro dynamic_prompt 

Source
#[dynamic_prompt]
Expand description

Middleware: dynamically generate a system prompt based on current messages.

The decorated function (non-async) must accept &[Message] and return String. The macro generates a middleware whose before_model hook sets request.system_prompt to the return value.

§Example

use synaptic_macros::dynamic_prompt;
use synaptic_core::Message;

#[dynamic_prompt]
fn custom_prompt(messages: &[Message]) -> String {
    format!("You have {} messages in context", messages.len())
}

let mw = custom_prompt(); // Arc<dyn AgentMiddleware>