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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: eb5be648b3d839fdb8eb4412456aaf0a6c8877cc8e0509278f00c196212396be
4
- data.tar.gz: 86758e35d6e225ae3bb354ac3616a68d16b9fc0557a609f5454457ab1361015d
3
+ metadata.gz: 59621dda63f639c9c658042856aaf89ee708a0cf01c2c217716569da58cd4c7b
4
+ data.tar.gz: c7460641ad8dece7da0605e635bf9de6db36f475225294b828c6287f2181850d
5
5
  SHA512:
6
- metadata.gz: b47113be928cb3ce172ad3b6d8550a11bfa23a6cd741666247a927d7b86ce4940633f89b60acfb8c3805182bc60759bf5ccbe51ceb805ae67252212e3c1b5078
7
- data.tar.gz: 374742102725b2334a150dbddd62474bdeff72ceb067c4831e95cf9d61e3ac4c9d74543d3530ece53fc39d25968d72aa88376a080df727ed92f17395665fb08e
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
- response = Net::HTTP.post_form(url, { "token": Everyai.api_key, "agent_id": agent_id })
10
- body = JSON.parse(response.body)
11
- if response.kind_of? Net::HTTPSuccess
12
- body["results"]
13
- new(agent_id)
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 :agent_id
34
+ attr_reader :response_data, :id, :llm_model, :identity, :instructions
32
35
 
33
- def initialize(agent_id)
34
- @agent_id = agent_id
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": agent_id, "options": model_options.to_json })
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
@@ -43,4 +43,5 @@ class Everyai
43
43
  end
44
44
  end
45
45
 
46
- require_relative 'everyai/agent'
46
+ require_relative 'everyai/agent'
47
+ require_relative 'everyai/chatbot'
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.7
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-15 00:00:00.000000000 Z
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