Module: RSpec::LLM::DSL

Included in:
RSpec
Defined in:
lib/rspec/llm/dsl.rb

Overview

Lightweight DSL for grouping LLM evaluations. Sugar over describe + it.

RSpec.describe_llm "Summarizer" do
evaluate "single sentence",
  prompt: "Summarize: ...",
  expect: [pass_llm_judge("is one sentence"), match_llm_intent("a summary")]
end

Defined Under Namespace

Modules: GroupMethods

Instance Method Summary collapse

Instance Method Details

#describe_llm(*args, &user_block) ⇒ Object

Defines RSpec.describe_llm — a sugar for RSpec.describe that extends the resulting example group with GroupMethods so evaluate is available inside the user's block.



31
32
33
34
35
36
# File 'lib/rspec/llm/dsl.rb', line 31

def describe_llm(*args, &user_block)
  describe(*args) do
    extend(::RSpec::LLM::DSL::GroupMethods)
    class_exec(&user_block) if user_block
  end
end