From d3674b02e6fcc86012c418ad599c2cd54e194676 Mon Sep 17 00:00:00 2001 From: Yuhong Sun Date: Sun, 24 Mar 2024 19:01:38 -0700 Subject: [PATCH] Add Llama2 Prompt Option (#1254) --- backend/danswer/prompts/chat_prompts.py | 34 ++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/backend/danswer/prompts/chat_prompts.py b/backend/danswer/prompts/chat_prompts.py index 0d4cf9ec3a90..e0b20243bc5f 100644 --- a/backend/danswer/prompts/chat_prompts.py +++ b/backend/danswer/prompts/chat_prompts.py @@ -48,17 +48,43 @@ CHAT_USER_CONTEXT_FREE_PROMPT = f""" # consider doing COT for this and keep it brief, but likely only small gains. SKIP_SEARCH = "Skip Search" YES_SEARCH = "Yes Search" + AGGRESSIVE_SEARCH_TEMPLATE = f""" -You are an expert of a critical system. Given the conversation history and a follow up query, determine if the system should call \ +Given the conversation history and a follow up query, determine if the system should call \ an external search tool to better answer the latest user input. +Your default response is {YES_SEARCH}. + +Respond "{SKIP_SEARCH}" if either: +- There is sufficient information in chat history to FULLY and ACCURATELY answer the query AND \ +additional information or details would provide little or no value. +- The query is some form of request that does not require additional information to handle. + +Conversation History: +{GENERAL_SEP_PAT} +{{chat_history}} +{GENERAL_SEP_PAT} + +If you are at all unsure, respond with {YES_SEARCH}. +Respond with EXACTLY and ONLY "{YES_SEARCH}" or "{SKIP_SEARCH}" + +Follow Up Input: +{{final_query}} +""".strip() + + +# TODO, templatize this so users don't need to make code changes to use this +AGGRESSIVE_SEARCH_TEMPLATE_LLAMA2 = f""" +You are an expert of a critical system. Given the conversation history and a follow up query, \ +determine if the system should call an external search tool to better answer the latest user input. Your default response is {YES_SEARCH}. If you are even slightly unsure, respond with {YES_SEARCH}. -Respond "{SKIP_SEARCH}" if either: -- There is sufficient information in chat history to FULLY and ACCURATELY answer the query +Respond "{SKIP_SEARCH}" if any of these are true: +- There is sufficient information in chat history to FULLY and ACCURATELY answer the query. - The query is some form of request that does not require additional information to handle. -- You are 100% absolutely sure about the question and there is no ambiguity in the answer or question. +- You are absolutely sure about the question and there is no ambiguity in the answer or question. + Conversation History: {GENERAL_SEP_PAT} {{chat_history}}