Class: Intelligence::Mistral::Adapter

Inherits:
Legacy::Adapter show all
Defined in:
lib/intelligence/adapters/mistral.rb

Instance Method Summary collapse

Methods included from Legacy::ChatMethods

#chat_request_body, #chat_request_legacy_message_attributes

Methods included from Generic::ChatMethods

#chat_request_body, #chat_request_headers, #chat_request_uri, #chat_result_attributes, #chat_result_error_attributes, included, #stream_result_attributes, #stream_result_chunk_attributes, #translate_end_result, #translate_error_response_status

Instance Method Details

#chat_request_generic_message_attributes ⇒ Object



35
# File 'lib/intelligence/adapters/mistral.rb', line 35

alias chat_request_generic_message_attributes chat_request_message_attributes

#chat_request_message_attributes(message) ⇒ Object

mistral vision models only support the legacy Open AI message schema for the assistant messages while supporting the modern message schema for user messages :facepalm:



39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/intelligence/adapters/mistral.rb', line 39

def chat_request_message_attributes( message )
  role = message[ :role ]&.to_sym 
  case role 
  when :user 
    chat_request_generic_message_attributes( message )
  when :assistant 
    chat_request_legacy_message_attributes( message )
  else 
    raise UnsupportedContentError.new(
      :mistral, 
      'only supports user and assistant message roles'  
    )
  end
end