Spaces:
Runtime error
Runtime error
"""Tool for asking human input.""" | |
from typing import Callable | |
from pydantic import Field | |
from langchain.tools.base import BaseTool | |
def _print_func(text: str) -> None: | |
print("\n") | |
print(text) | |
class HumanInputRun(BaseTool): | |
"""Tool that adds the capability to ask user for input.""" | |
name = "Human" | |
description = ( | |
"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) -> str: | |
"""Use the Human input tool.""" | |
self.prompt_func(query) | |
return self.input_func() | |
async def _arun(self, query: str) -> str: | |
"""Use the Human tool asynchronously.""" | |
raise NotImplementedError("Human tool does not support async") | |