| from langchain_core.exceptions import OutputParserException | |
| class TaskRepeatedUsageException(OutputParserException): | |
| """Exception raised when a task is used twice in a roll.""" | |
| error: str = "TaskRepeatedUsageException" | |
| message: str = "I just used the {tool} tool with input {tool_input}. So I already know the result of that and don't need to use it now.\n" | |
| def __init__(self, tool: str, tool_input: str, text: str): | |
| self.text = text | |
| self.tool = tool | |
| self.tool_input = tool_input | |
| self.message = self.message.format(tool=tool, tool_input=tool_input) | |
| super().__init__( | |
| error=self.error, | |
| observation=self.message, | |
| send_to_llm=True, | |
| llm_output=self.text, | |
| ) | |
| def __str__(self): | |
| return self.message | |