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