omniai 1.0.2 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ffc27287a50c39e3aab00622ea1e389f2e2da0828e5ec5b01f0e62bf7ec63c58
4
- data.tar.gz: 3979a4a92abd12706cc36ff66d4befab252a48a2deb7d5b3db3a81162af41b50
3
+ metadata.gz: 9ef66e140869ad45643072513852d7ed06439fb6a7fecda4f552ecb34c14ddb1
4
+ data.tar.gz: 55740c3bdc98c9d83330b1a45b1b83d760b279d388830e83fce8a671f635d26d
5
5
  SHA512:
6
- metadata.gz: 32f6f70655128b1eb60bcc1add45eb53cd312550a521fd3a7a7663f09f4084809d139ecb2a617464266b12199f590db26bfa240be9c5fb90b6d1e264b1bd57c9
7
- data.tar.gz: d7b170ae465c6e72e4faa5fde86a216bd8317205c9c1630753f527424aa9e59b60f6f1dca32fcecd242824485f7fc328368d9fd8bcff92658fdfd078a5d4080f
6
+ metadata.gz: f335ee44a2460431d3f7bf83991448569f451930102ba1d3714c79af225db08d22467269c1543434a987de2d0f70bbe33faece99c4f291cc67032e7a5121721b
7
+ data.tar.gz: 33ca9dbf52c1a7af1c60683db4fd31680f4e3230da6c139591c6c62796616767b67109862963d8b1b7b93c6af46143e140471a606b20f0a6457b3f1989c87030
@@ -33,7 +33,17 @@ module OmniAI
33
33
 
34
34
  # @return [OmniAI::Chat::Usage]
35
35
  def usage
36
- @usage ||= Usage.new(data: @data['usage']) if @data['usage']
36
+ return unless @data['usage']
37
+
38
+ input_tokens = @data['usage']['input_tokens'] || @data['usage']['prompt_tokens']
39
+ output_tokens = @data['usage']['output_tokens'] || @data['usage']['completion_tokens']
40
+ total_tokens = @data['usage']['total_tokens'] || (input_tokens + output_tokens)
41
+
42
+ @usage ||= Usage.new(
43
+ input_tokens:,
44
+ output_tokens:,
45
+ total_tokens:
46
+ )
37
47
  end
38
48
 
39
49
  # @return [Array<OmniAI::Chat::Choice>]
@@ -3,37 +3,31 @@
3
3
  module OmniAI
4
4
  class Chat
5
5
  # A usage returned by the API.
6
- class Completion
7
- attr_accessor :data
6
+ class Usage
7
+ attr_accessor :input_tokens, :output_tokens, :total_tokens
8
8
 
9
- # @param data [Hash]
10
- def initialize(data:)
11
- @data = data
9
+ # @param input_tokens [Integer]
10
+ # @param output_tokens [Integer]
11
+ # @param total_tokens [Integer]
12
+ def initialize(input_tokens:, output_tokens:, total_tokens:)
13
+ @input_tokens = input_tokens
14
+ @output_tokens = output_tokens
15
+ @total_tokens = total_tokens
12
16
  end
13
17
 
14
- # @return [Integer, nil]
18
+ # @return [Integer]
15
19
  def completion_tokens
16
- @data['completion_tokens']
20
+ @output_tokens
17
21
  end
18
22
 
19
- # @return [Integer, nil]
23
+ # @return [Integer]
20
24
  def prompt_tokens
21
- @data['prompt_tokens']
25
+ @input_tokens
22
26
  end
23
27
 
24
- # @return [Integer, nil]
25
- def total_tokens
26
- @data['total_tokens']
27
- end
28
-
29
- # @return [Integer, nil]
30
- def input_tokens
31
- @data['input_tokens']
32
- end
33
-
34
- # @return [Integer, nil]
35
- def output_tokens
36
- @data['output_tokens']
28
+ # @return [String]
29
+ def inspect
30
+ "#<#{self.class.name} input_tokens=#{input_tokens} output_tokens=#{output_tokens} total_tokens=#{total_tokens}>"
37
31
  end
38
32
  end
39
33
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module OmniAI
4
- VERSION = '1.0.2'
4
+ VERSION = '1.0.3'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omniai
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin Sylvestre
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-06-15 00:00:00.000000000 Z
11
+ date: 2024-06-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: event_stream_parser