omniai 1.2.1 → 1.2.2

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: 5b37e667b2b004a012bf7d7d76fd80c08aa8948d46b8670651daa3a426c591d2
4
- data.tar.gz: ded01ccbbf34486159fd965953a9d5cec9a62da16404960e5b0c8bca8d5384ad
3
+ metadata.gz: 239eb058ae53afd3f28fe00a18af282a856ca842a4f81bcdf22413a02d8d44fc
4
+ data.tar.gz: e74ac69ab6435fd9da3d1602c9cce5e052f53bebf609d8815868b58be0897884
5
5
  SHA512:
6
- metadata.gz: c6c26067f0b0b3c7ecefbdc00ed1746f0f597f729a41ff1e0a253bb723cf89ef1b82ccc2c411a8b43b93d5f54c83a9f3e58ab7074be324e9b3bf24e099e7ca2a
7
- data.tar.gz: fe75154f85d6a68b1698c923548570695c724293462225bdb9d29db8ccf884ab2965bce3090a9f9c64851c5547ab4a655e59e7079c0923bff9ee18f46320517c
6
+ metadata.gz: a6b18cae8b5aab610bf255860ccd514b794eda3021b2f9b3aa86020968e0f449b683b4db74291e71583698b61d7612a7e49b3ee0310c806a826f7b27c50c7d92
7
+ data.tar.gz: bd12b38f3c9a150fe09644aaf187aa05aa1063ee136196e11fcaa356f4fe5bdc2c93f6292a79025f301c6d35a1202186f6ad787787828dfd5af91f229a34b550
data/README.md CHANGED
@@ -60,6 +60,18 @@ require 'omniai/openai'
60
60
  client = OmniAI::OpenAI::Client.new
61
61
  ```
62
62
 
63
+ #### Usage with LocalAI
64
+
65
+ LocalAI support is offered through [OmniAI::OpenAI](https://github.com/ksylvest/omniai-openai):
66
+
67
+ [Usage with LocalAI](https://github.com/ksylvest/omniai-openai#usage-with-localai)
68
+
69
+ #### Usage with Ollama
70
+
71
+ Ollama support is offered through [OmniAI::OpenAI](https://github.com/ksylvest/omniai-openai):
72
+
73
+ [Usage with Ollama](https://github.com/ksylvest/omniai-openai#usage-with-ollama)
74
+
63
75
  ### Chat
64
76
 
65
77
  Clients that support chat (e.g. Anthropic w/ "Claude", Google w/ "Gemini", Mistral w/ "LeChat", OpenAI w/ "ChatGPT", etc) generate completions using the following calls:
data/lib/omniai/client.rb CHANGED
@@ -13,19 +13,28 @@ module OmniAI
13
13
  class Client
14
14
  class Error < StandardError; end
15
15
 
16
- attr_accessor :api_key
16
+ attr_accessor :api_key, :logger, :host
17
17
 
18
- # @param api_key [String]
19
- # @param logger [Logger]
20
- def initialize(api_key:, logger: nil)
18
+ # @param api_key [String] optional
19
+ # @param host [String] optional - supports for customzing the host of the client (e.g. 'http://localhost:8080')
20
+ # @param logger [Logger] optional
21
+ def initialize(api_key: nil, logger: nil, host: nil)
21
22
  @api_key = api_key
23
+ @host = host
22
24
  @logger = logger
23
25
  end
24
26
 
25
27
  # @return [String]
26
28
  def inspect
27
- masked_api_key = "#{api_key[..2]}***" if api_key
28
- "#<#{self.class.name} api_key=#{masked_api_key.inspect}>"
29
+ props = []
30
+ props << "api_key=#{masked_api_key.inspect}" if @api_key
31
+ props << "host=#{@host.inspect}" if @host
32
+ "#<#{self.class.name} #{props.join(' ')}>"
33
+ end
34
+
35
+ # @return [String]
36
+ def masked_api_key
37
+ "#{api_key[..2]}***" if api_key
29
38
  end
30
39
 
31
40
  # @return [HTTP::Client]
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module OmniAI
4
- VERSION = '1.2.1'
4
+ VERSION = '1.2.2'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omniai
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin Sylvestre