Skip to main content

Module formatter

Module formatter 

Source
Expand description

Message formatter trait – decouples wire format from LLM provider.

Each LLM provider (OpenAI, Anthropic, custom) has its own message format. The MessageFormatter trait handles translation so providers only deal with their native format.

§Example

use pe_core::formatter::MessageFormatter;
use pe_core::openai_formatter::OpenAiFormatter;
use pe_core::{Message, ToolSchema, LlmResponse};

let formatter = OpenAiFormatter;
let messages = vec![Message::human("Hello"), Message::system("Be helpful")];
let wire = formatter.format_messages(&messages).unwrap();
assert!(wire.is_array());

Traits§

MessageFormatter
Trait for converting between library Message types and provider-specific wire formats.