langcheck.metrics.ja.reference_based_text_quality#
- langcheck.metrics.ja.reference_based_text_quality.rouge1(generated_outputs: List[str] | str, reference_outputs: List[str] | str, prompts: List[str] | str | None = None, *, tokenizer: Tokenizer | None = None) MetricValue[float][source]#
Calculates the F1 metrics of the ROUGE-1 scores between the generated (single tokens) between the generated outputs and the reference outputs. This metric takes on float values between [0, 1], where 0 is no overlap and 1 is complete overlap.
- Parameters:
generated_outputs – The model generated output(s) to evaluate
reference_outputs – The reference output(s)
prompts – The prompts used to generate the output(s). Prompts are optional metadata and not used to calculate the metric.
- Returns:
An MetricValue object
- langcheck.metrics.ja.reference_based_text_quality.rouge2(generated_outputs: List[str] | str, reference_outputs: List[str] | str, prompts: List[str] | str | None = None, *, tokenizer: Tokenizer | None = None) MetricValue[float][source]#
Calculates the F1 metrics of the ROUGE-2 scores between the generated outputs and the reference outputs. It evaluates the overlap of bigrams (two adjacent tokens) between the generated outputs and the reference outputs. This metric takes on float values between [0, 1], where 0 is no overlap and 1 is complete overlap.
- Parameters:
generated_outputs – The model generated output(s) to evaluate
reference_outputs – The reference output(s)
prompts – The prompts used to generate the output(s). Prompts are optional metadata and not used to calculate the metric.
- Returns:
An MetricValue object
- langcheck.metrics.ja.reference_based_text_quality.rougeL(generated_outputs: List[str] | str, reference_outputs: List[str] | str, prompts: List[str] | str | None = None, *, tokenizer: Tokenizer | None = None) MetricValue[float][source]#
Calculates the F1 metrics of the ROUGE-L scores between the generated outputs and the reference outputs. It evaluates the longest common subsequence (LCS) between the generated outputs and the reference outputs. This metric takes on float values between [0, 1], where 0 means that the LCS is empty and 1 means that the reference and generated outputs are the same.
- Parameters:
generated_outputs – The model generated output(s) to evaluate
reference_outputs – The reference output(s)
prompts – The prompts used to generate the output(s). Prompts are optional metadata and not used to calculate the metric.
- Returns:
An MetricValue object
- langcheck.metrics.ja.reference_based_text_quality.semantic_similarity(generated_outputs: List[str] | str, reference_outputs: List[str] | str, prompts: List[str] | str | None = None, model_type: str = 'local', openai_client: OpenAI | None = None, openai_args: Dict[str, str] | None = None) MetricValue[float][source]#
Calculates the semantic similarities between the generated outputs and the reference outputs. The similarities are computed as the cosine similarities between the generated and reference embeddings. This metric takes on float values between [-1, 1], but typically ranges between 0 and 1 where 0 is minimum similarity and 1 is maximum similarity. (NOTE: when using OpenAI embeddings, the cosine similarities tend to be skewed quite heavily towards higher numbers.)
We currently support three embedding model types:
1. The ‘local’ type, where the ‘paraphrase-multilingual-mpnet-base-v2’ model is downloaded from HuggingFace and run locally. This is the default model type and there is no setup needed to run this.
2. The ‘openai’ type, where we use OpenAI’s ‘text-embedding-ada-002’ model by default (this is configurable). See this page for examples on setting up the OpenAI API key.
3. The ‘azure_openai’ type. Essentially the same as the ‘openai’ type, except that it uses the AzureOpenAI client. Note that you must specify your model deployment to use in
openai_args, e.g.openai_args={'model': 'YOUR_DEPLOYMENT_NAME'}- Ref:
https://huggingface.co/tasks/sentence-similarity https://www.sbert.net/docs/usage/semantic_textual_similarity.html https://openai.com/blog/new-and-improved-embedding-model
- Parameters:
generated_outputs – The model generated output(s) to evaluate
reference_outputs – The reference output(s)
prompts – The prompts used to generate the output(s). Prompts are optional metadata and not used to calculate the metric.
model_type – The type of embedding model to use (‘local’, ‘openai’, or ‘azure_openai’), default ‘local’
openai_client – OpenAI or AzureOpenAI client, default None. If this is None but
model_typeis ‘openai’ or ‘azure_openai’, we will attempt to create a default client.openai_args – Dict of additional args to pass in to the
client.embeddings.createfunction, default None
- Returns:
An
MetricValueobject