deployed version of annan voice

parent e61483ee
...@@ -11,8 +11,7 @@ SYSTEM_PROMPTS: Dict[Tuple[StudentNationality, StudyLanguage], str] = { ...@@ -11,8 +11,7 @@ SYSTEM_PROMPTS: Dict[Tuple[StudentNationality, StudyLanguage], str] = {
إنت مُدرِّس مصري لطفل في ابتدائي اسمه {student_name} في الصف {grade}. إنت مُدرِّس مصري لطفل في ابتدائي اسمه {student_name} في الصف {grade}.
لو الطفّل سأل عن هويتك بصراحة و وضوح باي طريقة (زي "إنت مين؟"، "عرّفني بنفسك"، "إنت بتعمل إيه هنا؟")، لو الطفّل سأل عن هويتك بصراحة و وضوح باي طريقة (زي "إنت مين؟"، "عرّفني بنفسك"، "إنت بتعمل إيه هنا؟")،
رُد بالرد الثابت ده: رُد بالرد الثابت ده:
"أنا عَنان مؤسِّس شارع العلوم، وإنت هنا على مَنَصّة Science Street Lab، "أنا عَنان مؤسِّس شارع العلوم، وأنا هنا عشان أَساعدك تتعلَّم أي حاجة عايز تتعلَّمها في العلوم."
وأنا هنا عشان أَساعدك تتعلَّم أي حاجة عايز تتعلَّمها في العلوم."
⚠️ مهم: النص دا استخدمه في حاله السؤال عن هويتك انت بس. ⚠️ مهم: النص دا استخدمه في حاله السؤال عن هويتك انت بس.
⚠️ مهم جدًا: مَمنوع تقول أبداً إنك AI أو برنامج أو روبوت. إنت عنان اللي جي تساعد في العلوم وبس. ⚠️ مهم جدًا: مَمنوع تقول أبداً إنك AI أو برنامج أو روبوت. إنت عنان اللي جي تساعد في العلوم وبس.
...@@ -27,6 +26,7 @@ SYSTEM_PROMPTS: Dict[Tuple[StudentNationality, StudyLanguage], str] = { ...@@ -27,6 +26,7 @@ SYSTEM_PROMPTS: Dict[Tuple[StudentNationality, StudyLanguage], str] = {
* لو السؤال عن محتوى معيّن، استخدم السياق من المنهج واربط بالوحدات والمفاهيم اللي ليها علاقة. * لو السؤال عن محتوى معيّن، استخدم السياق من المنهج واربط بالوحدات والمفاهيم اللي ليها علاقة.
* اذكر دايماً موقع الموضوع في المنهج: "الموضوع دا في الوحدة الأولى، المفهوم التاني" * اذكر دايماً موقع الموضوع في المنهج: "الموضوع دا في الوحدة الأولى، المفهوم التاني"
* وضِّح الروابط: "دا مرتبط باللي اتعلمناه عن ..." أو "دا مرتبط باللي هنتعلمه عن..." * وضِّح الروابط: "دا مرتبط باللي اتعلمناه عن ..." أو "دا مرتبط باللي هنتعلمه عن..."
* مهما كانت المعلومة مكتوبة بالعربي الفصيح أو متاخدة من كتاب المنهج، دايمًا صيّغها باللهجة المصريّة الطبيعيّة. متستخدمش لغة فصحى ابدا الا في المصطلحات العلمية اللي ملهاش بديل.
دايما رَد باللهجة المصريّة الطبيعيّة كأنّك بتكَلّم {student_name} قصادك. دايما رَد باللهجة المصريّة الطبيعيّة كأنّك بتكَلّم {student_name} قصادك.
خَلّي الكلام بسيط، واضح، وقَريب من ودنه. خَلّي الكلام بسيط، واضح، وقَريب من ودنه.
...@@ -42,7 +42,6 @@ SYSTEM_PROMPTS: Dict[Tuple[StudentNationality, StudyLanguage], str] = { ...@@ -42,7 +42,6 @@ SYSTEM_PROMPTS: Dict[Tuple[StudentNationality, StudyLanguage], str] = {
لو {student_name} مكتوب بالإنجليزي، اكتبه دايماً بالعَربي في ردودك. لو {student_name} مكتوب بالإنجليزي، اكتبه دايماً بالعَربي في ردودك.
لَمّا تُذكر الصف {grade}، قُوله بالطريقة الطبيعيّة زي ما الأطفال بيقولوها: الصف 4 = سنة رابعة ابتدائي، الصف 5 = سنة خامسة ابتدائي، وهكذا. لَمّا تُذكر الصف {grade}، قُوله بالطريقة الطبيعيّة زي ما الأطفال بيقولوها: الصف 4 = سنة رابعة ابتدائي، الصف 5 = سنة خامسة ابتدائي، وهكذا.
مهما كانت المعلومة مكتوبة بالعربي الفصيح أو متاخدة من كتاب المنهج، دايمًا صيّغها باللهجة المصريّة الطبيعيّة. متستخدمش لغة فصحى إلا في المصطلحات العلمية اللي ملهاش بديل.
""", """,
# ---------- Saudi + Arabic ---------- # ---------- Saudi + Arabic ----------
......
...@@ -106,37 +106,11 @@ class ResponseGenerator: ...@@ -106,37 +106,11 @@ class ResponseGenerator:
messages.extend(conversation_history) messages.extend(conversation_history)
messages.append({"role": "user", "content": user_message}) messages.append({"role": "user", "content": user_message})
# ==========================
# HANDLE UNSAFE QUERIES
# ==========================
if query_type.startswith("unsafe_"):
if query_type == "unsafe_religion":
unsafe_context = self.query_handler.handle_unsafe_religion_query(student_info)
elif query_type == "unsafe_sensitive_emotion":
unsafe_context = self.query_handler.handle_unsafe_sensitive_emotion_query(student_info)
elif query_type == "unsafe_sensitive_bio":
unsafe_context = self.query_handler.handle_unsafe_sensitive_bio_query(student_info)
elif query_type == "unsafe_personal":
unsafe_context = self.query_handler.handle_unsafe_personal_query(student_info)
elif query_type == "unsafe_harmful":
unsafe_context = self.query_handler.handle_unsafe_harmful_query(student_info)
elif query_type == "unsafe_bullying":
unsafe_context = self.query_handler.handle_unsafe_bullying_query(student_info)
elif query_type == "unsafe_sport_activity":
unsafe_context = self.query_handler.handle_unsafe_sport_activity_query(student_info)
else:
unsafe_context = "هذا الموضوع غير مناسب للمناقشة هنا."
# نضيف التعليمات كـ system context بدل الرد المباشر
messages.append({
"role": "system",
"content": f"التعليمات للتعامل مع الموضوع الحساس:\n{unsafe_context}"
})
# ========================== # ==========================
# HANDLE SAFE QUERIES # HANDLE SAFE QUERIES
# ========================== # ==========================
else:
if query_type == "general_chat": if query_type == "general_chat":
chat_context = self.query_handler.handle_general_chat_query(user_message, student_info) chat_context = self.query_handler.handle_general_chat_query(user_message, student_info)
messages.append({"role": "system", "content": f"سياق المحادثة العامة:\n{chat_context}"}) messages.append({"role": "system", "content": f"سياق المحادثة العامة:\n{chat_context}"})
......
...@@ -88,6 +88,7 @@ custom_fixes = { ...@@ -88,6 +88,7 @@ custom_fixes = {
"عضلات": "عَضَلَات", "عضلات": "عَضَلَات",
"بنأكله": "بِنأكْلُه", "بنأكله": "بِنأكْلُه",
"الهضم": "الْهَضْم", "الهضم": "الْهَضْم",
"منصة": "مَنَصّةْ",
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment