everyai 0.0.7 → 0.0.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/everyai/agent.rb +18 -11
- data/lib/everyai/chatbot.rb +49 -0
- data/lib/everyai.rb +2 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 59621dda63f639c9c658042856aaf89ee708a0cf01c2c217716569da58cd4c7b
|
4
|
+
data.tar.gz: c7460641ad8dece7da0605e635bf9de6db36f475225294b828c6287f2181850d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2fb03a5415e25f007ea979511677ca87b7a4c15bf3b277d73b118eb9bac32bb43d7e64d73b1bc02fc5cc0f34033dc7ba97aae8086e7a002fcbf0572380ccc5af
|
7
|
+
data.tar.gz: 44ac534294a575394af6f2f72a4317888103eb46e0290fa4e03f8c7d59ba05e7423f3bc37889ccd0427afbd2d83733c3dda4d9c7ac059bcab03e7ce31a69a3e8
|
data/lib/everyai/agent.rb
CHANGED
@@ -5,12 +5,15 @@ class Everyai
|
|
5
5
|
|
6
6
|
class << self
|
7
7
|
def find(agent_id)
|
8
|
-
url = URI.parse(AGENT_PATH)
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
8
|
+
url = URI.parse("#{AGENT_PATH}/#{agent_id}")
|
9
|
+
url.query = URI.encode_www_form({
|
10
|
+
"token" => Everyai.api_key
|
11
|
+
})
|
12
|
+
response = Net::HTTP.get_response(url)
|
13
|
+
body = JSON.parse(response.body, symbolize_names: true)
|
14
|
+
|
15
|
+
if response.is_a?(Net::HTTPSuccess)
|
16
|
+
new(**body)
|
14
17
|
else
|
15
18
|
body["errors"]
|
16
19
|
end
|
@@ -23,20 +26,24 @@ class Everyai
|
|
23
26
|
{ errors: "You need to include an agent id first" }
|
24
27
|
end
|
25
28
|
|
26
|
-
agent = new(agent_id)
|
29
|
+
agent = new(agent_id: agent_id)
|
27
30
|
agent.generate(prompt, model: model, **model_options)
|
28
31
|
end
|
29
32
|
end
|
30
33
|
|
31
|
-
attr_reader :
|
34
|
+
attr_reader :response_data, :id, :llm_model, :identity, :instructions
|
32
35
|
|
33
|
-
def initialize(
|
34
|
-
@
|
36
|
+
def initialize(**data)
|
37
|
+
@response_data = data
|
38
|
+
@id = data[:agent_id]
|
39
|
+
@llm_model = data[:llm_model]
|
40
|
+
@identity = data[:identity]
|
41
|
+
@instructions = data[:instructions]
|
35
42
|
end
|
36
43
|
|
37
44
|
def generate(prompt, model: "llama3.2", **model_options)
|
38
45
|
url = URI.parse(AGENT_GENERATION_PATH)
|
39
|
-
response = Net::HTTP.post_form(url, { "prompt": prompt, "model": model, "token": Everyai.api_key, "agent_id":
|
46
|
+
response = Net::HTTP.post_form(url, { "prompt": prompt, "model": model, "token": Everyai.api_key, "agent_id": id, "options": model_options.to_json })
|
40
47
|
body = JSON.parse(response.body)
|
41
48
|
if response.kind_of? Net::HTTPSuccess
|
42
49
|
body["results"]
|
@@ -0,0 +1,49 @@
|
|
1
|
+
class Everyai
|
2
|
+
class Chatbot
|
3
|
+
CHATBOT_PATH = "#{Everyai::DOMAIN}/api/v1/chatbots"
|
4
|
+
|
5
|
+
class << self
|
6
|
+
def find(chatbot_id)
|
7
|
+
url = URI.parse("#{CHATBOT_PATH}/#{chatbot_id}")
|
8
|
+
url.query = URI.encode_www_form({
|
9
|
+
"token" => Everyai.api_key
|
10
|
+
})
|
11
|
+
response = Net::HTTP.get_response(url)
|
12
|
+
body = JSON.parse(response.body, symbolize_names: true)
|
13
|
+
|
14
|
+
if response.is_a?(Net::HTTPSuccess)
|
15
|
+
new(**body)
|
16
|
+
else
|
17
|
+
body["errors"]
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def create(name:, avatar: nil, business_url: nil, business_bio: nil)
|
22
|
+
url = URI.parse(CHATBOT_PATH)
|
23
|
+
response = Net::HTTP.post_form(url,
|
24
|
+
{ "token": Everyai.api_key,
|
25
|
+
"name": name,
|
26
|
+
"avatar": avatar,
|
27
|
+
"business_url": business_url,
|
28
|
+
"business_bio": business_bio,
|
29
|
+
})
|
30
|
+
body = JSON.parse(response.body, symbolize_names: true)
|
31
|
+
if response.kind_of? Net::HTTPSuccess
|
32
|
+
new(**body)
|
33
|
+
else
|
34
|
+
body["errors"]
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
attr_reader :response_data, :id, :name, :agent_id, :iframe_code
|
40
|
+
|
41
|
+
def initialize(**data)
|
42
|
+
@response_data = data
|
43
|
+
@id = data[:chatbot_id]
|
44
|
+
@name = data[:name]
|
45
|
+
@agent_id = data[:agent_id]
|
46
|
+
@iframe_code = data[:iframe_code]
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
data/lib/everyai.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: everyai
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Enoch Tamulonis
|
8
8
|
- Kurt Tamulonis
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-01-
|
11
|
+
date: 2025-01-23 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: This ruby gem allows you to connect to any AI model with one simple interface.
|
14
14
|
Never worry about configuration and installing libraries. We make connecting to
|
@@ -20,6 +20,7 @@ extra_rdoc_files: []
|
|
20
20
|
files:
|
21
21
|
- lib/everyai.rb
|
22
22
|
- lib/everyai/agent.rb
|
23
|
+
- lib/everyai/chatbot.rb
|
23
24
|
homepage: https://rubygems.org/gems/everyai
|
24
25
|
licenses:
|
25
26
|
- MIT
|