deep_seek / app.py
mimoha's picture
Update app.py
6c2a904 verified
import os
import gradio as gr
from openai import OpenAI
# احصلي API Key وضعيه كـ متغير بيئي
API_KEY = os.environ.get("DEEPSEEK_API_KEY")
if not API_KEY:
raise ValueError("ضع DEEPSEEK_API_KEY في البيئة")
# تهيئة العميل لاستخدام DeepSeek عبر openai SDK
client = OpenAI(api_key=API_KEY, base_url="https://api.deepseek.com")
MODEL_NAME = "deepseek-chat" # أو deepseek-reasoner حسب الموديل اللي تستخدمينه
def generate_main_question_deepseek(paragraph: str):
if not paragraph.strip():
return "الرجاء إدخال فقرة أولاً."
# نجهز الرسائل بالطريقة المعتمدة في API شات
messages = [
{"role": "system", "content": "أنت مساعد ذكي."},
{"role": "user", "content": f"الفقرة التالية:\n{paragraph}\n\nالمطلوب: توليد سؤال أساسي فقط حسب الفقرة."}
]
try:
response = client.chat.completions.create(
model=MODEL_NAME,
messages=messages,
temperature=0.7,
max_tokens=100
)
# نأخذ الجواب من الرسالة الأولى
question = response.choices[0].message.content.strip()
return question
except Exception as e:
return f"Error while connecting to DeepSeek API: {e}"
with gr.Blocks() as demo:
gr.Markdown("## مولد سؤال أساسي باستخدام DeepSeek")
paragraph = gr.Textbox(label="Paragraph (Input text)", lines=8, placeholder="أدخل الفقرة هنا …")
output = gr.Textbox(label="السؤال المولد (بالعربية)", lines=3)
submit_btn = gr.Button("توليد")
submit_btn.click(fn=generate_main_question_deepseek, inputs=paragraph, outputs=output)
if __name__ == "__main__":
demo.launch(share=True, show_error=True)