gptinfo 0.1.0 → 0.1.1

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: 06b9227afadf3d612c5cc0ccd1eb40d4a777eb538dcff06fec400353c5fe2a43
4
- data.tar.gz: 11e6fc45759dc8040aa07f04e6d438905b7574730429f3c7917ab58b0a3a5ff9
3
+ metadata.gz: '018afb2c4de8885385d006470917e384498683646d5a8aee24060eb69e0dd3ef'
4
+ data.tar.gz: d4501c55a4dfd6964cb6c3e3b338db2adfae111c4114129d61ae515c117752f8
5
5
  SHA512:
6
- metadata.gz: 9179224846342d04a5eeeb09d25bd41c47c7535f150302ad806c3b3093cea78c2b945951b1965f41fe5930964f3997c5a3133745163b3822f280ab756c080545
7
- data.tar.gz: e8ff5e31d55a51ce2e2cc84d2d37971a6b0a69902dee28a81b1eed4d38dc6def70d1c62bc0007bbf6d68c9c2a6feb1a15ef7286e937f2a95fe1d5a91948abb40
6
+ metadata.gz: f186661330a8f832d969ff041dac3c7caf10f12a82edf8f069e73162adab01f618f86ae2a52d9d61a5451da6cd1dd9416c90f91246f21eea8369808eff4ef732
7
+ data.tar.gz: 5fcd8901d6e4c62d016647112b91bbac7b1f69fc2dedb5ab3ec5b8849cb31347fcbe5f4bb04f8396cd99d8af3a87dc428266bc7d5055be2d856e341614de8c85
data/README.md CHANGED
@@ -11,12 +11,18 @@ gem install gptinfo
11
11
  ```
12
12
  ## Usage
13
13
 
14
+ [DEMO JSON](data/g-HDJ2Bhvt1.json)
15
+
14
16
  ```ruby
15
- info = "{...}"
16
- gpt = Gptinfo.parse(info)
17
+ text = File.read('data/g-HDJ2Bhvt1.json')
18
+ gpt = Gptinfo.parse(text)
17
19
  puts gpt.id
18
20
  puts gpt.name
19
21
  puts gpt.description
22
+ puts gpt.capabilities
23
+ puts gpt.file_types
24
+ puts gpt.files_total_size
25
+ puts gpt.files_total_size_tokens
20
26
  ```
21
27
 
22
28
  ## Development
@@ -33,19 +33,23 @@ module Gptinfo
33
33
  end
34
34
 
35
35
  def tool_types
36
- tools.map{|f| f.type }.uniq
36
+ @tool_types ||= tools.map{|t| { t.type => t.capabiliy } }.uniq
37
+ end
38
+
39
+ def capabilities
40
+ @capabilities ||= tool_types.map{|type| type.values[0] }
37
41
  end
38
42
 
39
43
  def file_types
40
- files.map{|f| f.type }.uniq
44
+ @file_types ||= files.map{|f| f.type }.uniq
41
45
  end
42
46
 
43
47
  def files_total_size
44
- files.map{|f| f.size }.sum
48
+ @files_total_size ||= files.map{|f| f.size }.sum
45
49
  end
46
50
 
47
51
  def files_total_size_tokens
48
- files.map{|f| f.file_size_tokens }.compact.sum
52
+ @files_total_size_tokens ||= files.map{|f| f.file_size_tokens }.compact.sum
49
53
  end
50
54
  end
51
55
  end
data/lib/gptinfo/tool.rb CHANGED
@@ -4,7 +4,7 @@ module Gptinfo
4
4
  class Tool
5
5
  FIELDS = %w( id type settings metadata ).freeze
6
6
  extend Forwardable
7
- attr_reader :hash, *FIELDS
7
+ attr_reader :hash, :capabiliy, *FIELDS
8
8
 
9
9
  FIELDS.each do |field|
10
10
  define_method(field) do
@@ -18,6 +18,17 @@ module Gptinfo
18
18
  @hash = hash
19
19
  end
20
20
 
21
+ def capabiliy
22
+ case type
23
+ when 'python'
24
+ 'Code Interpreter'
25
+ when 'dalle'
26
+ 'DALL·E Image Generation'
27
+ when 'browser'
28
+ 'Web Browsing'
29
+ end
30
+ end
31
+
21
32
  private
22
33
 
23
34
  def get(keys)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Gptinfo
4
- VERSION = "0.1.0"
4
+ VERSION = "0.1.1"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gptinfo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sead Feng
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-12-03 00:00:00.000000000 Z
11
+ date: 2023-12-05 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: GPT Info Parser
14
14
  email:
@@ -57,7 +57,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
57
57
  - !ruby/object:Gem::Version
58
58
  version: '0'
59
59
  requirements: []
60
- rubygems_version: 3.4.18
60
+ rubygems_version: 3.4.22
61
61
  signing_key:
62
62
  specification_version: 4
63
63
  summary: GPT Info Parser