Class: Foobara::Ai::AnswerBot::DomainMappers::OpenAiApi::ChatToGenerateChatCompletion
- Inherits:
-
DomainMapper
- Object
- DomainMapper
- Foobara::Ai::AnswerBot::DomainMappers::OpenAiApi::ChatToGenerateChatCompletion
- Defined in:
- foobara-ai-1.0.2/src/foobara/ai/answer_bot/domain_mappers/open_ai_api/chat_to_generate_chat_completion.rb
Constant Summary
Constants included from TruncatedInspect
Instance Attribute Summary
Attributes included from CommandPatternImplementation::Concerns::Subcommands
Attributes included from CommandPatternImplementation::Concerns::Runtime
#exception, #outcome, #raw_result
Attributes included from CommandPatternImplementation::Concerns::Errors
Attributes included from CommandPatternImplementation::Concerns::Inputs
Instance Method Summary collapse
- #chat ⇒ Object
- #map ⇒ Object
- #model ⇒ Object
- #model_supports_temperature? ⇒ Boolean
- #temperature ⇒ Object
Methods inherited from DomainMapper
applicable?, applicable_score, args_to_type, #execute, foobara_on_register, from, #from, from_type, install!, map, map!, match_score, matches?, object_to_type, to, to_type
Methods included from CommandPatternImplementation::Concerns::Reflection
Methods included from Concern
foobara_class_methods_module_for, foobara_concern?, included
Methods included from CommandPatternImplementation::Concerns::DomainMappers
#domain_map, #domain_map!, #run_mapped_subcommand!
Methods included from CommandPatternImplementation::Concerns::Subcommands
#run_subcommand!, #subcommand?
Methods included from CommandPatternImplementation::Concerns::Entities
Methods included from CommandPatternImplementation::Concerns::Transactions
Methods included from NestedTransactionable
#auto_detect_current_transactions, #commit_transaction, #commit_transaction_if_open, #open_transaction, #opened_transactions, #relevant_entity_classes, relevant_entity_classes_for_type, #relevant_entity_classes_for_type, #rollback_transaction, #transactions, #use_transaction, with_needed_transactions_for_type
Methods included from CommandPatternImplementation::Concerns::StateMachine
Methods included from CommandPatternImplementation::Concerns::Callbacks
#state_machine_callback_registry
Methods included from CommandPatternImplementation::Concerns::Runtime
#execute, #halt!, #run, #run!, #run_execute, #succeed, #success?, #validate, #validate_records
Methods included from CommandPatternImplementation::Concerns::Errors
Methods included from CommandPatternImplementation::Concerns::Inputs
#cast_and_validate_inputs, #initialize, #method_missing, #respond_to_missing?, #respond_to_missing_for_inputs?
Methods included from TruncatedInspect
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Foobara::CommandPatternImplementation::Concerns::Inputs
Instance Method Details
#chat ⇒ Object
36 37 38 |
# File 'foobara-ai-1.0.2/src/foobara/ai/answer_bot/domain_mappers/open_ai_api/chat_to_generate_chat_completion.rb', line 36 def chat from[:chat] end |
#map ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'foobara-ai-1.0.2/src/foobara/ai/answer_bot/domain_mappers/open_ai_api/chat_to_generate_chat_completion.rb', line 16 def map inputs = { messages: chat..map do || { role: .role, content: .content } end } if temperature # NOTE: some models don't support temperature, like o1. Instead of possibly receiving an error # we will set the temperature to 1 which prevents a 400. Maybe print a warning instead? inputs[:temperature] = model_supports_temperature? ? temperature : 1 end if model inputs[:model] = model end inputs end |
#model ⇒ Object
44 45 46 |
# File 'foobara-ai-1.0.2/src/foobara/ai/answer_bot/domain_mappers/open_ai_api/chat_to_generate_chat_completion.rb', line 44 def model from[:model] end |
#model_supports_temperature? ⇒ Boolean
48 49 50 |
# File 'foobara-ai-1.0.2/src/foobara/ai/answer_bot/domain_mappers/open_ai_api/chat_to_generate_chat_completion.rb', line 48 def model_supports_temperature? model && model.to_s !~ /\Ao[13](-|$)/ end |
#temperature ⇒ Object
40 41 42 |
# File 'foobara-ai-1.0.2/src/foobara/ai/answer_bot/domain_mappers/open_ai_api/chat_to_generate_chat_completion.rb', line 40 def temperature from[:temperature] end |