Spaces:
Runtime error
Runtime error
"""Tool for asking human input.""" | |
from typing import Callable, Optional | |
from langchain_core.callbacks import CallbackManagerForToolRun | |
from langchain_core.pydantic_v1 import Field | |
from langchain_core.tools import BaseTool | |
def _print_func(text: str) -> None: | |
print("\n") # noqa: T201 | |
print(text) # noqa: T201 | |
class HumanInputRun(BaseTool): | |
"""Tool that asks user for input.""" | |
name: str = "human" | |
description: str = ( | |
"You can ask a human for guidance when you think you " | |
"got stuck or you are not sure what to do next. " | |
"The input should be a question for the human." | |
) | |
prompt_func: Callable[[str], None] = Field(default_factory=lambda: _print_func) | |
input_func: Callable = Field(default_factory=lambda: input) | |
def _run( | |
self, | |
query: str, | |
run_manager: Optional[CallbackManagerForToolRun] = None, | |
) -> str: | |
"""Use the Human input tool.""" | |
self.prompt_func(query) | |
return self.input_func() | |