gen-ai 0.2.1 → 0.2.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: 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