Tribunal.Assertions.Embedding (Tribunal v1.4.0)

Copy Markdown View Source

Embedding-based semantic similarity assertions.

Requires alike dependency. Uses sentence embeddings to determine if two texts are semantically similar.

Summary

Functions

Returns list of available embedding assertion types.

Evaluates semantic similarity between actual and expected output.

Functions

available()

Returns list of available embedding assertion types.

evaluate(test_case, opts \\ [])

Evaluates semantic similarity between actual and expected output.

Options

  • :threshold - Similarity threshold (0.0 to 1.0). Default: 0.7
  • :alike_fn - Custom similarity function for testing (default: Alike.similarity/3)

Examples

test_case = %TestCase{
  actual_output: "The cat is sleeping",
  expected_output: "A feline is resting"
}

{:pass, %{similarity: 0.85}} = Embedding.evaluate(test_case, threshold: 0.8)