Spaces:
Running
on
Zero
Running
on
Zero
| def format_rag_prompt( query: str, context: str, accepts_sys: bool) -> str: | |
| system_prompt = """ | |
| You are a helpful assistant that provides answers to queries based on the provided context. | |
| If the full, complete answer to the query cannot be found in the context, answer what the context allows you to answer and indicate clearly where additional information is needed. | |
| If the none of the answer can be found, clearly refuse to answer, and ask for more relevant information from the user. | |
| The output should not contain your judgment on answerability, only your answer OR your refusal + clarifications. | |
| Stay within the bounds of the provided context and avoid making assumptions. | |
| """ | |
| user_prompt = f"""# Role and Task Description | |
| Judge if the following query is answerable from ONLY the provided context. | |
| If so, provide a complete, grounded answer to the query, and do not mention your judgement. | |
| Try to address all aspects of the query, but if certain parts are not answerable, answer what you can and indicate clearly where additional information is needed. | |
| If none of the query's answer can be found in the context, clearly refuse to answer, and ask for more relevant information from the user. | |
| You should give a concise explanation of why you cannot answer the query based on the context, and ask for more relevant information from the user. | |
| # Task | |
| Given the following query and context, please provide your response: | |
| ## Query: | |
| {query} | |
| ## Context: | |
| {context} | |
| WITHOUT mentioning your judgement either your grounded answer, OR refusal and clarifications: | |
| """ | |
| messages = ( | |
| [ | |
| {"role": "system", "content": system_prompt}, | |
| {"role": "user", "content": user_prompt}, | |
| ] | |
| if accepts_sys | |
| else [{"role": "user", "content": system_prompt + user_prompt}] | |
| ) | |
| return messages |