everyai 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/everyai.rb +21 -27
  3. metadata +3 -17
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cfb5db5a2396f0ba3be48382a13bf6be48ccdf9baf0dae4dacff56ec91d69ca0
4
- data.tar.gz: bc289476d96b29e2034ff4a6522cb5fa5f435f597a69fbd3f38fe320ffc8abbe
3
+ metadata.gz: aa438268e9b3cb45cb751cb6e0807022f02b6c8b138938bb7829ad7452aaf8bc
4
+ data.tar.gz: 7edf18ad5900e05b0aac9cba2870237dcfabae66551d528424e15a433089228a
5
5
  SHA512:
6
- metadata.gz: 0f23773f74789802b9891d0ca030209574da59e56a930e421a5935e9fa1897c8bf75477486c19ee004747e6ddf7631d0c9ba90c9c6ff292bada55987fddf7a48
7
- data.tar.gz: '082951e08d8bb58b21c6eff2175849d4a2d9fd1ad4c403ea8f1416d4f62881cae4c5ac4144a938bfb9f00da83640311e96734edd36d820b059eaabc8f92fa43e'
6
+ metadata.gz: 820b9c4ea76666f6ec035bf3b1987effbbaf777b5162fe91697792a8c8a1843e8d82c8aad9ebce5df083b670ba55fd5944a25d0ffdf07d39f37ac30b55c12541
7
+ data.tar.gz: 267259d18160ce44229e72c09ec5d5f8bb109427fd1986d98d48846cdcd16daea7c54ad980464e8d5f1a579b9ebc3c48fc70a5f40fd39d22067bea609916aeb4
data/lib/everyai.rb CHANGED
@@ -1,36 +1,30 @@
1
- require "ollama-ai"
1
+ require 'net/http'
2
+ require 'uri'
3
+ require 'json'
2
4
 
3
5
  class Everyai
4
- attr_reader :client
5
- def initialize
6
- @client = Ollama.new(
7
- credentials: { address: 'http://localhost:11434' },
8
- opiions: { server_sent_events: true }
9
- )
10
- end
11
-
12
- def generate(prompt, model)
13
- result = client.generate(
14
- { model: model,
15
- prompt: prompt }
16
- )
17
- result.map { |r| r['response']}.join
18
- rescue Ollama::Errors::RequestError
19
- puts "This Ollama model is not installed. Type y to install or any key to continue"
20
- answer = gets.chomp.downcase
21
- `ollama run #{model}` if answer == "y"
22
- end
6
+ API_GENERATIONS_PATH = "http://every-llm.com/api/v1/generations"
23
7
 
24
8
  class << self
25
- def generate(prompt, model: "llama3.1")
26
- @ai ||= new
27
- @ai.generate(prompt, model)
9
+ @api_key = nil
10
+
11
+ def api_key=(key)
12
+ @api_key = key
28
13
  end
29
14
 
30
- def ls
31
- puts "Listing Ollama AI Models"
32
- str = `ollama list`
33
- puts str.split("\n")
15
+ def api_key
16
+ @api_key
17
+ end
18
+
19
+ def generate(prompt, model: "llama3.1")
20
+ url = URI.parse(API_GENERATIONS_PATH)
21
+ response = Net::HTTP.post_form(url, { "prompt": prompt, "model": model, "token": api_key })
22
+ body = JSON.parse(response.body)
23
+ if response.kind_of? Net::HTTPSuccess
24
+ body["results"]
25
+ else
26
+ body["errors"]
27
+ end
34
28
  end
35
29
  end
36
30
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: everyai
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Enoch Tamulonis
@@ -9,22 +9,8 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2024-09-05 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: ollama-ai
16
- requirement: !ruby/object:Gem::Requirement
17
- requirements:
18
- - - "~>"
19
- - !ruby/object:Gem::Version
20
- version: 1.3.0
21
- type: :runtime
22
- prerelease: false
23
- version_requirements: !ruby/object:Gem::Requirement
24
- requirements:
25
- - - "~>"
26
- - !ruby/object:Gem::Version
27
- version: 1.3.0
12
+ date: 2024-09-07 00:00:00.000000000 Z
13
+ dependencies: []
28
14
  description: This ruby gem allows you to connect to any AI model with one simple interface.
29
15
  Never worry about configuration and installing libraries. We make connecting to
30
16
  multiple AI models simple