everyai 0.0.6 → 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: a0d7d1e9d63e7fd278a1fb7d64aa992c38bd55a8dc1663c486af894737343faf
4
- data.tar.gz: 3115c0159b908b21ffc2c63e6686e87a2dd6f7ab33ad77fc8f89393cac06921f
3
+ metadata.gz: 52645f230f8c1bcd06b406d27056d1fddb9654b956dce394b29807cad04a393b
4
+ data.tar.gz: 56798d73e0ce287a5c70f75e196dbf7fdccb6c6dbe9ea8803af1ac966e58fbfb
5
5
  SHA512:
6
- metadata.gz: 7fac790345ee17c259018dbc1f5df69573a9d12206784e20c7dd37348b36b174158c2eb36d1b0b3229672bee948c4167e8bb93a926dc0c81c3f1b3e4b1f3099f
7
- data.tar.gz: 4d3606fa5ddb6373b48dccc90f9676e4e1d0ee4945b074f4f41f7fe5d93eedccb4d034a2330a7ee4c51c56186c98793444e00f5c59dea89f1b1b75643cba249c
6
+ metadata.gz: 23a448b4b60db25d004f78d03ecef88ebfec08cdda489f9357fab9067e504c0f7960c1d930da2128c961fc94c08c2ec047b6634fc80cf0458f65e3dc015edb97
7
+ data.tar.gz: 17e51b4b2ba07a454c9f129682a95abd2daaa9ceec73208d9fc281a97b2b1a051df309dad38c61f449d35ec6c27b22276c8f288bfd24f6a6a6b9743e080df04e
@@ -0,0 +1,55 @@
1
+ class Everyai
2
+ class Agent
3
+ AGENT_PATH = "#{Everyai::DOMAIN}/api/v1/agents"
4
+ AGENT_GENERATION_PATH = "#{AGENT_PATH}/generations"
5
+
6
+ class << self
7
+ def find(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)
17
+ else
18
+ body["errors"]
19
+ end
20
+ end
21
+
22
+ def generate(prompt, model: "llama3.2", **model_options)
23
+ agent_id = model_options[:agent_id]
24
+ options = model_options.except(:agent_id)
25
+ if !agent_id
26
+ { errors: "You need to include an agent id first" }
27
+ end
28
+
29
+ agent = new(agent_id: agent_id)
30
+ agent.generate(prompt, model: model, **model_options)
31
+ end
32
+ end
33
+
34
+ attr_reader :response_data, :id, :llm_model, :identity, :instructions
35
+
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]
42
+ end
43
+
44
+ def generate(prompt, model: "llama3.2", **model_options)
45
+ url = URI.parse(AGENT_GENERATION_PATH)
46
+ response = Net::HTTP.post_form(url, { "prompt": prompt, "model": model, "token": Everyai.api_key, "agent_id": id, "options": model_options.to_json })
47
+ body = JSON.parse(response.body)
48
+ if response.kind_of? Net::HTTPSuccess
49
+ body["results"]
50
+ else
51
+ body["errors"]
52
+ end
53
+ end
54
+ end
55
+ end
@@ -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,7 +3,8 @@ require 'uri'
3
3
  require 'json'
4
4
 
5
5
  class Everyai
6
- DOMAIN = "https://every-llm.com" #"http://localhost:3000"
6
+ #DOMAIN = "https://every-llm.com"
7
+ DOMAIN = "http://localhost:3000"
7
8
  API_GENERATIONS_PATH = "#{DOMAIN}/api/v1/generations"
8
9
 
9
10
  class << self
@@ -17,7 +18,7 @@ class Everyai
17
18
  @api_key
18
19
  end
19
20
 
20
- def generate(prompt, model: "llama3.1", **model_options)
21
+ def generate(prompt, model: "llama3.2", **model_options)
21
22
  url = URI.parse(API_GENERATIONS_PATH)
22
23
  response = Net::HTTP.post_form(url, { "prompt": prompt, "model": model, "token": api_key, "options": model_options.to_json })
23
24
  body = JSON.parse(response.body)
@@ -32,7 +33,7 @@ class Everyai
32
33
  generate(prompt, model: model )
33
34
  end
34
35
 
35
- def llama(prompt, model: "llama3.1", context: nil)
36
+ def llama(prompt, model: "llama3.2", context: nil)
36
37
  generate(prompt, model: model, context: context)
37
38
  end
38
39
 
@@ -41,3 +42,6 @@ class Everyai
41
42
  end
42
43
  end
43
44
  end
45
+
46
+ require_relative 'everyai/agent'
47
+ require_relative 'everyai/chatbot'
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: everyai
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Enoch Tamulonis
8
8
  - Kurt Tamulonis
9
- autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2024-09-08 00:00:00.000000000 Z
11
+ date: 2025-01-23 00:00:00.000000000 Z
13
12
  dependencies: []
14
13
  description: This ruby gem allows you to connect to any AI model with one simple interface.
15
14
  Never worry about configuration and installing libraries. We make connecting to
@@ -20,12 +19,13 @@ extensions: []
20
19
  extra_rdoc_files: []
21
20
  files:
22
21
  - lib/everyai.rb
22
+ - lib/everyai/agent.rb
23
+ - lib/everyai/chatbot.rb
23
24
  homepage: https://rubygems.org/gems/everyai
24
25
  licenses:
25
26
  - MIT
26
27
  metadata:
27
28
  source_code_uri: https://github.com/Every-LLM/every-ai-gem
28
- post_install_message:
29
29
  rdoc_options: []
30
30
  require_paths:
31
31
  - lib
@@ -40,8 +40,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
40
40
  - !ruby/object:Gem::Version
41
41
  version: '0'
42
42
  requirements: []
43
- rubygems_version: 3.5.7
44
- signing_key:
43
+ rubygems_version: 3.6.2
45
44
  specification_version: 4
46
45
  summary: Every AI ruby gem. Connect to any AI model easily
47
46
  test_files: []