Class: Raif::ModelToolInvocation
- Inherits:
-
ApplicationRecord
- Object
- ApplicationRecord
- Raif::ModelToolInvocation
- Defined in:
- app/models/raif/model_tool_invocation.rb
Instance Method Summary collapse
- #as_llm_message ⇒ Object
- #ensure_valid_tool_argument_schema ⇒ Object
- #result_llm_message ⇒ Object
- #to_partial_path ⇒ Object
- #tool ⇒ Object
Methods inherited from ApplicationRecord
Instance Method Details
#as_llm_message ⇒ Object
25 26 27 |
# File 'app/models/raif/model_tool_invocation.rb', line 25 def "Invoking tool: #{tool_name} with arguments: #{tool_arguments.to_json}" end |
#ensure_valid_tool_argument_schema ⇒ Object
39 40 41 42 43 |
# File 'app/models/raif/model_tool_invocation.rb', line 39 def ensure_valid_tool_argument_schema unless JSON::Validator.validate(tool_arguments_schema, tool_arguments) errors.add(:tool_arguments, "does not match schema") end end |
#result_llm_message ⇒ Object
29 30 31 32 33 |
# File 'app/models/raif/model_tool_invocation.rb', line 29 def return unless tool.respond_to?(:observation_for_invocation) tool.observation_for_invocation(self) end |
#to_partial_path ⇒ Object
35 36 37 |
# File 'app/models/raif/model_tool_invocation.rb', line 35 def to_partial_path "raif/model_tool_invocations/#{tool.invocation_partial_name}" end |
#tool ⇒ Object
21 22 23 |
# File 'app/models/raif/model_tool_invocation.rb', line 21 def tool @tool ||= tool_type.constantize end |