llm.rb 0.7.1 → 0.7.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: 7d5d93a645b666da3d6947c2076189063aec26e7bc3381cfb84d6a6aea4ce8fa
4
- data.tar.gz: db764cd8e9180a3c21ca5bf2b35d8a5fa3f525cb63101381aca09f9e92cb5d37
3
+ metadata.gz: 2c8c175d5b640f4d04e114569781bb2cad10b17f76489f4eaecd2ea7963c2baf
4
+ data.tar.gz: b00e4c4b7bf9211157e66f1ac015540ecec86b1f4d6d8b3bcaa46068ac97fbaf
5
5
  SHA512:
6
- metadata.gz: c17999419e02e8c2d9d689299d149dd76077b1f52154557253dd9fe3876ff1109eaaa29d7d7aceda8147f38aa572261b455eaa253fbede212b874af42c8e03e0
7
- data.tar.gz: 1061af3f752a1e8cbc37c8929a23f6bfa97328f66f3adf030e435f468785ffa6a3aae32fe5120936f872b60d8a48a31fcbf35cee0de66b8ee12ddedf17228beb
6
+ metadata.gz: e1d27b0fa9a59ec4baf55e7863675c71827c66af091f4b4d2db268e08d83709bbb87c23175c0dda8e2583ced40a2c76bafcba95f118ec64e6f44245878e668dd
7
+ data.tar.gz: 0201f576e4180dfef2ace9b699711eb013ac4556baf2bc9a584060000ec94fb7f764d1bb1e0d9d8187f76deeea6761e2323f661974e5e93fb50a29e0a62207d8
data/lib/llm/provider.rb CHANGED
@@ -193,6 +193,20 @@ class LLM::Provider
193
193
  end
194
194
  end
195
195
 
196
+ ##
197
+ # Add one or more headers to all requests
198
+ # @example
199
+ # llm = LLM.openai(key: ENV["KEY"])
200
+ # llm.with(headers: {"OpenAI-Organization" => ENV["ORG"]})
201
+ # llm.with(headers: {"OpenAI-Project" => ENV["PROJECT"]})
202
+ # @param [Hash<String,String>] headers
203
+ # One or more headers
204
+ # @return [LLM::Provider]
205
+ # Returns self
206
+ def with(headers:)
207
+ tap { (@headers ||= {}).merge!(headers) }
208
+ end
209
+
196
210
  private
197
211
 
198
212
  ##
@@ -84,11 +84,11 @@ module LLM
84
84
  private
85
85
 
86
86
  def headers
87
- {
87
+ (@headers || {}).merge(
88
88
  "Content-Type" => "application/json",
89
89
  "x-api-key" => @key,
90
90
  "anthropic-version" => "2023-06-01"
91
- }
91
+ )
92
92
  end
93
93
 
94
94
  def response_parser
@@ -131,9 +131,9 @@ module LLM
131
131
  private
132
132
 
133
133
  def headers
134
- {
134
+ (@headers || {}).merge(
135
135
  "Content-Type" => "application/json"
136
- }
136
+ )
137
137
  end
138
138
 
139
139
  def response_parser
@@ -95,10 +95,10 @@ module LLM
95
95
  private
96
96
 
97
97
  def headers
98
- {
98
+ (@headers || {}).merge(
99
99
  "Content-Type" => "application/json",
100
100
  "Authorization" => "Bearer #{@key}"
101
- }
101
+ )
102
102
  end
103
103
 
104
104
  def response_parser
@@ -119,10 +119,10 @@ module LLM
119
119
  private
120
120
 
121
121
  def headers
122
- {
122
+ (@headers || {}).merge(
123
123
  "Content-Type" => "application/json",
124
124
  "Authorization" => "Bearer #{@key}"
125
- }
125
+ )
126
126
  end
127
127
 
128
128
  def response_parser
data/lib/llm/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module LLM
4
- VERSION = "0.7.1"
4
+ VERSION = "0.7.2"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: llm.rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
4
+ version: 0.7.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Antar Azri