Module: LLM::Contract::Completion Abstract
- Extended by:
- LLM::Contract
- Defined in:
- lib/llm/contract/completion.rb
Overview
This module is abstract.
Defines the interface all completion responses must implement
Constant Summary
Constants included from LLM::Contract
Instance Method Summary collapse
-
#input_tokens ⇒ Integer
Returns the number of input tokens.
-
#messages ⇒ Array<LLM::Messsage>
(also: #choices)
Returns one or more messages.
-
#model ⇒ String
Returns the model name.
-
#output_tokens ⇒ Integer
Returns the number of output tokens.
-
#reasoning_tokens ⇒ Integer
Returns the number of reasoning tokens.
-
#total_tokens ⇒ Integer
Returns the total number of tokens.
-
#usage ⇒ LLM::Usage
Returns usage information.
Methods included from LLM::Contract
Instance Method Details
#input_tokens ⇒ Integer
Returns the number of input tokens
21 22 23 |
# File 'lib/llm/contract/completion.rb', line 21 def input_tokens raise NotImplementedError, "#{self.class} does not implement '#{__method__}'" end |
#messages ⇒ Array<LLM::Messsage> Also known as: choices
Returns one or more messages
13 14 15 |
# File 'lib/llm/contract/completion.rb', line 13 def raise NotImplementedError, "#{self.class} does not implement '#{__method__}'" end |
#model ⇒ String
Returns the model name
61 62 63 |
# File 'lib/llm/contract/completion.rb', line 61 def model raise NotImplementedError, "#{self.class} does not implement '#{__method__}'" end |
#output_tokens ⇒ Integer
Returns the number of output tokens
28 29 30 |
# File 'lib/llm/contract/completion.rb', line 28 def output_tokens raise NotImplementedError, "#{self.class} does not implement '#{__method__}'" end |
#reasoning_tokens ⇒ Integer
Returns the number of reasoning tokens
35 36 37 |
# File 'lib/llm/contract/completion.rb', line 35 def reasoning_tokens raise NotImplementedError, "#{self.class} does not implement '#{__method__}'" end |
#total_tokens ⇒ Integer
Returns the total number of tokens
42 43 44 |
# File 'lib/llm/contract/completion.rb', line 42 def total_tokens raise NotImplementedError, "#{self.class} does not implement '#{__method__}'" end |
#usage ⇒ LLM::Usage
49 50 51 52 53 54 55 56 |
# File 'lib/llm/contract/completion.rb', line 49 def usage LLM::Usage.new( input_tokens:, output_tokens:, reasoning_tokens:, total_tokens: ) end |