DeepEvalEx.LLM.Adapters.Mock (DeepEvalEx v0.1.0)

View Source

Mock LLM adapter for testing.

This adapter allows you to provide pre-configured responses for testing without making actual API calls.

Usage in Tests

# Configure mock responses
DeepEvalEx.LLM.Adapters.Mock.set_response("What is 2+2?", "4")

# Or use pattern matching
DeepEvalEx.LLM.Adapters.Mock.set_response(~r/capital.*France/, "Paris")

# Use the mock adapter
{:ok, result} = DeepEvalEx.evaluate(test_case, [metric],
  adapter: :mock
)

With Structured Outputs

DeepEvalEx.LLM.Adapters.Mock.set_schema_response(
  ~r/extract claims/,
  %{"claims" => ["claim 1", "claim 2"]}
)

Summary

Functions

Clears recorded prompts.

Clears all configured mock responses.

Records all prompts sent to this adapter (for assertions).

Sets a mock response for a given prompt pattern.

Sets a mock response for structured output requests.

Functions

clear_recorded_prompts()

@spec clear_recorded_prompts() :: :ok

Clears recorded prompts.

clear_responses()

@spec clear_responses() :: :ok

Clears all configured mock responses.

get_recorded_prompts()

@spec get_recorded_prompts() :: [String.t()]

Records all prompts sent to this adapter (for assertions).

set_response(pattern, response)

@spec set_response(String.t() | Regex.t(), String.t()) :: :ok

Sets a mock response for a given prompt pattern.

Parameters

  • pattern - String (exact match) or Regex (pattern match)
  • response - The response to return

set_schema_response(pattern, response)

@spec set_schema_response(String.t() | Regex.t(), map()) :: :ok

Sets a mock response for structured output requests.