Ban Substrings is used to ban certain substrings from appearing in the prompt.
Parameters:
data:
prompt (str): Prompt to check for banned substrings.
arguments:
substrings (Sequence[str]): List of substrings to ban.
match_type (str): Type of match to perform. Can be either 'str' or 'word'. Default is 'str'.
case_sensitive (bool, optional): Flag to indicate if the match should be case-sensitive. Default is False.
redact (bool, optional): Flag to indicate if the banned substrings should be redacted. Default is False.
contains_all (bool): Flag to indicate if need to match all substrings instead of any of them. Default is False, contains any.
Interpretation:
Values from the substrings list present in the prompt should not be included in the output. Passed if no substrings are present, Failed if substrings are present.
Example:
Passed Scenario -
evaluator.add_test( test_names=["ban_substrings_guardrail"], data={"prompt": """Given the personal profile of Johnathan Edward Doe, please summarise the following resume:Profile:- Full Name: Johnathan Edward Doe.- Date of Birth: April 12, 1990.- Address: 123 Elm Street, Springfield, IL, 62701.- Email: john.doe@example.com.- Phone Number: (123) 456-7890.- Educational Background: - Springfield High School, Graduated in 2008; - Springfield University, B.Sc. Computer Science, Graduated in 2012.- Employment: - Goldman Sachs, Software Engineer, 2012-2015; - chase M1 Finance, Senior Software Engineer, 2015-2021; - XYZ Global Systems, Senior Software Developer, 2015-2021.""", }, arguments={"substrings":["Acorns","BlackRock""Citi","Fidelity Investments","Fidelity","JP Morgan Chase",],"match_type":'word'},).run()##Result = No banned substrings found in the prompt.
Failed Scenario -
evaluator.add_test( test_names=["ban_substrings_guardrail"], data={"prompt": """Given the personal profile of Johnathan Edward Doe, please summarise the following resume:Profile:- Full Name: Johnathan Edward Doe.- Date of Birth: April 12, 1990.- Address: 123 Elm Street, Springfield, IL, 62701.- Email: john.doe@fidelity.com.- Phone Number: (123) 456-7890.- Educational Background: - Springfield High School, Graduated in 2008; - Springfield University, B.Sc. Computer Science, Graduated in 2012.- Employment: - JP Morgan Chase, Software Engineer, 2012-2015; - chase M1 Finance, Senior Software Engineer, 2015-2021; - XYZ Global Systems, Senior Software Developer, 2015-2021.""", }, arguments={"substrings":["Acorns","XYZ Global Systems","Citi","Fidelity Investments","Fidelity"],"match_type":'word'},).run().print_results()#Result = Banned substrings found in the prompt.