everyai 0.0.7 → 0.0.8

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: 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