import streamlit as st from groq import Groq import os # إعداد المفتاح السري من HuggingFace Secrets GROQ_API_KEY = os.getenv("DEEPSEEK_API_KEY") # تهيئة عميل Groq client = Groq(api_key=GROQ_API_KEY) # حالة الجلسة if "corrected_sentence" not in st.session_state: st.session_state.corrected_sentence = "" if "chat_history" not in st.session_state: st.session_state.chat_history = [] # عنوان التطبيق st.title("🔧 مصحّح الجُمل ومحادثة باللغة العربية") # 📌 القسم الأول: تصحيح الجملة st.subheader("✍️ أدخل جملة بالعربية لتصحيحها:") arabic_input = st.text_input("جملتك هنا:", "") if st.button("🔍 صحّح الجملة"): if arabic_input: prompt = f"صحّح الجملة التالية إن كانت تحتوي على أخطاء نحوية أو لغوية، وإن كانت صحيحة فقط أعد كتابتها بشكل جميل: '{arabic_input}'" response = client.chat.completions.create( #model="deepseek-r1-distill-llama-70b", model="meta-llama/llama-4-scout-17b-16e-instruct", messages=[{"role": "user", "content": prompt}], temperature=0.3, max_tokens=200 ) corrected = response.choices[0].message.content.strip() st.session_state.corrected_sentence = corrected st.success(f"✅ الجملة المصححة:\n\n**{corrected}**") else: st.warning("📝 الرجاء إدخال جملة أولاً!") # 📌 القسم الثاني: المحادثة حول الجملة المصححة if st.session_state.corrected_sentence: st.subheader("💬 تحاور مع الذكاء الاصطناعي حول الجملة") for role, msg in st.session_state.chat_history: if role == "user": st.markdown(f"🧑‍💬 **أنت**: {msg}") else: st.markdown(f"🤖 **الذكاء الاصطناعي**: {msg}") chat_input = st.text_input("📨 أرسل سؤالك بالعربية", key="chat_input") if st.button("💭 أرسل"): if chat_input: full_prompt = f"الجملة المصححة هي: '{st.session_state.corrected_sentence}'.\n\nالمستخدم يسأل: '{chat_input}'.\n\nأجب بشكل طبيعي وبالعربية الفصحى." chat_response = client.chat.completions.create( model="meta-llama/llama-4-scout-17b-16e-instruct", messages=[{"role": "user", "content": full_prompt}], temperature=0.7, max_tokens=300 ) reply = chat_response.choices[0].message.content.strip() st.session_state.chat_history.append(("user", chat_input)) st.session_state.chat_history.append(("assistant", reply)) st.rerun() # زر إعادة تعيين if st.button("🔄 إعادة تعيين"): st.session_state.chat_history = [] st.session_state.corrected_sentence = "" st.rerun()