File size: 890 Bytes
93e630a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
""" 
Custom Langchain tool to ask human
"""

import time

import streamlit as st
from langchain.tools.base import BaseTool


class CustomAskHumanTool(BaseTool):
    """Tool that asks user for input."""

    name = "AskHuman"
    description = """Use this tool if you don't find a specific answer using KendraRetrievalTool.\
Ask the human to clarify the question or provide the missing information.\
The input should be a question for the human."""

    def _run(
        self,
        query: str,
        run_manager=None,
    ) -> str:
        if "user_answer" not in st.session_state:
            answer_container = st.chat_message("assistant", avatar="🦜")
            answer_container.write(query)

            answer = st.text_input("Enter your answer", key="user_answer")
            while answer == "":
                time.sleep(1)

        return st.session_state["user_answer"]