View Source Nexlm.Message.Content (Nexlm v0.1.5)
Message validation and formatting for LLM providers.
Provides a common structure for messages that can be sent to any LLM provider, with validation and conversion utilities.
Message Structure
%{
role: "user" | "assistant" | "system",
content: String.t() | [ContentItem.t()]
}
Content Types
- Text: Simple string content
- Image: Base64 encoded image with mime type
Examples
# Text message
%{
"role" => "user",
"content" => "Hello, how are you?"
}
# Message with image
%{
"role" => "user",
"content" => [
%{"type" => "text", "text" => "What's in this image?"},
%{
"type" => "image",
"mime_type" => "image/jpeg",
"data" => "base64_data"
}
]
}