InfiAgent / src /infiagent /prompt /zero_shot_react_prompt.py
g3eIL's picture
Upload 80 files
77320e4 verified
from ..prompt import PromptTemplate, OBSERVATION_KEY, THOUGHT_KEY, FINAL_ANSWER_KEY, DEFAULT_OBSERVATION, \
DEFAULT_THOUGHT, DEFAULT_FINAL_ANSWER
class ZeroShotReactPrompt(PromptTemplate):
_input_variables = ["instruction", "agent_scratchpad", "tool_names", "tool_description"]
_template = (
"Answer the following questions as best you can."
"You have access to the following tools:\n"
"{tool_description}.\n"
"Use the following format:\n\n"
"Question: the input question you must answer\n"
"Thought: you should always think about what to do\n\n"
"Action: the action to take, should be one of [{tool_names}]\n\n"
"Action Input:\n```python\n[the input to the action]\n```\n"
"Observation: the result of the action\n\n"
"... (this Thought/Action/Action Input/Observation can repeat N times)\n"
"Thought: I now know the final answer\n"
"Final Answer: the final answer to the original input question\n"
"If you have any files outputted write them to \"./\"\n"
"Do not use things like plot.show() as it will not work instead write them out \"./\"\n"
"Begin!\n\n"
"Question: {instruction}\nThought:\n"
"{agent_scratchpad}\n"
)
_keywords = {
OBSERVATION_KEY: DEFAULT_OBSERVATION,
THOUGHT_KEY: DEFAULT_THOUGHT,
FINAL_ANSWER_KEY: DEFAULT_FINAL_ANSWER
}
_name = 'ZeroShotReactPrompt'
_validate_template = True
_skip_on_failure = True
def __init__(self, **data):
super().__init__(**data)