boxcars 0.6.1 → 0.6.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.ruby-version +1 -1
- data/CHANGELOG.md +11 -0
- data/Gemfile.lock +1 -1
- data/lib/boxcars/boxcar/json_engine_boxcar.rb +7 -4
- data/lib/boxcars/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dda5f801d5c9725c2b73f4cc0d69667f243c90684c7a55d45ef91cd0440378cb
|
4
|
+
data.tar.gz: 3d486a0fbc40e4e393a7dd1a646e4c896df842a548c77ab23cb81ec7f6a669b9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f462c9cee5a487fe7f896a0265edcf210cf920633dce4199312557cf5cae2671974c5daf26f70555bb188da377ebc44cef1b3503f2bc56a19f08df151371744a
|
7
|
+
data.tar.gz: e0997b7e0c21d92299fba883781090d25d93566ec8eb4b23b86acdc0d132256e6ece8bc0286b31dec9656d10d9da028d60247b5fa668d506adf5011a961f4a24
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.
|
1
|
+
3.3.3
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,16 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## [v0.6.1](https://github.com/BoxcarsAI/boxcars/tree/v0.6.1) (2024-07-19)
|
4
|
+
|
5
|
+
[Full Changelog](https://github.com/BoxcarsAI/boxcars/compare/v0.5.1...v0.6.1)
|
6
|
+
|
7
|
+
**Merged pull requests:**
|
8
|
+
|
9
|
+
- various updates with Claude 3.5 support [\#197](https://github.com/BoxcarsAI/boxcars/pull/197) ([francis](https://github.com/francis))
|
10
|
+
- \[infra\] Bump rubocop-rspec from 2.30.0 to 3.0.2 [\#195](https://github.com/BoxcarsAI/boxcars/pull/195) ([dependabot[bot]](https://github.com/apps/dependabot))
|
11
|
+
- \[infra\] Bump nokogiri from 1.16.5 to 1.16.6 [\#194](https://github.com/BoxcarsAI/boxcars/pull/194) ([dependabot[bot]](https://github.com/apps/dependabot))
|
12
|
+
- \[infra\] Bump ruby-openai from 7.0.1 to 7.1.0 [\#193](https://github.com/BoxcarsAI/boxcars/pull/193) ([dependabot[bot]](https://github.com/apps/dependabot))
|
13
|
+
|
3
14
|
## [v0.5.1](https://github.com/BoxcarsAI/boxcars/tree/v0.5.1) (2024-06-14)
|
4
15
|
|
5
16
|
[Full Changelog](https://github.com/BoxcarsAI/boxcars/compare/v0.4.10...v0.5.1)
|
data/Gemfile.lock
CHANGED
@@ -5,20 +5,21 @@ module Boxcars
|
|
5
5
|
# For Boxcars that use an engine to do their work.
|
6
6
|
class JSONEngineBoxcar < EngineBoxcar
|
7
7
|
# A JSON Engine Boxcar is a container for a single tool to run.
|
8
|
-
attr_accessor :wanted_data, :data_description, :important
|
8
|
+
attr_accessor :wanted_data, :data_description, :important, :symbolize
|
9
9
|
|
10
10
|
# @param prompt [Boxcars::Prompt] The prompt to use for this boxcar with sane defaults.
|
11
11
|
# @param wanted_data [String] The data to extract from.
|
12
12
|
# @param data_description [String] The description of the data.
|
13
13
|
# @param important [String] Any important instructions you want to give the LLM.
|
14
|
+
# @param symbolize [Boolean] Symbolize the JSON results if true
|
14
15
|
# @param kwargs [Hash] Additional arguments
|
15
|
-
def initialize(prompt: nil, wanted_data: nil, data_description: nil, important: nil, **kwargs)
|
16
|
+
def initialize(prompt: nil, wanted_data: nil, data_description: nil, important: nil, symbolize: false, **kwargs)
|
16
17
|
@wanted_data = wanted_data || "summarize the pertinent facts from the input data"
|
17
18
|
@data_description = data_description || "the input data"
|
18
19
|
@important = important
|
19
20
|
the_prompt = prompt || default_prompt
|
20
|
-
the_prompt.append("\n\nImportant: #{important}\n") if important.present?
|
21
21
|
kwargs[:description] ||= "JSON Engine Boxcar"
|
22
|
+
@symbolize = symbolize
|
22
23
|
super(prompt: the_prompt, **kwargs)
|
23
24
|
end
|
24
25
|
|
@@ -34,6 +35,8 @@ module Boxcars
|
|
34
35
|
%<wanted_data>s
|
35
36
|
}
|
36
37
|
SYSPR
|
38
|
+
stock_prompt += "\n\nImportant:\n#{important}\n" if important.present?
|
39
|
+
|
37
40
|
sprompt = format(stock_prompt, wanted_data: wanted_data, data_description: data_description)
|
38
41
|
ctemplate = [
|
39
42
|
Boxcar.syst(sprompt),
|
@@ -50,7 +53,7 @@ module Boxcars
|
|
50
53
|
# sometimes the LLM adds text in front of the JSON output, so let's strip it here
|
51
54
|
json_start = engine_output.index("{")
|
52
55
|
json_end = engine_output.rindex("}")
|
53
|
-
extract_answer(JSON.parse(engine_output[json_start..json_end]))
|
56
|
+
extract_answer(JSON.parse(engine_output[json_start..json_end], symbolize_names: symbolize))
|
54
57
|
rescue StandardError => e
|
55
58
|
Result.from_error("Error: #{e.message}:\n#{engine_output}")
|
56
59
|
end
|
data/lib/boxcars/version.rb
CHANGED
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.
|
4
|
+
version: 0.6.2
|
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-07-
|
12
|
+
date: 2024-07-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: anthropic
|