langcheck.metrics.de.source_based_text_quality#
- langcheck.metrics.de.source_based_text_quality.context_relevance(sources: List[str] | str, prompts: List[str] | str, model_type: str = 'openai', openai_client: OpenAI | None = None, openai_args: Dict[str, str] | None = None, *, use_async: bool = False) MetricValue[float | None][source]#
Calculates the relevance of the sources to the prompts. This metric takes on float values between [0, 1], where 0 means that the source text is not at all relevant to the prompt, and 1 means that the source text is fully relevant to the prompt.
We currently support two model types:
1. The ‘openai’ type, where we use OpenAI’s ‘gpt-turbo-3.5’ model by default. While the model you use is configurable, please make sure to use one that supports function calling (https://platform.openai.com/docs/guides/gpt/function-calling). See this page for examples on setting up the OpenAI API key.
2. 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'}- Parameters:
sources – The source text(s), one string per prompt
prompts – The prompt(s)
model_type – The type of model to use (‘openai’ or ‘azure_openai’), default ‘openai’
openai_client – OpenAI or AzureOpenAI client, default None. If this is None, we will attempt to create a default client.
openai_args – Dict of additional args to pass in to the
client.chat.completions.createfunction, default Noneuse_async – Whether to use the asynchronous API for OpenAI, default False
- langcheck.metrics.de.source_based_text_quality.factual_consistency(generated_outputs: List[str] | str, sources: 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, *, use_async: bool = False) MetricValue[float | None][source]#
Calculates the factual consistency between the generated outputs and the sources. This metric takes on float values between [0, 1], where 0 means that the output is not at all consistent with the source text, and 1 means that the output is fully consistent with the source text. (NOTE: when using the OpenAI model, the factuality scores are either 0.0, 0.5, or 1.0. The score may also be None if it could not be computed.)
We currently support three model types:
1. The ‘local’ type, where the ‘unieval-fact’ model is downloaded from HuggingFace and run locally. This is the default model type and there is no setup needed to run this. This function wraps
factual_consistency()using the translation modelHelsinki-NLP/opus-mt-de-ento translate the German texts to English before computing the factual consistency scores. This is because the UniEval-fact model is trained on English text.2. The ‘openai’ type, where we use OpenAI’s ‘gpt-turbo-3.5’ model by default. While the model you use is configurable, please make sure to use one that supports function calling (https://platform.openai.com/docs/guides/gpt/function-calling). See this example 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'}- Parameters:
generated_outputs – The model generated output(s) to evaluate
sources – The source text(s), one string per generated output
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 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.chat.completions.createfunction, default Noneuse_async – Whether to use the asynchronous API for OpenAI, default False
- Returns:
An MetricValue object