Module: LiterLlm::Message

Extended by:
T::Helpers, T::Sig
Included in:
MessageAssistant, MessageDeveloper, MessageFunction, MessageSystem, MessageTool, MessageUser
Defined in:
lib/liter_llm/native.rb

Overview

A chat message in a conversation.

Class Method Summary collapse

Class Method Details

.from_hash(hash) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/liter_llm/native.rb', line 23

def self.from_hash(hash)
  discriminator = hash[:role] || hash['role']
  case discriminator
  when 'system' then MessageSystem.from_hash(hash)
  when 'user' then MessageUser.from_hash(hash)
  when 'assistant' then MessageAssistant.from_hash(hash)
  when 'tool' then MessageTool.from_hash(hash)
  when 'developer' then MessageDeveloper.from_hash(hash)
  when 'function' then MessageFunction.from_hash(hash)
  else raise "Unknown discriminator: #{discriminator}"
  end
end