awesome_chatgpt_actors 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +1 -1
- data/Gemfile.lock +7 -1
- data/README.md +6 -10
- data/awesome_chatgpt_actors.gemspec +1 -1
- data/lib/awesome_chatgpt_actors/actor.rb +8 -6
- data/lib/awesome_chatgpt_actors/version.rb +2 -2
- data/lib/tasks/chatgpt_actors.rake +4 -2
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fa3b750ff0ed54b5b0fc6285e035b2102151e5fefe5ced9fba4e79d618b7670f
|
4
|
+
data.tar.gz: 4bf6b83919c681119a2d3bea8a93d6ae890d7ab2c3b51906259cb1f39703d1d5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8a16d8f04ef470fb087c392a434b2c51ba38efbd83f77115ed5adaa913bff138e7dc06f3bad8b439a1110899c82bb0e06359631240e1fd5dbb49220e816fdb3b
|
7
|
+
data.tar.gz: 628c814c692e08169fd7ac9ebf8fa0b2aa2b8740efd1b7f1ba2a55ef788555219b5b9f1dc1344befb33b7d65e2a2edac524768aa30ecc3dd4ade94ac312d837d
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -84,6 +84,9 @@ GEM
|
|
84
84
|
erubi (1.12.0)
|
85
85
|
globalid (1.1.0)
|
86
86
|
activesupport (>= 5.0)
|
87
|
+
httparty (0.21.0)
|
88
|
+
mini_mime (>= 1.0.0)
|
89
|
+
multi_xml (>= 0.5.2)
|
87
90
|
i18n (1.12.0)
|
88
91
|
concurrent-ruby (~> 1.0)
|
89
92
|
json (2.6.3)
|
@@ -99,6 +102,7 @@ GEM
|
|
99
102
|
method_source (1.0.0)
|
100
103
|
mini_mime (1.1.2)
|
101
104
|
minitest (5.16.3)
|
105
|
+
multi_xml (0.6.0)
|
102
106
|
net-imap (0.3.4)
|
103
107
|
date
|
104
108
|
net-protocol
|
@@ -174,6 +178,8 @@ GEM
|
|
174
178
|
unicode-display_width (>= 2.4.0, < 3.0)
|
175
179
|
rubocop-ast (1.28.0)
|
176
180
|
parser (>= 3.2.1.0)
|
181
|
+
ruby-openai (3.7.0)
|
182
|
+
httparty (>= 0.18.1)
|
177
183
|
ruby-progressbar (1.13.0)
|
178
184
|
simplecov (0.22.0)
|
179
185
|
docile (~> 1.1)
|
@@ -197,11 +203,11 @@ PLATFORMS
|
|
197
203
|
DEPENDENCIES
|
198
204
|
awesome_chatgpt_actors!
|
199
205
|
csv
|
200
|
-
openai
|
201
206
|
rails
|
202
207
|
rake (~> 13.0)
|
203
208
|
rspec (~> 3.0)
|
204
209
|
rubocop (~> 1.21)
|
210
|
+
ruby-openai
|
205
211
|
simplecov
|
206
212
|
|
207
213
|
BUNDLED WITH
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
#
|
1
|
+
# Awesome Chatgpt Actors
|
2
2
|
|
3
|
-
This gem is a collection of actors made for use the [
|
3
|
+
This gem is a collection of actors made for use the [Awesome Chatgpt Prompts](https://github.com/f/awesome-chatgpt-prompts) in ruby.
|
4
4
|
So for prompts information, please refer to that repository.
|
5
5
|
|
6
6
|
## Installation
|
@@ -38,7 +38,7 @@ actor = AwesomeChatgptActors::Actor.new
|
|
38
38
|
|
39
39
|
# Initialize a new actor with options
|
40
40
|
actor = AwesomeChatgptActors::Actor.new(
|
41
|
-
|
41
|
+
prompt_type: 'Linux Terminal', # The type of actor to use, check the list in https://github.com/f/awesome-chatgpt-prompts/blob/main/prompts.csv
|
42
42
|
language: 'en', # The language of the prompt, if other language is specified, it will requirean openai api key to perform the translation
|
43
43
|
)
|
44
44
|
|
@@ -48,18 +48,13 @@ actor = AwesomeChatgptActors::Actor.new(
|
|
48
48
|
openai_api_key: 'Your OpenAI API Key' # it can be nil if you provide it as an environment variable OPENAI_API_KEY
|
49
49
|
)
|
50
50
|
|
51
|
-
# Initialize a new actor with options
|
52
|
-
actor = AwesomeChatgptActors::Actor.new(
|
53
|
-
prompt: 'I want you to act as a virtual assistant. I will give you tasks and you will reply with the results of the tasks. I want you to only reply with the results of the tasks, and nothing else. Do not write explanations. My first task is ""I want you to write a short story about a cat"""'
|
54
|
-
)
|
55
|
-
|
56
51
|
# Initialize a random actor
|
57
52
|
actor = AwesomeChatgptActors::Actor.new(
|
58
53
|
random: true
|
59
54
|
)
|
60
55
|
|
61
56
|
# Change the actor
|
62
|
-
actor.act_as(
|
57
|
+
actor.act_as('Virtual Assistant') # it will return the same actor with the new options, check the list in https://github.com/f/awesome-chatgpt-prompts/blob/main/prompts.csv
|
63
58
|
|
64
59
|
# Add a new actor to csv file
|
65
60
|
AwesomeChatgptActors::CastControl.add_actor(actor: 'Virtual Assistant', prompt: 'I want you to act as a virtual assistant. I will give you tasks and you will reply with the results of the tasks. I want you to only reply with the results of the tasks, and nothing else. Do not write explanations. My first task is ""I want you to write a short story about a cat"""')
|
@@ -68,7 +63,7 @@ AwesomeChatgptActors::CastControl.add_actor(actor: 'Virtual Assistant', prompt:
|
|
68
63
|
AwesomeChatgptActors::CastControl.remove_actor(actor: 'Virtual Assistant')
|
69
64
|
|
70
65
|
# Get a list of all actors
|
71
|
-
AwesomeChatgptActors::
|
66
|
+
AwesomeChatgptActors::CastControl.actors
|
72
67
|
|
73
68
|
# Check if an actor exists
|
74
69
|
AwesomeChatgptActors::CastControl.actor_exists?(actor: 'Virtual Assistant')
|
@@ -88,6 +83,7 @@ This gem was tested with Rspec. To run the tests, execute:
|
|
88
83
|
|
89
84
|
<!-- Coverage: -->
|
90
85
|
<!-- local image path: coverage-image/simplecov-actors.png -->
|
86
|
+
[![Coverage Status](https://raw.githubusercontent.com/JesusGautamah/awesome-chatgpt-actors/master/coverage-image/simplecov-actors.png)]( https://raw.githubusercontent.com/JesusGautamah/awesome-chatgpt-actors/master/coverage-image/simplecov-actors.png)
|
91
87
|
|
92
88
|
## Contributing
|
93
89
|
|
@@ -52,14 +52,16 @@ module AwesomeChatgptActors
|
|
52
52
|
|
53
53
|
def translate_prompt(text: nil, language: nil)
|
54
54
|
text = "Translate the following text from English to #{language}: \n\n#{text}\n\n"
|
55
|
-
client = OpenAI::Client.new(
|
55
|
+
client = OpenAI::Client.new(access_token: openai_api_key)
|
56
56
|
response = client.completions(
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
57
|
+
parameters: {
|
58
|
+
model: "text-davinci-003", prompt: text,
|
59
|
+
temperature: 0.1, max_tokens: 200,
|
60
|
+
top_p: 1, frequency_penalty: 0,
|
61
|
+
presence_penalty: 0, stop: ["\n\n"]
|
62
|
+
}
|
61
63
|
)
|
62
|
-
response
|
64
|
+
response["choices"].first["text"]
|
63
65
|
end
|
64
66
|
end
|
65
67
|
end
|
@@ -3,10 +3,12 @@
|
|
3
3
|
namespace :chatgpt_actors do
|
4
4
|
desc "Copy $GEM/prompts-data/awesome-chatgpt-prompts.csv to ./prompts-data/awesome-chatgpt-prompts.csv"
|
5
5
|
task :install do
|
6
|
-
path = Gem::Specification.find_by_name("awesome_chatgpt_actors")
|
6
|
+
path = Gem::Specification.find_by_name("awesome_chatgpt_actors")
|
7
7
|
.gem_dir + "/prompts-data/awesome-chatgpt-prompts.csv"
|
8
8
|
raise "File not found: #{path}" unless File.exist?(path)
|
9
|
-
|
9
|
+
if File.exist?("prompts-data/awesome-chatgpt-prompts.csv")
|
10
|
+
raise "File already exists: prompts-data/awesome-chatgpt-prompts.csv"
|
11
|
+
end
|
10
12
|
|
11
13
|
FileUtils.mkdir_p("prompts-data") unless Dir.exist?("prompts-data")
|
12
14
|
FileUtils.cp(path, "prompts-data/awesome-chatgpt-prompts.csv")
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: awesome_chatgpt_actors
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- JesusGautamah
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-04-
|
11
|
+
date: 2023-04-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: csv
|
@@ -25,7 +25,7 @@ dependencies:
|
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name: openai
|
28
|
+
name: ruby-openai
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
@@ -88,7 +88,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: '0'
|
90
90
|
requirements: []
|
91
|
-
rubygems_version: 3.
|
91
|
+
rubygems_version: 3.2.32
|
92
92
|
signing_key:
|
93
93
|
specification_version: 4
|
94
94
|
summary: This gem is the implementation of Awesome Chatgpt Prompts with improvements
|