mirror of
https://github.com/hwchase17/langchain.git
synced 2025-05-29 19:18:53 +00:00
Add a StdIn "Interaction" Tool (#1193)
Lets a chain prompt the user for more input as a part of its execution.
This commit is contained in:
parent
0118706fd6
commit
13ba0177d0
1
langchain/tools/interaction/__init__.py
Normal file
1
langchain/tools/interaction/__init__.py
Normal file
@ -0,0 +1 @@
|
|||||||
|
"""Tools for interacting with the user."""
|
22
langchain/tools/interaction/tool.py
Normal file
22
langchain/tools/interaction/tool.py
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
"""Tools for interacting with the user."""
|
||||||
|
|
||||||
|
|
||||||
|
from langchain.tools.base import BaseTool
|
||||||
|
|
||||||
|
|
||||||
|
class StdInInquireTool(BaseTool):
|
||||||
|
"""Tool for asking the user for input."""
|
||||||
|
|
||||||
|
name: str = "Inquire"
|
||||||
|
description: str = (
|
||||||
|
"useful if you do not have enough information to"
|
||||||
|
" effectively use other tools. Input is best as a clarifying"
|
||||||
|
" question (to disambiguate) or a request for more context."
|
||||||
|
)
|
||||||
|
|
||||||
|
def _run(self, prompt: str) -> str:
|
||||||
|
"""Prompt the user for more input."""
|
||||||
|
return input(f"\n{prompt}")
|
||||||
|
|
||||||
|
async def _arun(self, query: str) -> str:
|
||||||
|
raise NotImplementedError(f"{self.__class__.__name__} does not support async")
|
Loading…
Reference in New Issue
Block a user