awesome_chatgpt_actors 0.1.1 → 0.1.2
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/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
|
+
[]( 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
|