File size: 1,588 Bytes
77320e4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
34
35
36
37
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)