rubric_llm 0.8.0 → 0.9.0
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 +4 -4
- data/CHANGELOG.md +7 -0
- data/README.md +11 -9
- data/lib/rubric_llm/version.rb +1 -1
- metadata +9 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 73d2f6cf20d68d6f47f15d8f92e9ff7ce8efcd2890bec070037f76879dc022c5
|
|
4
|
+
data.tar.gz: 0d59825beab623fc60f8a4c62a132bce8ab1b6b940364a58f02234bb08e2c546
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8d0e52051db16a2b845fb865d6ab88e43521165752937df2eeb6823dc62e8e0e860516e2d2d2c85f9ff37c414268ac8720516cb2dd9db2dd5911a97577b22552
|
|
7
|
+
data.tar.gz: 3b904616349d102198a71be1188766aedb8c80adce7e8ac45e8ed616f02c0a921bd5c02980a6f49fc37aa12a6819d4acb019db9c557701b8f413980a34c6fa0b
|
data/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,13 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.9.0] - 2026-10-14
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
|
|
12
|
+
- Require RubyLLM `~> 2.1`, `>= 2.1.1` (>= 2.1.1, < 3.0), excluding 2.1.0's fresh-install Faraday dependency resolution defect; Ruby >= 3.4 remains supported
|
|
13
|
+
- Verify RubyLLM 2.1's shared transport connections with offline real-client contracts: outer judge retries retain their HTTP attempt budgets, while independent judge requests keep credentials and conversation history separate
|
|
14
|
+
|
|
8
15
|
## [0.8.0] - 2026-09-22
|
|
9
16
|
|
|
10
17
|
### Changed
|
data/README.md
CHANGED
|
@@ -8,15 +8,15 @@ Lightweight LLM evaluation framework for Ruby, inspired by [DeepEval](https://gi
|
|
|
8
8
|
|
|
9
9
|
Provider-agnostic evaluation with pluggable metrics, statistical A/B comparison, and test framework integration: no Rails, no ActiveRecord, no UI. Works anywhere Ruby runs.
|
|
10
10
|
|
|
11
|
-
RubricLLM
|
|
11
|
+
RubricLLM 0.9.0 requires RubyLLM `~> 2.1`, `>= 2.1.1` (>= 2.1.1, < 3.0) and Ruby 3.4 or later. Applications that use RubyLLM 1.x should stay on RubricLLM `0.5.x`.
|
|
12
12
|
|
|
13
13
|
## Installation
|
|
14
14
|
|
|
15
15
|
Update both gem constraints together:
|
|
16
16
|
|
|
17
17
|
```ruby
|
|
18
|
-
gem "rubric_llm", "~> 0.
|
|
19
|
-
gem "ruby_llm", "~> 2.
|
|
18
|
+
gem "rubric_llm", "~> 0.9.0"
|
|
19
|
+
gem "ruby_llm", "~> 2.1", ">= 2.1.1"
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
Then resolve both gems together:
|
|
@@ -25,12 +25,14 @@ Then resolve both gems together:
|
|
|
25
25
|
bundle update rubric_llm ruby_llm
|
|
26
26
|
```
|
|
27
27
|
|
|
28
|
-
If the application still has a RubyLLM 1.x constraint, update both constraints before running Bundler.
|
|
28
|
+
If the application still has a RubyLLM 1.x constraint, update both constraints before running Bundler. RubyLLM 2.1.1 or later is required: it fixes a fresh-install Faraday dependency resolution problem in 2.1.0.
|
|
29
|
+
|
|
30
|
+
RubyLLM 2.1's `RubyLLM::Judge` and `RubyLLM::Evaluation` are separate upstream APIs. RubricLLM keeps its own judge, metrics, and reports; this upgrade does not switch evaluation engines.
|
|
29
31
|
|
|
30
32
|
Or install directly:
|
|
31
33
|
|
|
32
34
|
```bash
|
|
33
|
-
gem install rubric_llm --version 0.
|
|
35
|
+
gem install rubric_llm --version 0.9.0
|
|
34
36
|
```
|
|
35
37
|
|
|
36
38
|
## Quick Start
|
|
@@ -90,7 +92,7 @@ RubyLLM.configure do |config|
|
|
|
90
92
|
end
|
|
91
93
|
```
|
|
92
94
|
|
|
93
|
-
Structured output support depends on the selected provider and model. RubricLLM sends its schema when RubyLLM reports structured output support. Otherwise it requests JSON text and validates the response object and score locally. Check the target provider's support before relying on a schema or a specific protocol. See RubyLLM's [
|
|
95
|
+
Structured output support depends on the selected provider and model. RubricLLM sends its schema when RubyLLM reports structured output support. Otherwise it requests JSON text and validates the response object and score locally. Check the target provider's support before relying on a schema or a specific protocol. See RubyLLM's [upgrade guide](https://rubyllm.com/upgrading/), [request control guide](https://rubyllm.com/chat-request-control/), and [structured output support](https://rubyllm.com/structured-output/).
|
|
94
96
|
|
|
95
97
|
### Judge Thinking Effort
|
|
96
98
|
|
|
@@ -153,11 +155,11 @@ RubricLLM.configure do |c|
|
|
|
153
155
|
end
|
|
154
156
|
```
|
|
155
157
|
|
|
156
|
-
RubricLLM has no Rails models or database migrations. If the application also uses RubyLLM's Rails persistence, follow RubyLLM's
|
|
158
|
+
RubricLLM has no Rails models or database migrations. If the application also uses RubyLLM's Rails persistence, follow RubyLLM's [upgrade guide](https://rubyllm.com/upgrading/) and run its migrations separately.
|
|
157
159
|
|
|
158
160
|
### Retries
|
|
159
161
|
|
|
160
|
-
RubyLLM transport retries and RubricLLM judge retries remain separate. With RubyLLM's default `config.max_retries = 3` and RubricLLM's default `max_retries: 2`, one retryable metric failure can produce up to `(3 + 1) * (2 + 1) = 12` HTTP attempts. Set `RUBRIC_MAX_RETRIES` and `RUBRIC_RETRY_BASE_DELAY` for RubricLLM's layer, and set RubyLLM's `config.max_retries` and related transport settings for its layer. RubricLLM
|
|
162
|
+
RubyLLM transport retries and RubricLLM judge retries remain separate. With RubyLLM's default `config.max_retries = 3` and RubricLLM's default `max_retries: 2`, one retryable metric failure can produce up to `(3 + 1) * (2 + 1) = 12` HTTP attempts. Set `RUBRIC_MAX_RETRIES` and `RUBRIC_RETRY_BASE_DELAY` for RubricLLM's layer, and set RubyLLM's `config.max_retries` and related transport settings for its layer. RubricLLM does not combine or redesign these retry layers. RubyLLM 2.1 reuses transport connections for matching settings, including across RubricLLM's outer retries; this does not change the HTTP attempt budgets or share judge conversation history.
|
|
161
163
|
|
|
162
164
|
RubyLLM classifies OpenAI's HTTP 429 `insufficient_quota` response as a rate-limit error, so an exhausted account uses both retry budgets and their delays before the error is returned.
|
|
163
165
|
|
|
@@ -426,7 +428,7 @@ Deep dives live in the [project wiki](https://github.com/dpaluy/rubric_llm/wiki)
|
|
|
426
428
|
## Requirements
|
|
427
429
|
|
|
428
430
|
- Ruby >= 3.4
|
|
429
|
-
- [ruby_llm](https://github.com/crmne/ruby_llm)
|
|
431
|
+
- [ruby_llm](https://github.com/crmne/ruby_llm) >= 2.1.1, < 3.0 for the current development version
|
|
430
432
|
- An API key for your chosen LLM provider (set via RubyLLM configuration)
|
|
431
433
|
|
|
432
434
|
## Contributing
|
data/lib/rubric_llm/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rubric_llm
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.9.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- David Paluy
|
|
@@ -29,14 +29,20 @@ dependencies:
|
|
|
29
29
|
requirements:
|
|
30
30
|
- - "~>"
|
|
31
31
|
- !ruby/object:Gem::Version
|
|
32
|
-
version: '2.
|
|
32
|
+
version: '2.1'
|
|
33
|
+
- - ">="
|
|
34
|
+
- !ruby/object:Gem::Version
|
|
35
|
+
version: 2.1.1
|
|
33
36
|
type: :runtime
|
|
34
37
|
prerelease: false
|
|
35
38
|
version_requirements: !ruby/object:Gem::Requirement
|
|
36
39
|
requirements:
|
|
37
40
|
- - "~>"
|
|
38
41
|
- !ruby/object:Gem::Version
|
|
39
|
-
version: '2.
|
|
42
|
+
version: '2.1'
|
|
43
|
+
- - ">="
|
|
44
|
+
- !ruby/object:Gem::Version
|
|
45
|
+
version: 2.1.1
|
|
40
46
|
description: Provider-agnostic LLM evaluation with pluggable metrics, statistical
|
|
41
47
|
A/B comparison, and test framework integration. Ragas for Ruby, powered by RubyLLM.
|
|
42
48
|
email:
|