import os import gradio as gr from groq import Groq # القراءة الصحيحة لمفتاح Groq من متغير بيئة # على Hugging Face Space: ضيف GROQ_API_KEY في Secrets client = Groq(api_key=os.environ.get("GROQ_API_KEY")) SYSTEM_PROMPT = ( "You are an expert in Premier League Fantasy. " "Provide structured and insightful responses to queries about players and coaches." ) def respond(message, history, model, temperature, max_tokens): # نحول الهيستوري إلى تنسيق رسائل messages = [{"role": "system", "content": SYSTEM_PROMPT}] for h in history: # h[0] = user; h[1] = assistant messages.append({"role": "user", "content": h[0]}) if h[1]: messages.append({"role": "assistant", "content": h[1]}) messages.append({"role": "user", "content": message}) try: response = client.chat.completions.create( model=model, messages=messages, temperature=temperature, # الاسم المتوافق شائع الاستخدام max_tokens=int(max_tokens), ) return response.choices[0].message.content except Exception as e: return f"Error: {str(e)}" # ChatInterface مع مدخلات إضافية (موديل/حرارة/حد أقصى للتوكنز) demo = gr.ChatInterface( fn=respond, title="🎬 Premier League Fantasy Generator AI", description="Be the hero of the Week!", additional_inputs=[ gr.Dropdown( choices=[ "llama-3.3-70b-versatile", "llama-3.1-8b-instant", ], value="llama-3.3-70b-versatile", label="Model", info="Select the AI model to use", ), gr.Slider( minimum=0.0, maximum=2.0, value=0.9, step=0.1, label="Temperature", info="Controls randomness. Lower = more focused, Higher = more creative", ), gr.Slider( minimum=256, maximum=8192, value=2048, step=256, label="Max Tokens", info="Maximum length of the response", ), ], examples=[ ["Who is the best player to pick this week?"], ["Which player should I captain this week?"], ["Give me the perfect team formation for this week."], ], ) if __name__ == "__main__": # التيم بيتحدّد هنا (Gradio v6+) demo.launch(theme=gr.themes.Soft())