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"
    }
  ]
}

Summary

Functions