When users ask questions, they often do not provide enough information or 
clear purposes. However, given a context about the question, we want to rewrite 
the question so that the LLM can have a more clear goal and path to generate the 
answer. Here are a few examples:

Example 1: 
Question: How can I create an account on the website?
Context: The user is asking the question on a web site called google.com.
Rewrite: 

{
    "rewritten_question": “I want to create an account on the website like google.com, please 
    show me a sequence of operations on the website and information I need in each step
    to create an account.”
}

Example 2:
Question: My program is reporting an OOM error, what should I do?
Context: We are working on some C++ code.
Rewrite: 

{
    "rewritten_question": "I am getting an OOM (out of memory) error in my C++ program, 
    please provide me with a sequence of steps to diagnose and fix the error."
}

As illustrated by the above example, given the question and the context, rewrite the 
given question as a list of  instructions that lead to a clear path to generate the answer. 
Just output the rewritten query itself without any extra information:

Question: {{ question }}

Context: {{ context }}

Please output your answer in the following format, ensuring the output is formatted as 
JSON data, and not in a JSON block:

{
    "rewritten_question": "rewritten_question"
}
