import gradio as gr from transformers import AutoProcessor, Kosmos2ForConditionalGeneration from PIL import Image import io # 📦 تحميل المعالج والنموذج processor = AutoProcessor.from_pretrained("microsoft/kosmos-2-patch14-224") model = Kosmos2ForConditionalGeneration.from_pretrained("microsoft/kosmos-2-patch14-224") # 💬 تعليمات الذكاء الاصطناعي لتكون خبير تداول SYSTEM_PROMPT = """ You are a professional technical analyst with 10 years of experience in financial markets. Analyze the chart provided and answer the following: 1. What is the current trend? (Uptrend / Downtrend / Sideways) 2. Are there any key support/resistance levels? 3. What technical indicators do you see? (RSI, MACD, Bollinger Bands...) 4. Suggest a trade idea: Entry point, Stop Loss, Take Profit 5. Timeframe and Risk/Reward ratio 6. Strategy name and explanation Answer in Arabic in a professional tone. """ def analyze_chart(image): if image is None: return "❌ لم يتم تحميل أي صورة." try: # تحويل الصورة إلى RGB img = image.convert("RGB") # دمج التعليمات مع الصورة prompt = f"{SYSTEM_PROMPT}\nQuestion: ما هو تحليل هذه الصورة؟\nAnswer:" # المعالجة inputs = processor(images=img, text=prompt, return_tensors="pt") # التوليد generated_ids = model.generate(**inputs, max_new_tokens=256) response = processor.batch_decode(generated_ids, skip_special_tokens=False)[0] response = processor.tokenizer.decode(processor.tokenizer.encode(response.split("Answer:")[-1].strip())) return response except Exception as e: return f"❌ حدث خطأ أثناء التحليل:\n{str(e)}" # 🖥️ واجهة Gradio interface = gr.Interface( fn=analyze_chart, inputs=gr.Image(type="pil", label="تحميل مخطط التداول"), outputs=gr.Markdown(label="تحليل الذكاء الاصطناعي"), title="🤖 منصة تحليل التداول الذكية (نسخة مجانية)", description="استخدم الذكاء الاصطناعي المحلي لتحليل مخططات التداول وإعطاء تحليل احترافي.", theme="default", ) if __name__ == "__main__": interface.launch()