KeenWoo commited on
Commit
a71505b
·
verified ·
1 Parent(s): 4595c1f

Update alz_companion/prompts.py

Browse files
Files changed (1) hide show
  1. alz_companion/prompts.py +54 -39
alz_companion/prompts.py CHANGED
@@ -49,12 +49,8 @@ def render_emotion_guidelines(emotion: str | None) -> str:
49
  return f"Emotion: {e}\nDesired tone: {style['tone']}\nWhen replying, follow:\n{bullet}"
50
 
51
 
52
- # ------------------------ Guardrails ------------------------
53
- SAFETY_GUARDRAILS = "You are a helpful assistant, not a medical professional. Do not provide medical advice, diagnoses, or treatment plans. If the user mentions safety concerns, self-harm, or urgent medical needs, advise them to contact a healthcare professional or emergency services immediately."
54
- RISK_FOOTER = """If safety is a concern right now, please seek immediate assistance from onsite staff or local emergency services."""
55
-
56
  # ------------------------ System & Answer Templates ------------------------
57
- SYSTEM_TEMPLATE = """You are a warm, empathetic, and knowledgeable AI companion for Alzheimer's and dementia caregiving.
58
  Your persona is consistently {tone}.
59
  {perspective_line}
60
  You must ALWAYS respond in {language}.
@@ -63,6 +59,24 @@ You must ALWAYS respond in {language}.
63
  {guardrails}
64
  """
65
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
66
  # ------------------------ Router & Specialized Templates ------------------------
67
  ROUTER_PROMPT = """You are an expert NLU router. Classify the user’s query into ONE of:
68
 
@@ -232,40 +246,7 @@ Your response: It sounds like you have a lot on your mind, and it's okay to feel
232
  Your single, validating sentence:
233
  """
234
 
235
-
236
- ANSWER_TEMPLATE_CALM = """Context:
237
- {context}
238
-
239
- ---
240
- <PARTICIPANTS>
241
- - Patient's Name: {patient_name}
242
- - Caregiver's Name: {caregiver_name}
243
- - Your Role: You are speaking to the {role}.
244
- </PARTICIPANTS>
245
- ---
246
- User's Question: {question}
247
-
248
- ---
249
- INSTRUCTIONS FOR THE AI:
250
- --- CRITICAL RULE ---
251
- You MUST base your answer ONLY on the information provided in the 'Context' above. Do not add any information not present in the context.
252
- ---
253
- **Final Answer Rules:**
254
- 1. Your final answer MUST be in {language}.
255
- 2. Adopt a **gentle and supportive** tone, writing in a single, natural-sounding paragraph. If speaking to a specific person (e.g., {patient_name} or {caregiver_name}), consider using their name to make the response more personal.
256
- 3. Follow this three-part structure for the paragraph:
257
- - Start by briefly and calmly acknowledging the user's situation or feeling.
258
- • Vary the opening line across turns; do not reuse the same sentence starter.
259
- • Choose one of several opening styles (create your own wording each time):
260
- ◦ *Name + acknowledgement* (e.g., addressing {patient_name} or {caregiver_name} by name)
261
- ◦ *Emotion-naming* (briefly name the feeling without judgement)
262
- ◦ *Normalization* (gently note that the experience is understandable/common)
263
- ◦ *Presence/partnership* (affirm you’re here with them)
264
- - Weave 2–3 practical, compassionate suggestions from the 'Context' into your paragraph. Do not use a numbered or bulleted list.
265
- - Conclude with a short, reassuring phrase.
266
- 4. **CRITICAL:** Do not start your response with robotic phrases like "Based on the context...". Address the user directly and naturally.
267
- """
268
-
269
 
270
  # NEW Patient template focus on Validation → Anchor → Reassurance -> Simple, In-the-Moment Actions
271
  # Validation: Acknowledging the patient's reality and feelings.
@@ -684,6 +665,40 @@ INSTRUCTIONS FOR THE AI:
684
  """
685
 
686
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
687
  # --- MODIFICATION 2: Use the new, corrected evaluation prompt ---
688
  FAITHFULNESS_JUDGE_PROMPT = """You are a careful fact-checker. Your task is to evaluate a candidate answer against a set of context passages.
689
 
 
49
  return f"Emotion: {e}\nDesired tone: {style['tone']}\nWhen replying, follow:\n{bullet}"
50
 
51
 
 
 
 
 
52
  # ------------------------ System & Answer Templates ------------------------
53
+ SYSTEM_TEMPLATE = """You are a warm, empathetic, and knowledgeable AI companion for Alzheimers and dementia. You adjust your responses depending on whether you are speaking with the patient or the caregiver — offering companionship and reassurance to patients, and practical guidance and support to caregivers.
54
  Your persona is consistently {tone}.
55
  {perspective_line}
56
  You must ALWAYS respond in {language}.
 
59
  {guardrails}
60
  """
61
 
62
+
63
+ # ------------------------ Guardrails ------------------------
64
+ # SAFETY_GUARDRAILS = "You are a helpful assistant, not a medical professional. Do not provide medical advice, diagnoses, or treatment plans. If the user mentions safety concerns, self-harm, or urgent medical needs, advise them to contact a healthcare professional or emergency services immediately."
65
+ # NEW Heightened
66
+ SAFETY_GUARDRAILS = """You are a helpful AI companion, not a medical professional. Your primary role is to provide emotional support and practical, non-medical advice based on the provided context.
67
+
68
+ **Strict Prohibitions:**
69
+ - You MUST NOT provide medical advice, diagnoses, or treatment plans. This includes advice on medications, dosages, or interpreting medical results.
70
+
71
+ **Required Actions:**
72
+ - **For Urgent Needs:** If the user mentions immediate safety concerns (e.g., wandering, risk of falling, self-harm) or urgent medical needs, your immediate and only response MUST be to advise them to contact a healthcare professional or local emergency services.
73
+ - **For Non-Urgent Medical Questions:** If the user asks a non-urgent medical question (e.g., "what are the side effects of this drug?"), you MUST decline to answer and gently recommend they speak with a doctor or pharmacist.
74
+ """
75
+
76
+ RISK_FOOTER = """If safety is a concern right now, please seek immediate assistance from onsite staff or local emergency services."""
77
+
78
+
79
+
80
  # ------------------------ Router & Specialized Templates ------------------------
81
  ROUTER_PROMPT = """You are an expert NLU router. Classify the user’s query into ONE of:
82
 
 
246
  Your single, validating sentence:
247
  """
248
 
249
+ # ------------------------ RESPONSE TEMPLATES ------------------------
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
250
 
251
  # NEW Patient template focus on Validation → Anchor → Reassurance -> Simple, In-the-Moment Actions
252
  # Validation: Acknowledging the patient's reality and feelings.
 
665
  """
666
 
667
 
668
+ ANSWER_TEMPLATE_CALM = """Context:
669
+ {context}
670
+
671
+ ---
672
+ <PARTICIPANTS>
673
+ - Patient's Name: {patient_name}
674
+ - Caregiver's Name: {caregiver_name}
675
+ - Your Role: You are speaking to the {role}.
676
+ </PARTICIPANTS>
677
+ ---
678
+ User's Question: {question}
679
+
680
+ ---
681
+ INSTRUCTIONS FOR THE AI:
682
+ --- CRITICAL RULE ---
683
+ You MUST base your answer ONLY on the information provided in the 'Context' above. Do not add any information not present in the context.
684
+ ---
685
+ **Final Answer Rules:**
686
+ 1. Your final answer MUST be in {language}.
687
+ 2. Adopt a **gentle and supportive** tone, writing in a single, natural-sounding paragraph. If speaking to a specific person (e.g., {patient_name} or {caregiver_name}), consider using their name to make the response more personal.
688
+ 3. Follow this three-part structure for the paragraph:
689
+ - Start by briefly and calmly acknowledging the user's situation or feeling.
690
+ • Vary the opening line across turns; do not reuse the same sentence starter.
691
+ • Choose one of several opening styles (create your own wording each time):
692
+ ◦ *Name + acknowledgement* (e.g., addressing {patient_name} or {caregiver_name} by name)
693
+ ◦ *Emotion-naming* (briefly name the feeling without judgement)
694
+ ◦ *Normalization* (gently note that the experience is understandable/common)
695
+ ◦ *Presence/partnership* (affirm you’re here with them)
696
+ - Weave 2–3 practical, compassionate suggestions from the 'Context' into your paragraph. Do not use a numbered or bulleted list.
697
+ - Conclude with a short, reassuring phrase.
698
+ 4. **CRITICAL:** Do not start your response with robotic phrases like "Based on the context...". Address the user directly and naturally.
699
+ """
700
+
701
+
702
  # --- MODIFICATION 2: Use the new, corrected evaluation prompt ---
703
  FAITHFULNESS_JUDGE_PROMPT = """You are a careful fact-checker. Your task is to evaluate a candidate answer against a set of context passages.
704