Skip to main content
`Ctrl`+`K`

# Human as a tool

Human are AGI so they can certainly be used as a tool to help out AI agent when it is confused.

    import sys
    from langchain.chat_models import ChatOpenAI
    from langchain.llms import OpenAI
    from langchain.agents import load_tools, initialize_agent
    from langchain.agents import AgentType

    llm = ChatOpenAI(temperature=0.0)
    math_llm = OpenAI(temperature=0.0)
    tools = load_tools(
        ["human", "llm-math"],
        llm=math_llm,
    )

    agent_chain = initialize_agent(
        tools,
        llm,
        agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
        verbose=True,
    )

In the above code you can see the tool takes input directly from command line. You can customize `prompt_func` and `input_func` according to your need.

    agent_chain.run("What is Eric Zhu's birthday?")
    # Answer with "last week"

    > Entering new AgentExecutor chain...
    I don't know Eric Zhu, so I should ask a human for guidance.
    Action: Human
    Action Input: "Do you know when Eric Zhu's birthday is?"

    Do you know when Eric Zhu's birthday is?
    last week

    Observation: last week
    Thought:That's not very helpful. I should ask for more information.
    Action: Human
    Action Input: "Do you know the specific date of Eric Zhu's birthday?"

    Do you know the specific date of Eric Zhu's birthday?
    august 1st

    Observation: august 1st
    Thought:Now that I have the date, I can check if it's a leap year or not.
    Action: Calculator
    Action Input: "Is 2021 a leap year?"
    Observation: Answer: False

    Thought:I have all the information I need to answer the original question.
    Final Answer: Eric Zhu's birthday is on August 1st and it is not a leap year in 2021.

    > Finished chain.

    "Eric Zhu's birthday is on August 1st and it is not a leap year in 2021."