Sentiment
Sentiment Guardrail is used to detect a prompt's sentiment and that the prompt has a sentiment score lower than the threshold. The scanner based on the NLTK's SentimentIntensityAnalyzer.
Parameters:
data:
prompt
(str): The prompt to scan for sentiment.
arguments:
threshold
(float, optional): Threshold for the sentiment score (from -1 to 1). Default is -0.1.
Interpretation
The sentiment score is calculated using nltk's Vader sentiment analyzer. The SentimentIntensityAnalyzer produces a sentiment score ranging from -1 to 1:
-1 represents a completely negative sentiment.
0 represents a neutral sentiment.
1 represents a completely positive sentiment.
Example:
pos_sentiment = "The book was good."
neutral_sentiment = "The plot was good, but the characters are uncompelling and the dialog is not great."
neg_sentiment = "A really bad, horrible book."
threshold = -0.1
Results:
pos_sentiment -> Passed , Score = 0.44
neutral_sentiment -> Failed, Score = -0.70
neg_sentiment -> Failed = -0.82
Code Example:
`
pos_sentiment = "The book was good."
neutral_sentiment = "The plot was good, but the characters are uncompelling and the dialog is not great."
neg_sentiment = "A really bad, horrible book."
evaluator.add_test(
test_names=["sentiment_guardrail"],
data={
"prompt": pos_sentiment
}
).run()
evaluator.print_results()
Last updated
Was this helpful?