TradingBot / app.py
loayshabet's picture
Update app.py
d0a587a verified
raw
history blame
2.28 kB
import gradio as gr
from transformers import AutoProcessor, AutoModelForVision2Seq
from PIL import Image
import io
# 🔍 تحميل النموذج والمُعالِج
model_id = "HuggingFaceM4/sla-v1"
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForVision2Seq.from_pretrained(model_id).to("cuda" if torch.cuda.is_available() else "cpu")
# 💬 تعليمات الذكاء الاصطناعي لتكون خبير تداول
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 شامل
text = f"Question: {SYSTEM_PROMPT}\nAnswer:"
# المعالجة
inputs = processor(images=img, text=text, return_tensors="pt").to("cuda" if torch.cuda.is_available() else "cpu")
# التوليد
generated_ids = model.generate(**inputs, max_new_tokens=256)
response = processor.batch_decode(generated_ids, skip_special_tokens=True)[0]
return response.strip()
except Exception as e:
return f"❌ حدث خطأ أثناء التحليل: {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()