Current section
Files
Jump to
Current section
Files
lib/local_llama/protocols/message_protocol.ex
defprotocol GenAI.Provider.LocalLLama.MessageProtocol do
@moduledoc """
This protocol defines how to transform GenAI message structs into a format compatible with the LocalLLama nif.
"""
@doc """
Transforms a GenAI message struct into a LocalLLama message format.
"""
def message(message)
end
defimpl GenAI.Provider.LocalLLama.MessageProtocol, for: GenAI.Message do
def message(message) do
%{role: message.role, content: message.content}
end
end
defimpl GenAI.Provider.LocalLLama.MessageProtocol, for: GenAI.Message.ToolCall do
def message(_message) do
throw "NYI"
end
end
defimpl GenAI.Provider.LocalLLama.MessageProtocol, for: GenAI.Message.ToolResponse do
def message(_message) do
throw "NYI"
end
end