Spaces:
Runtime error
Runtime error
from langchain_core.output_parsers import BaseOutputParser | |
class BooleanOutputParser(BaseOutputParser[bool]): | |
"""Parse the output of an LLM call to a boolean.""" | |
true_val: str = "YES" | |
"""The string value that should be parsed as True.""" | |
false_val: str = "NO" | |
"""The string value that should be parsed as False.""" | |
def parse(self, text: str) -> bool: | |
"""Parse the output of an LLM call to a boolean. | |
Args: | |
text: output of a language model | |
Returns: | |
boolean | |
""" | |
cleaned_text = text.strip() | |
if cleaned_text.upper() not in (self.true_val.upper(), self.false_val.upper()): | |
raise ValueError( | |
f"BooleanOutputParser expected output value to either be " | |
f"{self.true_val} or {self.false_val}. Received {cleaned_text}." | |
) | |
return cleaned_text.upper() == self.true_val.upper() | |
def _type(self) -> str: | |
"""Snake-case string identifier for an output parser type.""" | |
return "boolean_output_parser" | |