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 +4 -4
- data/README.md +9 -2
- data/gen-ai.gemspec +3 -2
- data/lib/gen/ai.rb +3 -0
- data/lib/gen_ai/image/open_ai.rb +3 -1
- data/lib/gen_ai/version.rb +1 -1
- data/lib/gen_ai.rb +1 -1
- metadata +11 -8
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e6fbef446e1383e14734c390b0e342433991858e95a083e0aaf9a31f844f4503
|
|
4
|
+
data.tar.gz: e8bda40ea6377b4ada7175bcabae430681ac6d707c75cce745e4a079ce17dba9
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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
|
|
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
data/lib/gen_ai/image/open_ai.rb
CHANGED
|
@@ -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:
|
|
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
|
data/lib/gen_ai/version.rb
CHANGED
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.
|
|
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-
|
|
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
|
|
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
|