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§
- Message
Formatter - Trait for converting between library Message types and provider-specific wire formats.