pyrit.score.PlagiarismScorer#

class PlagiarismScorer(reference_text: str, metric: PlagiarismMetric = PlagiarismMetric.LCS, n: int = 5)[source]#

Bases: Scorer

A scorer that measures plagiarism by computing word-level similarity between the AI response and a reference text.

This scorer implements three similarity metrics: 1. Word-level longest common subsequence (LCS) 2. Word-level Levenshtein similarity 3. Word-level n-gram Jaccard similarity

__init__(reference_text: str, metric: PlagiarismMetric = PlagiarismMetric.LCS, n: int = 5) None[source]#

Initializes the PlagiarismScorer.

Parameters:
  • reference_text (str) – The reference text to compare against.

  • metric (PlagiarismMetric, optional) – The plagiarism detection metric to use.

  • n (int, optional) – The n-gram size for n-gram similarity (default is 5).

Methods

__init__(reference_text[, metric, n])

Initializes the PlagiarismScorer.

get_identifier()

Returns an identifier dictionary for the scorer.

get_scorer_metrics(dataset_name[, metrics_type])

Returns evaluation statistics for the scorer using the dataset_name of the human labeled dataset that this scorer was run against.

scale_value_float(value, min_value, max_value)

Scales a value from 0 to 1 based on the given min and max values.

score_async(request_response, *[, task])

Score the request_response, add the results to the database and return a list of Score objects.

score_image_async(image_path, *[, task])

Scores the given image using the chat target.

score_prompts_with_tasks_batch_async(*, ...)

score_response_async(*, response, scorers[, ...])

Score a response using multiple scorers in parallel.

score_response_select_first_success_async(*, ...)

Score response pieces sequentially until finding a successful score.

score_response_with_objective_async(*, response)

Score a response using both auxiliary and objective scorers.

score_responses_inferring_tasks_batch_async(*, ...)

Scores a batch of responses (ignores non-assistant messages).

score_text_async(text, *[, task])

Scores the given text based on the task using the chat target.

score_text_batch_async(*, texts[, tasks, ...])

validate(request_response, *[, task])

Validates the request_response piece to score.

Attributes

scorer_type: ScoreType#
validate(request_response: PromptRequestPiece, *, task: str | None = None) None[source]#

Validates the request_response piece to score.

Parameters:
  • request_response (PromptRequestPiece) – The request response to be validated.

  • task (Optional[str]) – Not applicable for this scorer.

Raises:

ValueError – If the request_response is not text data type.