Module: LLM::Sequel::Plugin::InstanceMethods

Defined in:
lib/llm/sequel/plugin.rb

Constant Summary collapse

Utils =
Plugin::Utils

Instance Method Summary collapse

Instance Method Details

#askLLM::Response

Continues the stored context with new input and flushes it.

Returns:

See Also:



170
171
172
173
# File 'lib/llm/sequel/plugin.rb', line 170

def ask(...)
  options = self.class.llm_plugin_options
  ctx.ask(...).tap { Utils.save!(self, ctx, options) }
end

#context_usageRational?

Returns context window usage as a Rational

Returns:

  • (Rational, nil)


252
253
254
# File 'lib/llm/sequel/plugin.rb', line 252

def context_usage
  ctx.context_usage
end

#context_usedInteger

Returns how many tokens have been used within the context window

Returns:

  • (Integer)


245
246
247
# File 'lib/llm/sequel/plugin.rb', line 245

def context_used
  ctx.context_used
end

#context_windowInteger

Returns:

  • (Integer)

See Also:



237
238
239
# File 'lib/llm/sequel/plugin.rb', line 237

def context_window
  ctx.context_window
end

#costLLM::Cost

Returns:

See Also:



230
231
232
# File 'lib/llm/sequel/plugin.rb', line 230

def cost
  ctx.cost
end

#image_urlLLM::Object

Returns:

See Also:



283
284
285
# File 'lib/llm/sequel/plugin.rb', line 283

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

#interrupt!nil Also known as: cancel!

Returns:

  • (nil)

See Also:



267
268
269
# File 'lib/llm/sequel/plugin.rb', line 267

def interrupt!
  ctx.interrupt!
end

#llmLLM::Provider

Returns the resolved provider instance for this record.

Returns:



311
312
313
314
315
316
317
# File 'lib/llm/sequel/plugin.rb', line 311

def llm
  options = self.class.llm_plugin_options
  return @llm if @llm
  @llm = Utils.resolve_provider(self, options, Plugin::EMPTY_HASH)
  @llm.tracer = Utils.resolve_option(self, options[:tracer]) if options[:tracer]
  @llm
end

#local_fileLLM::Object

Returns:

See Also:



290
291
292
# File 'lib/llm/sequel/plugin.rb', line 290

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

#messagesArray<LLM::Message>

Returns:

See Also:



193
194
195
# File 'lib/llm/sequel/plugin.rb', line 193

def messages
  ctx.messages
end

#modeSymbol

Returns:

  • (Symbol)

See Also:



186
187
188
# File 'lib/llm/sequel/plugin.rb', line 186

def mode
  ctx.mode
end

#model!String

Note:

The bang is used because Sequel reserves model for the underlying model class on instances.

Returns:

  • (String)

See Also:



202
203
204
# File 'lib/llm/sequel/plugin.rb', line 202

def model!
  ctx.model
end

#pending_functionsArray<LLM::Function>

Returns:

See Also:



209
210
211
# File 'lib/llm/sequel/plugin.rb', line 209

def pending_functions
  ctx.pending_functions
end

#pending_functions?Boolean

Returns:

  • (Boolean)

See Also:



216
217
218
# File 'lib/llm/sequel/plugin.rb', line 216

def pending_functions?
  ctx.pending_functions?
end

#promptLLM::Prompt Also known as: build_prompt

Returns:

See Also:



275
276
277
# File 'lib/llm/sequel/plugin.rb', line 275

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

#remote_fileLLM::Object

Returns:

See Also:



297
298
299
# File 'lib/llm/sequel/plugin.rb', line 297

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

#returnsArray<LLM::Function::Return>

Returns:

See Also:



223
224
225
# File 'lib/llm/sequel/plugin.rb', line 223

def returns
  ctx.returns
end

#talkLLM::Response

Continues the stored context with new input and flushes it.

Returns:

See Also:



161
162
163
164
# File 'lib/llm/sequel/plugin.rb', line 161

def talk(...)
  options = self.class.llm_plugin_options
  ctx.talk(...).tap { Utils.save!(self, ctx, options) }
end

#token_usageLLM::Usage Also known as: usage

Returns usage from the mapped usage columns.

Returns:



259
260
261
# File 'lib/llm/sequel/plugin.rb', line 259

def token_usage
  ctx.token_usage
end

#tracerLLM::Tracer

Returns:

See Also:



304
305
306
# File 'lib/llm/sequel/plugin.rb', line 304

def tracer
  ctx.tracer
end

#waitArray<LLM::Function::Return>

Waits for queued tool work to finish.

Returns:

See Also:



179
180
181
# File 'lib/llm/sequel/plugin.rb', line 179

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