boxcars 0.6.5 → 0.6.6

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: 164d55b95e134a691b4525f778a83f6d06cdaa1948028b87371cb6cb8a16fd43
4
- data.tar.gz: 2707ac063bbc1127d75398be8770812ae258447ba021c0b9527cd3fbf113ff02
3
+ metadata.gz: 93deffd0bbce00b58479a93a7c20afdd59fa029bff798d3e90abafb37569ae83
4
+ data.tar.gz: 314f504e1b061856c90951730b9d3c8465174eaa007363a12c8805ee1e36fc32
5
5
  SHA512:
6
- metadata.gz: 8b0d7909ef7c049d7c393b646abd072c01dd4b295a7af909bbe2f85fe48b8425c946f956440548fa3902182c636d3e57e81279332d331a9d7c4df4181cd4e4d5
7
- data.tar.gz: ed1c903fb5575ae563ccab8adb0e80cfed9c00e529a5850fc7b89acaf165eecaf42e69cdd548cdec3622855645b5bf88591b3d6a6cb1af47bfbe97d5d6d16ad9
6
+ metadata.gz: 29fc4a409bd98e4528142e295a09727b3a5b0c156343d365601f07852f5f09333ebe6a4a1c798e2e0890420e7414c6be5fa17dd02aa40f528375a207fd74da04
7
+ data.tar.gz: a317992e392cda328242487910713cd82968ca371783072564379d3a806c1a8e831d00eace9ea6df80da4bc569526f97ecd1b1a6c133b4b5d7bb43ee8c1b305a
data/CHANGELOG.md CHANGED
@@ -1,5 +1,31 @@
1
1
  # Changelog
2
2
 
3
+ ## [v0.6.5](https://github.com/BoxcarsAI/boxcars/tree/v0.6.5) (2024-10-04)
4
+
5
+ [Full Changelog](https://github.com/BoxcarsAI/boxcars/compare/v0.6.4...v0.6.5)
6
+
7
+ **Closed issues:**
8
+
9
+ - Consider methods to prevent hallucinations and incorrect answers [\#89](https://github.com/BoxcarsAI/boxcars/issues/89)
10
+ - Fix: change SQL Boxcar to use the name of the database in the prompt [\#14](https://github.com/BoxcarsAI/boxcars/issues/14)
11
+
12
+ **Merged pull requests:**
13
+
14
+ - Update ruby [\#217](https://github.com/BoxcarsAI/boxcars/pull/217) ([francis](https://github.com/francis))
15
+ - \[infra\] Bump rubocop-rspec from 3.0.4 to 3.1.0 [\#216](https://github.com/BoxcarsAI/boxcars/pull/216) ([dependabot[bot]](https://github.com/apps/dependabot))
16
+ - \[infra\] Bump pg from 1.5.7 to 1.5.8 [\#214](https://github.com/BoxcarsAI/boxcars/pull/214) ([dependabot[bot]](https://github.com/apps/dependabot))
17
+ - \[infra\] Bump dotenv from 3.1.2 to 3.1.4 [\#213](https://github.com/BoxcarsAI/boxcars/pull/213) ([dependabot[bot]](https://github.com/apps/dependabot))
18
+ - \[infra\] Bump rubocop from 1.65.1 to 1.66.1 [\#212](https://github.com/BoxcarsAI/boxcars/pull/212) ([dependabot[bot]](https://github.com/apps/dependabot))
19
+ - \[infra\] Bump activesupport from 7.1.3.4 to 7.1.4 [\#211](https://github.com/BoxcarsAI/boxcars/pull/211) ([dependabot[bot]](https://github.com/apps/dependabot))
20
+ - \[infra\] Bump activerecord from 7.1.3.4 to 7.1.4 [\#210](https://github.com/BoxcarsAI/boxcars/pull/210) ([dependabot[bot]](https://github.com/apps/dependabot))
21
+ - \[infra\] Bump rexml from 3.3.4 to 3.3.6 [\#209](https://github.com/BoxcarsAI/boxcars/pull/209) ([dependabot[bot]](https://github.com/apps/dependabot))
22
+ - \[infra\] Bump vcr from 6.3.0 to 6.3.1 [\#208](https://github.com/BoxcarsAI/boxcars/pull/208) ([dependabot[bot]](https://github.com/apps/dependabot))
23
+ - \[infra\] Bump vcr from 6.2.0 to 6.3.0 [\#207](https://github.com/BoxcarsAI/boxcars/pull/207) ([dependabot[bot]](https://github.com/apps/dependabot))
24
+ - \[infra\] Bump rubocop-rspec from 3.0.3 to 3.0.4 [\#205](https://github.com/BoxcarsAI/boxcars/pull/205) ([dependabot[bot]](https://github.com/apps/dependabot))
25
+ - \[infra\] Bump rubocop from 1.65.0 to 1.65.1 [\#204](https://github.com/BoxcarsAI/boxcars/pull/204) ([dependabot[bot]](https://github.com/apps/dependabot))
26
+ - \[infra\] Bump nokogiri from 1.16.6 to 1.16.7 [\#202](https://github.com/BoxcarsAI/boxcars/pull/202) ([dependabot[bot]](https://github.com/apps/dependabot))
27
+ - \[infra\] Bump pg from 1.5.6 to 1.5.7 [\#201](https://github.com/BoxcarsAI/boxcars/pull/201) ([dependabot[bot]](https://github.com/apps/dependabot))
28
+
3
29
  ## [v0.6.4](https://github.com/BoxcarsAI/boxcars/tree/v0.6.4) (2024-07-27)
4
30
 
5
31
  [Full Changelog](https://github.com/BoxcarsAI/boxcars/compare/v0.6.3...v0.6.4)
data/Gemfile CHANGED
@@ -11,7 +11,7 @@ gem "dotenv", "~> 3.1"
11
11
 
12
12
  gem "rake", "~> 13.2"
13
13
 
14
- gem "sqlite3", "~> 1.7"
14
+ gem "sqlite3", "~> 2.0"
15
15
 
16
16
  gem "async", "~>1.32.1"
17
17
 
@@ -32,9 +32,9 @@ gem "pgvector", "~> 0.2.2"
32
32
 
33
33
  group :development, :test do
34
34
  gem "rspec", "~> 3.13"
35
- gem "rubocop", "~> 1.66"
35
+ gem "rubocop", "~> 1.67"
36
36
  gem "vcr", "~> 6.3.1"
37
- gem "webmock", "~> 3.23.1"
37
+ gem "webmock", "~> 3.24.0"
38
38
  gem "rubocop-rake", "~> 0.6.0"
39
- gem "rubocop-rspec", "~> 3.1"
39
+ gem "rubocop-rspec", "~> 3.2"
40
40
  end
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- boxcars (0.6.5)
4
+ boxcars (0.6.6)
5
5
  anthropic (~> 0.1)
6
6
  google_search_results (~> 2.2)
7
7
  gpt4all (~> 0.0.4)
@@ -13,13 +13,13 @@ PATH
13
13
  GEM
14
14
  remote: https://rubygems.org/
15
15
  specs:
16
- activemodel (7.1.4)
17
- activesupport (= 7.1.4)
18
- activerecord (7.1.4)
19
- activemodel (= 7.1.4)
20
- activesupport (= 7.1.4)
16
+ activemodel (7.1.4.2)
17
+ activesupport (= 7.1.4.2)
18
+ activerecord (7.1.4.2)
19
+ activemodel (= 7.1.4.2)
20
+ activesupport (= 7.1.4.2)
21
21
  timeout (>= 0.4.0)
22
- activesupport (7.1.4)
22
+ activesupport (7.1.4.2)
23
23
  base64
24
24
  bigdecimal
25
25
  concurrent-ruby (~> 1.0, >= 1.0.2)
@@ -31,7 +31,7 @@ GEM
31
31
  tzinfo (~> 2.0)
32
32
  addressable (2.8.7)
33
33
  public_suffix (>= 2.0.2, < 7.0)
34
- anthropic (0.3.0)
34
+ anthropic (0.3.2)
35
35
  event_stream_parser (>= 0.3.0, < 2.0.0)
36
36
  faraday (>= 1)
37
37
  faraday-multipart (>= 1)
@@ -74,14 +74,15 @@ GEM
74
74
  dotenv (3.1.4)
75
75
  drb (2.2.1)
76
76
  event_stream_parser (1.0.0)
77
- faraday (2.10.0)
78
- faraday-net_http (>= 2.0, < 3.2)
77
+ faraday (2.12.0)
78
+ faraday-net_http (>= 2.0, < 3.4)
79
+ json
79
80
  logger
80
81
  faraday-http-cache (2.5.1)
81
82
  faraday (>= 0.8)
82
83
  faraday-multipart (1.0.4)
83
84
  multipart-post (~> 2)
84
- faraday-net_http (3.1.1)
85
+ faraday-net_http (3.3.0)
85
86
  net-http
86
87
  faraday-retry (2.2.1)
87
88
  faraday (~> 2.0)
@@ -103,20 +104,20 @@ GEM
103
104
  faraday (~> 2.7)
104
105
  os (~> 1.1)
105
106
  tty-progressbar (~> 0.18.2)
106
- hashdiff (1.1.0)
107
+ hashdiff (1.1.1)
107
108
  hnswlib (0.9.0)
108
109
  http-accept (1.7.0)
109
110
  http-cookie (1.0.6)
110
111
  domain_name (~> 0.5)
111
- i18n (1.14.5)
112
+ i18n (1.14.6)
112
113
  concurrent-ruby (~> 1.0)
113
114
  io-console (0.7.2)
114
115
  irb (1.14.0)
115
116
  rdoc (>= 4.0.0)
116
117
  reline (>= 0.4.2)
117
- json (2.7.2)
118
+ json (2.7.5)
118
119
  language_server-protocol (3.17.0.3)
119
- logger (1.6.0)
120
+ logger (1.6.1)
120
121
  mime-types (3.5.2)
121
122
  mime-types-data (~> 3.2015)
122
123
  mime-types-data (3.2024.0702)
@@ -151,7 +152,7 @@ GEM
151
152
  protocol-http (~> 0.18)
152
153
  psych (5.1.2)
153
154
  stringio
154
- public_suffix (6.0.0)
155
+ public_suffix (6.0.1)
155
156
  racc (1.8.1)
156
157
  rainbow (3.1.1)
157
158
  rake (13.2.1)
@@ -165,7 +166,7 @@ GEM
165
166
  http-cookie (>= 1.0.2, < 2.0)
166
167
  mime-types (>= 1.16, < 4.0)
167
168
  netrc (~> 0.8)
168
- rexml (3.3.8)
169
+ rexml (3.3.9)
169
170
  rspec (3.13.0)
170
171
  rspec-core (~> 3.13.0)
171
172
  rspec-expectations (~> 3.13.0)
@@ -179,7 +180,7 @@ GEM
179
180
  diff-lcs (>= 1.2.0, < 2.0)
180
181
  rspec-support (~> 3.13.0)
181
182
  rspec-support (3.13.1)
182
- rubocop (1.66.1)
183
+ rubocop (1.67.0)
183
184
  json (~> 2.3)
184
185
  language_server-protocol (>= 3.17.0)
185
186
  parallel (~> 1.10)
@@ -189,13 +190,13 @@ GEM
189
190
  rubocop-ast (>= 1.32.2, < 2.0)
190
191
  ruby-progressbar (~> 1.7)
191
192
  unicode-display_width (>= 2.4.0, < 3.0)
192
- rubocop-ast (1.32.3)
193
+ rubocop-ast (1.33.0)
193
194
  parser (>= 3.3.1.0)
194
195
  rubocop-rake (0.6.0)
195
196
  rubocop (~> 1.0)
196
- rubocop-rspec (3.1.0)
197
+ rubocop-rspec (3.2.0)
197
198
  rubocop (~> 1.61)
198
- ruby-openai (7.1.0)
199
+ ruby-openai (7.3.1)
199
200
  event_stream_parser (>= 0.3.0, < 2.0.0)
200
201
  faraday (>= 1)
201
202
  faraday-multipart (>= 1)
@@ -203,8 +204,8 @@ GEM
203
204
  sawyer (0.9.2)
204
205
  addressable (>= 2.3.5)
205
206
  faraday (>= 0.17.3, < 3)
206
- sqlite3 (1.7.3-arm64-darwin)
207
- sqlite3 (1.7.3-x86_64-linux)
207
+ sqlite3 (2.0.4-arm64-darwin)
208
+ sqlite3 (2.0.4-x86_64-linux-gnu)
208
209
  stringio (3.1.1)
209
210
  strings-ansi (0.2.0)
210
211
  timeout (0.4.1)
@@ -220,10 +221,10 @@ GEM
220
221
  tzinfo (2.0.6)
221
222
  concurrent-ruby (~> 1.0)
222
223
  unicode-display_width (2.6.0)
223
- uri (0.13.0)
224
+ uri (0.13.1)
224
225
  vcr (6.3.1)
225
226
  base64
226
- webmock (3.23.1)
227
+ webmock (3.24.0)
227
228
  addressable (>= 2.8.0)
228
229
  crack (>= 0.3.2)
229
230
  hashdiff (>= 0.4.0, < 2.0.0)
@@ -249,12 +250,12 @@ DEPENDENCIES
249
250
  rake (~> 13.2)
250
251
  rest-client (~> 2.1)
251
252
  rspec (~> 3.13)
252
- rubocop (~> 1.66)
253
+ rubocop (~> 1.67)
253
254
  rubocop-rake (~> 0.6.0)
254
- rubocop-rspec (~> 3.1)
255
- sqlite3 (~> 1.7)
255
+ rubocop-rspec (~> 3.2)
256
+ sqlite3 (~> 2.0)
256
257
  vcr (~> 6.3.1)
257
- webmock (~> 3.23.1)
258
+ webmock (~> 3.24.0)
258
259
 
259
260
  BUNDLED WITH
260
261
  2.4.16
@@ -45,6 +45,7 @@ module Boxcars
45
45
  # @param anthropic_api_key [String] Optional api key to use when asking the engine.
46
46
  # Defaults to Boxcars.configuration.anthropic_api_key.
47
47
  # @param kwargs [Hash] Additional parameters to pass to the engine if wanted.
48
+ # rubocop:disable Metrics/PerceivedComplexity
48
49
  def client(prompt:, inputs: {}, **kwargs)
49
50
  model_params = llm_params.merge(kwargs)
50
51
  api_key = Boxcars.configuration.anthropic_api_key(**kwargs)
@@ -54,6 +55,9 @@ module Boxcars
54
55
  if conversation_model?(model_params[:model])
55
56
  params = convert_to_anthropic(prompt.as_messages(inputs).merge(model_params))
56
57
  if Boxcars.configuration.log_prompts
58
+ if params[:messages].length < 2 && params[:system].present?
59
+ Boxcars.debug(">>>>>> Role: system <<<<<<\n#{params[:system]}")
60
+ end
57
61
  Boxcars.debug(params[:messages].last(2).map { |p| ">>>>>> Role: #{p[:role]} <<<<<<\n#{p[:content]}" }.join("\n"), :cyan)
58
62
  end
59
63
  response = aclient.messages(parameters: params)
@@ -68,6 +72,7 @@ module Boxcars
68
72
  aclient.complete(parameters: params)
69
73
  end
70
74
  end
75
+ # rubocop:enable Metrics/PerceivedComplexity
71
76
 
72
77
  # get an answer from the engine for a question.
73
78
  # @param question [String] The question to ask the engine.
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Boxcars
4
4
  # The current version of the gem.
5
- VERSION = "0.6.5"
5
+ VERSION = "0.6.6"
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: boxcars
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.5
4
+ version: 0.6.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Francis Sullivan
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2024-10-04 00:00:00.000000000 Z
12
+ date: 2024-11-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: anthropic
@@ -219,7 +219,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
219
219
  - !ruby/object:Gem::Version
220
220
  version: '0'
221
221
  requirements: []
222
- rubygems_version: 3.5.20
222
+ rubygems_version: 3.5.23
223
223
  signing_key:
224
224
  specification_version: 4
225
225
  summary: Boxcars is a gem that enables you to create new systems with AI composability.