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:



98
99
100
# File 'lib/llm/active_record/acts_as_llm.rb', line 98

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

#context_windowInteger

Returns:

  • (Integer)

See Also:



148
149
150
151
152
# File 'lib/llm/active_record/acts_as_llm.rb', line 148

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

#costLLM::Cost

Returns:

See Also:



141
142
143
# File 'lib/llm/active_record/acts_as_llm.rb', line 141

def cost
  ctx.cost
end

#functionsArray<LLM::Function>

Returns:

See Also:



127
128
129
# File 'lib/llm/active_record/acts_as_llm.rb', line 127

def functions
  ctx.functions
end

#image_urlLLM::Object

Returns:

See Also:



184
185
186
# File 'lib/llm/active_record/acts_as_llm.rb', line 184

def image_url(...)
  ctx.image_url(...)
end

#interrupt!nil Also known as: cancel!

Returns:

  • (nil)

See Also:



168
169
170
# File 'lib/llm/active_record/acts_as_llm.rb', line 168

def interrupt!
  ctx.interrupt!
end

#local_fileLLM::Object

Returns:

See Also:



191
192
193
# File 'lib/llm/active_record/acts_as_llm.rb', line 191

def local_file(...)
  ctx.local_file(...)
end

#messagesArray<LLM::Message>

Returns:

See Also:



112
113
114
# File 'lib/llm/active_record/acts_as_llm.rb', line 112

def messages
  ctx.messages
end

#modeSymbol

Returns:

  • (Symbol)

See Also:



105
106
107
# File 'lib/llm/active_record/acts_as_llm.rb', line 105

def mode
  ctx.mode
end

#model!String

Note:

The bang keeps the ActiveRecord and Sequel wrappers aligned.

Returns:

  • (String)

See Also:



120
121
122
# File 'lib/llm/active_record/acts_as_llm.rb', line 120

def model!
  ctx.model
end

#promptLLM::Prompt Also known as: build_prompt

Returns:

See Also:



176
177
178
# File 'lib/llm/active_record/acts_as_llm.rb', line 176

def prompt(&)
  ctx.prompt(&)
end

#remote_fileLLM::Object

Returns:

See Also:



198
199
200
# File 'lib/llm/active_record/acts_as_llm.rb', line 198

def remote_file(...)
  ctx.remote_file(...)
end

#respondLLM::Response

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

Returns:

See Also:



82
83
84
# File 'lib/llm/active_record/acts_as_llm.rb', line 82

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

#returnsArray<LLM::Function::Return>

Returns:

See Also:



134
135
136
# File 'lib/llm/active_record/acts_as_llm.rb', line 134

def returns
  ctx.returns
end

#talkLLM::Response

Continues the stored context with new input and flushes it.

Returns:

See Also:



74
75
76
# File 'lib/llm/active_record/acts_as_llm.rb', line 74

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

#tracerLLM::Tracer

Returns:

See Also:



205
206
207
# File 'lib/llm/active_record/acts_as_llm.rb', line 205

def tracer
  ctx.tracer
end

#usageLLM::Object

Returns usage from the mapped usage columns.

Returns:



157
158
159
160
161
162
163
# File 'lib/llm/active_record/acts_as_llm.rb', line 157

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:



90
91
92
# File 'lib/llm/active_record/acts_as_llm.rb', line 90

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