Eai. Adapter behaviour
(eai v0.1.11)
Copy Markdown
Behaviour for LLM provider adapters.
Each adapter converts between the internal Converse-based IR (Eai.Message) and a provider-specific wire format.
Summary
Callbacks
Convert a raw provider-specific message list into internal IR. Used when importing conversation history (e.g. replace_context with format parameter).
Parse a provider-specific API response body into an Eai.Message (assistant).
Convert internal messages to a provider-specific HTTP request.
Callbacks
@callback from_messages(raw_messages :: [map()]) :: [Eai.Message.t()]
Convert a raw provider-specific message list into internal IR. Used when importing conversation history (e.g. replace_context with format parameter).
@callback from_response(resp_body :: map()) :: Eai.Message.t()
Parse a provider-specific API response body into an Eai.Message (assistant).
@callback to_request_body( messages :: [Eai.Message.t()], model :: String.t(), system_prompt :: String.t(), tools :: [map()], opts :: keyword() ) :: %{url: String.t() | nil, headers: list(), json_body: map()}
Convert internal messages to a provider-specific HTTP request.
Returns: %{url: String.t(), headers: [{String.t(), String.t()}], json_body: map()}