Spaces:
Sleeping
Sleeping
File size: 1,880 Bytes
0fadcb9 d005419 0fadcb9 d005419 7648566 0fadcb9 d005419 0fadcb9 d005419 224e4de d005419 d568cb6 d005419 |
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 |
import datetime
from pathlib import Path
from utils.date_utils import get_today_date_as_dd_mm_yyyy
from form.form import work_categories as wc
class PromptsManager:
def __init__(self, work_categories: dict[str, str] = None):
if not work_categories:
self.work_categories = wc
base_path = Path(__file__).parent
with open(Path(base_path, "system_prompt.txt")) as sysprompt_file:
self.system_prompt: str = sysprompt_file.read()
with open(Path(base_path, "questions.txt")) as questions_file:
self.questions: list[str] = questions_file.readlines()
with open(Path(base_path, "verification_prompt2.txt")) as verification_prompt_file:
verification_prompt = verification_prompt_file.read()
todays_date = get_today_date_as_dd_mm_yyyy()
verification_prompt = verification_prompt.replace("{today}", todays_date)
self.verification_prompt: str = verification_prompt
def verify_user_input_prompt(self, user_prompt) -> str:
return (f"Using only this information \n {user_prompt} \n answer the following questions, if the answer is not present or you are not sure about the answer just answer null. "
f"Put each answer in a new line, keep the answer brief "
f"and maintain the order in which the questions are asked. Do not add any preamble: "
f"{self.verification_prompt}")
def get_work_category(self, work_description: str) -> str:
return (f"The work to do is {work_description}. Given the following categories {', '.join(self.work_categories.values())} "
f"which ones are the most relevant? Only return the categories, separated by a semicolon")
def ingest_user_answers(self, user_prompt: str) -> str:
return f"Ingest the following information: {user_prompt}"
|