Skip to main content

openai_enum

Macro openai_enum 

Source
macro_rules! openai_enum {
    (
        $(#[$meta:meta])*
        $vis:vis enum $name:ident {
            $(
                $(#[$var_meta:meta])*
                $variant:ident = $json:literal
            ),*$(,)?
        }
    ) => { ... };
}
Expand description

Macro to create an OpenAI API enum with forward-compatible Other(String) variant.

Syntax: VariantName = "json_value"

Example:

openai_enum! {
    /// Message role
    pub enum Role {
        System = "system",
        Developer = "developer",
        InProgress = "in_progress",  // auto-handles snake_case
        FineTune = "fine-tune",      // handles hyphens
    }
}