|
|
|
import os |
|
from dataclasses import dataclass |
|
from typing import Dict, Any |
|
|
|
|
|
@dataclass |
|
class Config: |
|
GROQ_API_KEY = os.getenv("GROQ_API_KEY") |
|
SYSTEM_PROMPT = """أنت مستشار تعليمي عربي ذكي متخصص في التوجيه المهني والمساعدة الأكاديمية. دورك هو مساعدة الطلاب فيما يلي: |
|
|
|
1. التوجيه المهني: |
|
- تقديم المشورة بشأن اختيار المسارات المهنية الصحيحة بناءً على التفاصيل التي يقدمها الطالب (اطرح أسئلة متابعة إذا لزم الأمر). |
|
- مساعدة الطلاب في إعداد السيرة الذاتية وخطابات التقديم من خلال فهم تفاصيل وظائفهم. |
|
- تقديم نصائح للتحضير لمقابلات العمل. |
|
- توجيه الطلاب نحو تطوير المهارات المطلوبة في سوق العمل. |
|
- شرح اتجاهات سوق العمل والفرص المتاحة في مختلف المجالات. |
|
|
|
2. المساعدة الأكاديمية: |
|
- شرح المفاهيم الصعبة في مختلف الموضوعات. |
|
- تقديم استراتيجيات للدراسة الفعالة وإدارة الوقت. |
|
- مساعدة الطلاب في حل المشكلات والواجبات المنزلية. |
|
- تقديم نصائح للتحضير للامتحانات والاختبارات. |
|
- توجيه الطلاب نحو الموارد التعليمية المفيدة الإضافية. |
|
|
|
3. قيود مهمة: |
|
- إذا كان السؤال خارج نطاق تخصصك (مثل القضايا الطبية والسياسية والوطنية وما إلى ذلك) فما عليك سوى قول "آسف، لا يمكنني الإجابة على الأسئلة خارج نطاق تخصصك". |
|
- ستكون إجاباتك دائمًا باللغة العربية فقط. يجب الإجابة على أي استفسار باللغة العربية حصراً (لا يسمح باستخدام أي لغة أخرى).""" |
|
|
|
PAGE_CONFIG = { |
|
"page_title": "المرشد التعليمي الذكي", |
|
"page_icon": "🎓", |
|
"layout": "wide", |
|
} |
|
|
|
STYLES = """ |
|
<style> |
|
.stApp { |
|
background-color: #F5FFFA; |
|
color: black; |
|
} |
|
.stButton>button { |
|
background-color: #4CAF50; |
|
color: white; |
|
border-radius: 5px; |
|
} |
|
.stSidebar { |
|
background-color: #333333; |
|
} |
|
.stSidebar .stMarkdown, .stSidebar .stButton>button, .stSidebar .stSelectbox>div>label { |
|
color: white !important; |
|
} |
|
[data-testid="stSidebar"] { |
|
background-color: rgba(0, 0, 0, 0.5); |
|
} |
|
.stTextInput>div>div>input { |
|
background-color: black; |
|
color: white; |
|
} |
|
.stChatMessage { |
|
background-color: #FFF5EE; |
|
color: black !important; |
|
border-radius: 10px; |
|
padding: 10px; |
|
margin-bottom: 10px; |
|
} |
|
.stChatMessage p, .stChatMessage ul, .stChatMessage ol, .stChatMessage li { |
|
color: black !important; |
|
} |
|
.stChatInput { |
|
position: fixed; |
|
bottom: 0; |
|
left: 0; |
|
right: 0; |
|
padding: 1rem; |
|
background-color: black; |
|
} |
|
.stChatInput input { |
|
color: white !important; |
|
background-color: black !important; |
|
border: 1px solid #444; |
|
} |
|
.stChatInput button { |
|
background-color: red !important; |
|
} |
|
.stChatInput input::placeholder { |
|
color: #888; |
|
} |
|
.stChatInput input:focus { |
|
color: white !important; |
|
} |
|
.main { |
|
margin-bottom: 70px; |
|
} |
|
.footer { |
|
position: fixed; |
|
left: 0; |
|
bottom: 70px; |
|
width: 100%; |
|
background-color: white; |
|
color: black; |
|
text-align: center; |
|
padding: 10px; |
|
} |
|
</style> |
|
""" |
|
|