Module: LLM::ActiveRecord::ActsAsLLM::InstanceMethods

Defined in:
lib/llm/active_record/acts_as_llm.rb

Instance Method Summary collapse

Instance Method Details

#callObject

Calls into the stored context.

Returns:

See Also:



93
94
95
# File 'lib/llm/active_record/acts_as_llm.rb', line 93

def call(...)
  ctx.call(...)
end

#context_windowInteger

Returns:

  • (Integer)

See Also:



129
130
131
132
133
# File 'lib/llm/active_record/acts_as_llm.rb', line 129

def context_window
  ctx.context_window
rescue LLM::NoSuchModelError, LLM::NoSuchRegistryError
  0
end

#costLLM::Cost

Returns:

See Also:



122
123
124
# File 'lib/llm/active_record/acts_as_llm.rb', line 122

def cost
  ctx.cost
end

#functionsArray<LLM::Function>

Returns:

See Also:



115
116
117
# File 'lib/llm/active_record/acts_as_llm.rb', line 115

def functions
  ctx.functions
end

#messagesArray<LLM::Message>

Returns:

See Also:



100
101
102
# File 'lib/llm/active_record/acts_as_llm.rb', line 100

def messages
  ctx.messages
end

#model!String

Note:

The bang keeps the ActiveRecord and Sequel wrappers aligned.

Returns:

  • (String)

See Also:



108
109
110
# File 'lib/llm/active_record/acts_as_llm.rb', line 108

def model!
  ctx.model
end

#respondLLM::Response

Continues the stored context through the Responses API and flushes it.

Returns:

See Also:



77
78
79
# File 'lib/llm/active_record/acts_as_llm.rb', line 77

def respond(...)
  ctx.respond(...).tap { flush }
end

#talkLLM::Response

Continues the stored context with new input and flushes it.

Returns:

See Also:



69
70
71
# File 'lib/llm/active_record/acts_as_llm.rb', line 69

def talk(...)
  ctx.talk(...).tap { flush }
end

#usageLLM::Object

Returns usage from the mapped usage columns.

Returns:



138
139
140
141
142
143
144
# File 'lib/llm/active_record/acts_as_llm.rb', line 138

def usage
  LLM::Object.from(
    input_tokens: self[columns[:input_tokens]] || 0,
    output_tokens: self[columns[:output_tokens]] || 0,
    total_tokens: self[columns[:total_tokens]] || 0
  )
end

#waitArray<LLM::Function::Return>

Waits for queued tool work to finish.

Returns:

See Also:



85
86
87
# File 'lib/llm/active_record/acts_as_llm.rb', line 85

def wait(...)
  ctx.wait(...)
end