Module: Raix::FunctionDispatch
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/raix/function_dispatch.rb
Overview
Provides declarative function definition for ChatCompletion classes.
Example:
class MeaningOfLife
include Raix::ChatCompletion
include Raix::FunctionDispatch
function :ask_deep_thought do
wait 236_682_000_000_000
"The meaning of life is 42"
end
def initialize
transcript << { user: "What is the meaning of life?" }
chat_completion
end
end
Instance Method Summary collapse
- #chat_completion(**chat_completion_args) ⇒ Object
-
#stop_tool_calls_and_respond! ⇒ Object
Stops the automatic continuation of chat completions after this function call.
- #tools ⇒ Object
Instance Method Details
#chat_completion(**chat_completion_args) ⇒ Object
114 115 116 117 |
# File 'lib/raix/function_dispatch.rb', line 114 def chat_completion(**chat_completion_args) self.chat_completion_args = chat_completion_args super end |
#stop_tool_calls_and_respond! ⇒ Object
Stops the automatic continuation of chat completions after this function call. Useful when you want to halt processing within a function and force the AI to provide a text response without making additional tool calls.
122 123 124 |
# File 'lib/raix/function_dispatch.rb', line 122 def stop_tool_calls_and_respond! @stop_tool_calls_and_respond = true end |
#tools ⇒ Object
126 127 128 129 130 |
# File 'lib/raix/function_dispatch.rb', line 126 def tools return [] unless self.class.functions self.class.functions.map { |function| { type: "function", function: } } end |