TradingBot / app.py
loayshabet's picture
Update app.py
76b55ef verified
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()