gen-ai 0.2.1 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8fd6ea8e9dbcde79c04b1d37681d8d96e8722b09e2e24d0d9766b97319f065b0
4
- data.tar.gz: 6e0599dd926747a2d71065ccc43c77648e9a0f3cdd10357540fb847606dfa656
3
+ metadata.gz: e6fbef446e1383e14734c390b0e342433991858e95a083e0aaf9a31f844f4503
4
+ data.tar.gz: e8bda40ea6377b4ada7175bcabae430681ac6d707c75cce745e4a079ce17dba9
5
5
  SHA512:
6
- metadata.gz: 6c1f85d0be4dc4a345afa45af335226a933a2d044a64fa787cb81d3985e986f921231862f1ff91de002a66769382ba7fab2240d5f9c0f6827d9a0ef76744472b
7
- data.tar.gz: 54d9de6a6ac83d6a6ef59f75d39e7aa5042e202d2b1c4ea8dbaff7f001f00b56b2e4b52d89ded9dab333a548185d317158db80e2202b1148e7112839aeeff579
6
+ metadata.gz: ade0a401f9c6cb8fdb1c1de1fd5e31b52a79ffc69af2267644f4ffe6f2bf8892d3f92bcf1a2e2aebfd1ea0790dab1dd3a8c5b42fa59e870bc0cbab13766ce1b9
7
+ data.tar.gz: 39826a4c7f854b2a0ffd24010306e612b2cad1465e60719ba518f5b2ee43a17338c268684e615b376388f280dd20740f750fc6c8e5b49dfbc822c1f2873ba9f6
data/README.md CHANGED
@@ -20,13 +20,20 @@ If bundler is not being used to manage dependencies, install the gem by executin
20
20
 
21
21
  ## Usage
22
22
 
23
+ Require it in you code:
24
+ ```ruby
25
+ require 'gen_ai'
26
+ ```
27
+
28
+
29
+
23
30
  ### Feature support
24
31
  ✅ - Supported | ❌ - Not supported | 🛠️ - Work in progress
25
32
 
26
33
  Language models capabilities
27
34
 
28
35
  | Provider | Embedding | Completion | Conversation | Sentiment | Summarization |
29
- | ---------------- | --------- | :--------: | :----------: | :-------: | :-----------: |
36
+ | ---------------- | :-------: | :--------: | :----------: | :-------: | :-----------: |
30
37
  | **OpenAI** | ✅ | ✅ | ✅ | 🛠️ | 🛠️ |
31
38
  | **Google Palm2** | ✅ | ✅ | ✅ | 🛠️ | 🛠️ |
32
39
 
@@ -34,7 +41,7 @@ Language models capabilities
34
41
  Image generation model capabilities
35
42
 
36
43
  | Provider | Generate | Variations | Edit | Upscale |
37
- | ---------------- | --------- | :--------: | :----------: | :-------: |
44
+ | ---------------- | :-------: | :--------: | :----------: | :-------: |
38
45
  | **OpenAI** | ✅ | ✅ | ✅ | ❌ |
39
46
  | **StabilityAI** | ✅ | ❌ | ✅ | ✅ |
40
47
 
data/gen-ai.gemspec CHANGED
@@ -9,8 +9,9 @@ Gem::Specification.new do |spec|
9
9
  spec.email = ['alchaplinsky@gmail.com']
10
10
 
11
11
  spec.summary = 'Generative AI toolset for Ruby.'
12
- spec.description = 'Generative AI toolset for Ruby.'
12
+ spec.description = 'GenAI allows you to easily integrate Generative AI model providers like OpenAI, Google Vertex AI, Stability AI, etc'
13
13
  spec.homepage = 'https://github.com/alchaplinsky/gen-ai'
14
+ spec.licenses = ['MIT']
14
15
  spec.required_ruby_version = '>= 2.7.0'
15
16
 
16
17
  # spec.metadata["allowed_push_host"] = "TODO: Set to your gem server 'https://example.com'"
@@ -33,7 +34,7 @@ Gem::Specification.new do |spec|
33
34
 
34
35
  # Uncomment to register a new dependency of your gem
35
36
  spec.add_dependency 'faraday', '~> 2.7'
36
- spec.add_dependency 'faraday-multipart'
37
+ spec.add_dependency 'faraday-multipart', '~> 1.0'
37
38
  spec.add_dependency 'zeitwerk', '~> 2.6'
38
39
 
39
40
  spec.add_development_dependency 'google_palm_api', '~> 0.1'
data/lib/gen/ai.rb ADDED
@@ -0,0 +1,3 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../gen_ai'
@@ -4,6 +4,7 @@ module GenAI
4
4
  class Image
5
5
  class OpenAI < Base
6
6
  DEFAULT_SIZE = '256x256'
7
+ DEFAULT_MODEL = 'dall-e-3'
7
8
  RESPONSE_FORMAT = 'b64_json'
8
9
 
9
10
  def initialize(token:, options: {})
@@ -19,7 +20,7 @@ module GenAI
19
20
 
20
21
  build_result(
21
22
  raw: response,
22
- model: 'dall-e',
23
+ model: parameters[:model],
23
24
  parsed: response['data'].map { |datum| datum[RESPONSE_FORMAT] }
24
25
  )
25
26
  end
@@ -54,6 +55,7 @@ module GenAI
54
55
  {
55
56
  prompt: prompt,
56
57
  size: options.delete(:size) || DEFAULT_SIZE,
58
+ model: options.delete(:model) || DEFAULT_MODEL,
57
59
  response_format: options.delete(:response_format) || RESPONSE_FORMAT
58
60
  }.merge(options)
59
61
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module GenAI
4
- VERSION = '0.2.1'
4
+ VERSION = '0.2.3'
5
5
  end
data/lib/gen_ai.rb CHANGED
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'zeitwerk'
4
- require 'pry'
5
4
 
6
5
  loader = Zeitwerk::Loader.for_gem
7
6
  loader.inflector.inflect(
@@ -9,6 +8,7 @@ loader.inflector.inflect(
9
8
  'open_ai' => 'OpenAI',
10
9
  'stability_ai' => 'StabilityAI'
11
10
  )
11
+ loader.ignore("#{__dir__}/gen")
12
12
  loader.setup
13
13
 
14
14
  module GenAI
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gen-ai
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Chaplinsky
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-10-26 00:00:00.000000000 Z
11
+ date: 2023-11-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -28,16 +28,16 @@ dependencies:
28
28
  name: faraday-multipart
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: '1.0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: '1.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: zeitwerk
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -80,7 +80,8 @@ dependencies:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '5.1'
83
- description: Generative AI toolset for Ruby.
83
+ description: GenAI allows you to easily integrate Generative AI model providers like
84
+ OpenAI, Google Vertex AI, Stability AI, etc
84
85
  email:
85
86
  - alchaplinsky@gmail.com
86
87
  executables: []
@@ -95,6 +96,7 @@ files:
95
96
  - README.md
96
97
  - Rakefile
97
98
  - gen-ai.gemspec
99
+ - lib/gen/ai.rb
98
100
  - lib/gen_ai.rb
99
101
  - lib/gen_ai/api/client.rb
100
102
  - lib/gen_ai/base.rb
@@ -111,7 +113,8 @@ files:
111
113
  - lib/gen_ai/version.rb
112
114
  - sig/gen_ai.rbs
113
115
  homepage: https://github.com/alchaplinsky/gen-ai
114
- licenses: []
116
+ licenses:
117
+ - MIT
115
118
  metadata:
116
119
  homepage_uri: https://github.com/alchaplinsky/gen-ai
117
120
  source_code_uri: https://github.com/alchaplinsky/gen-ai