evals.templates#

class ClassificationTemplate(rails: List[str], template: str, explanation_template: str | None = None, explanation_label_parser: Callable[[str], str] | None = None, delimiters: Tuple[str, str] = ('{', '}'), scores: List[float] | None = None)#

Bases: PromptTemplate

extract_label_from_explanation(raw_string: str) str#
prompt(options: PromptOptions | None = None) str#
score(rail: str) float#
exception InvalidClassificationTemplateError#

Bases: PhoenixException

class PromptOptions(provide_explanation: bool = False)#

Bases: object

provide_explanation: bool = False#
class PromptTemplate(template: str, delimiters: Tuple[str, str] = ('{', '}'))#

Bases: object

format(variable_values: Mapping[str, bool | int | float | str], options: PromptOptions | None = None) str#
prompt(options: PromptOptions | None = None) str#
template: str#
variables: List[str]#
map_template(dataframe: DataFrame, template: PromptTemplate, options: PromptOptions | None = None) pd.Series[str]#

Maps over a dataframe to construct a list of prompts from a template and a dataframe.

normalize_classification_template(rails: List[str], template: PromptTemplate | ClassificationTemplate | str) ClassificationTemplate#

Normalizes a template to a ClassificationTemplate object. :param template: The template to be normalized. :type template: Union[ClassificationTemplate, str]

Returns:

The normalized template.

Return type:

ClassificationTemplate

normalize_prompt_template(template: PromptTemplate | str) PromptTemplate#

Normalizes a template to a PromptTemplate object. :param template: The template to be normalized. :type template: Union[PromptTemplate, str]

Returns:

The normalized template.

Return type:

PromptTemplate

parse_label_from_chain_of_thought_response(raw_string: str) str#