Spaces:
Sleeping
Sleeping
File size: 2,442 Bytes
6ee159d 3b85d8d 6ee159d 4c3edc4 be76f2f 3b85d8d 6ee159d 3b85d8d be76f2f 6ee159d be76f2f 6ee159d be76f2f 6ee159d be76f2f 6ee159d 4c3edc4 be76f2f 4c3edc4 6ee159d 4c3edc4 3b85d8d 6ee159d 3b85d8d 6ee159d 3b85d8d 6ee159d 3b85d8d 6ee159d 3b85d8d 6ee159d 4c3edc4 3b85d8d 6ee159d be76f2f 4c3edc4 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
import gradio as gr
from transformers import AutoProcessor, Kosmos2Model
import torch
from PIL import Image
import io
# 📦 تحميل المعالج والنموذج
model_id = "microsoft/kosmos-2-patch14-224"
processor = AutoProcessor.from_pretrained(model_id)
model = Kosmos2Model.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, etc.)
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:
# فتح الصورة
img = Image.open(io.BytesIO(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(
pixel_values=inputs["pixel_values"],
input_ids=inputs["input_ids"],
attention_mask=inputs["attention_mask"],
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="bytes", label="تحميل مخطط التداول"),
outputs=gr.Markdown(label="تحليل الذكاء الاصطناعي"),
title="🤖 منصة تحليل التداول الذكية (نسخة خفيفة)",
description="استخدم الذكاء الاصطناعي المحلي لتحليل مخططات التداول وإعطاء تحليل احترافي.",
theme="default",
)
if __name__ == "__main__":
interface.launch() |