Spaces:
Sleeping
Sleeping
| 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()) |