everyai 0.0.7 → 0.0.8

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: eb5be648b3d839fdb8eb4412456aaf0a6c8877cc8e0509278f00c196212396be
4
- data.tar.gz: 86758e35d6e225ae3bb354ac3616a68d16b9fc0557a609f5454457ab1361015d
3
+ metadata.gz: 52645f230f8c1bcd06b406d27056d1fddb9654b956dce394b29807cad04a393b
4
+ data.tar.gz: 56798d73e0ce287a5c70f75e196dbf7fdccb6c6dbe9ea8803af1ac966e58fbfb
5
5
  SHA512:
6
- metadata.gz: b47113be928cb3ce172ad3b6d8550a11bfa23a6cd741666247a927d7b86ce4940633f89b60acfb8c3805182bc60759bf5ccbe51ceb805ae67252212e3c1b5078
7
- data.tar.gz: 374742102725b2334a150dbddd62474bdeff72ceb067c4831e95cf9d61e3ac4c9d74543d3530ece53fc39d25968d72aa88376a080df727ed92f17395665fb08e
6
+ metadata.gz: 23a448b4b60db25d004f78d03ecef88ebfec08cdda489f9357fab9067e504c0f7960c1d930da2128c961fc94c08c2ec047b6634fc80cf0458f65e3dc015edb97
7
+ data.tar.gz: 17e51b4b2ba07a454c9f129682a95abd2daaa9ceec73208d9fc281a97b2b1a051df309dad38c61f449d35ec6c27b22276c8f288bfd24f6a6a6b9743e080df04e
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
@@ -3,8 +3,8 @@ require 'uri'
3
3
  require 'json'
4
4
 
5
5
  class Everyai
6
- DOMAIN = "https://every-llm.com"
7
- #DOMAIN = "http://localhost:3000"
6
+ #DOMAIN = "https://every-llm.com"
7
+ DOMAIN = "http://localhost:3000"
8
8
  API_GENERATIONS_PATH = "#{DOMAIN}/api/v1/generations"
9
9
 
10
10
  class << self
@@ -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.8
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