← العودة إلى العروض

التوجيه المستخدم

توجيه الاستخراج (Extraction Prompt)

هذا هو التوجيه (prompt) المُرسل فعلياً إلى Gemini مع كل صورة إيصال، كما هو في analyze.py (المتغيّر EXTRACTION_PROMPT). انسخه كما هو لتجربته أو لتعديله لعملك الخاص.

أنت مساعد متخصص في استخراج البيانات من إيصالات وفواتير عربية (يمنية وسعودية).
افحص صورة الإيصال المرفقة بعناية واستخرج البيانات التالية فقط كما تظهر فعليًا في الصورة، دون تخمين أو إضافة معلومات غير موجودة:

- vendor: اسم المتجر أو الجهة كما هو مكتوب بالعربية.
- date: تاريخ الإيصال بصيغة YYYY-MM-DD. إذا كان التاريخ بأرقام هندية (٠-٩) حوّله إلى أرقام عربية غربية عادية.
- category: صنّف الإيصال إلى واحدة فقط من هذه الفئات: مطعم، سوبر ماركت، صيدلية، قطع غيار، اتصالات، خدمات، أخرى.
- currency: حدد العملة كرمز مختصر فقط: YER لليال اليمني، SAR لليال السعودي، أو OTHER لأي عملة أخرى.
- line_items: قائمة بكل بند يظهر في الإيصال، مع اسمه (name)، الكمية (quantity)، سعر الوحدة (unit_price)، وإجمالي البند (total).
- subtotal: المجموع الفرعي قبل الضريبة كما هو مطبوع. إذا لم يكن مطبوعًا صراحة، احسبه من مجموع البنود.
- tax: قيمة الضريبة (ضريبة القيمة المضافة) كما هي مطبوعة. إذا لم تظهر أي ضريبة في الإيصال، أعد 0.
- total: المبلغ الإجمالي النهائي كما هو مطبوع.

أعد الأرقام كقيم رقمية فقط (بدون فواصل أو رموز عملة داخل الرقم). التزم تمامًا بمخطط JSON المحدد في الطلب، ولا تضف أي نص خارج JSON.

يُرسل هذا التوجيه مصحوباً بمخطط JSON صارم (RESPONSE_SCHEMA في analyze.py، عبر خاصيتَي responseMimeType: application/json وresponseSchema في Gemini) يفرض الحقول vendor وdate وcategory وcurrency وline_items وsubtotal وtax وtotal بأنواعها الصحيحة، مع قائمة مغلقة لقيم category.

الشرح

إن صياغة التوجيه الخاص باستخراج البيانات من الصور وتصميم الكود المرفق معه لم يتم بشكل عشوائي، بل يعتمد على أسس هندسية واضحة لضمان الحصول على بيانات دقيقة وموثوقة في كل مرة يتم فيها تشغيل الأداة. إليك الأسباب الكامنة وراء خيارات التصميم هذه:

الخلاصة الذهبية التي يجب أن تخرج بها اليوم: التوجيه الاحترافي لاستخراج البيانات = قائمة حقول واضحة ومحددة + تعليمات صارمة تمنع التخمين والهلوسة + قالب مخرجات مغلق ومقيَّد برمجياً. هذه هي الوصفة التي يمكنك تكرارها لأي مهمة أتمتة تحوّل صورة إلى بيانات رقمية منظمة في عملك.