EGYADMIN commited on
Commit
df6a51d
·
verified ·
1 Parent(s): caffd57

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +78 -211
README.md CHANGED
@@ -6,258 +6,125 @@ emoji: 🚀
6
  colorFrom: indigo
7
  colorTo: yellow
8
  short_description: تحليل متقدم للمناقصات، المحتوى المحلي، سلاسل الإمداد، والتوق
 
9
  ---
10
- # نظام تحليل المناقصات وتوقع المشاريع المستقبلية
11
 
12
- <div dir="rtl" align="center">
13
- <img src="web/assets/logos/peninsula_logo.png" alt="شعار شركة شبه الجزيرة للمقاولات" width="200" />
14
- <h2>نظام متكامل لتحليل المناقصات والمشاريع المستقبلية لشركة شبه الجزيرة للمقاولات</h2>
15
- <p>تحليل متقدم للمناقصات، المحتوى المحلي، سلاسل الإمداد، والتوقعات المستقبلية</p>
16
- <p>مستوى ثقة 95%</p>
17
- <p>مهندس التطوير: م. تامر الجوهري</p>
18
- </div>
19
 
20
- <div dir="rtl">
21
 
22
- ## نبذة عن المشروع
23
 
24
- هذا النظام هو منصة متكاملة تستخدم الذكاء الاصطناعي وتقنيات التعلم العميق لتحليل المناقصات وعقود المشاريع الكبرى في المملكة العربية السعودية. يركز النظام بشكل خاص على تحليل المحتوى المحلي وسلاسل الإمداد والتوقعات المستقبلية للمناقصات في قطاعات البلديات وصندوق الاستثمار ووزارة النقل.
25
 
26
- ### الإمكانيات الرئيسية
 
 
 
 
 
27
 
28
- - **تحليل المناقصات**: استخراج ومعالجة متطلبات المناقصات من الملفات بصيغ متعددة (PDF, Word, صور ممسوحة ضوئياً)
29
- - **تحليل المحتوى المحلي**: تقدير وحساب نسب المحتوى المحلي والامتثال للمتطلبات التنظيمية
30
- - **إدارة سلاسل الإمداد**: تحليل وتحسين سلاسل الإمداد المحلية واقتراح الموردين المحليين المناسبين
31
- - **التوقعات المستقبلية**: توقع المناقصات والمشاريع المستقبلية من مختلف الجهات الحكومية
32
- - **تقدير احتمالية النجاح**: حساب احتمالية الفوز بالمناقصات بناءً على تحليل البيانات التاريخية والسوق الحالي
33
- - **تقارير تحليلية**: إنشاء تقارير شاملة ولوحات معلومات تفاعلية لدعم اتخاذ القرار
34
 
35
- ## متطلبات النظام
 
 
 
 
 
36
 
37
- ### المتطلبات التقنية
38
 
39
- - Python 3.10 أو أحدث
40
- - بطاقة GPU بذاكرة 46 جيجابايت أو أكثر (للاستفادة الكاملة من قدرات النظام)
41
- - مساحة تخزين 20 جيجابايت على الأقل
42
- - اتصال إنترنت (مطلوب للوصول إلى واجهات برمجة التطبيقات الخارجية)
 
43
 
44
- ### المكتبات المطلوبة
 
 
 
 
 
45
 
46
- يمكن تثبيت جميع المكتبات المطلوبة باستخدام ملف `requirements.txt` المرفق:
 
 
 
47
 
48
- ```bash
49
- pip install -r requirements.txt
50
- ```
51
-
52
- ## طريقة الإعداد في بيئة HF中国镜像站
53
-
54
- ### 1. إنشاء Space في HF中国镜像站
55
-
56
- 1. قم بتسجيل الدخول إلى [HF中国镜像站](https://huggingface.co/)
57
- 2. انتقل إلى [Spaces](https://huggingface.co/spaces) وانقر على "Create new Space"
58
- 3. اختر اسماً للمشروع وحدد "Streamlit" كإطار عمل
59
- 4. اختر "GPU" كنوع الجهاز (يفضل A10G أو أفضل)
60
- 5. أنشئ المستودع
61
-
62
- ### 2. رفع الملفات إلى المستودع
63
 
64
- يمكنك رفع ملفات المشروع إلى مستودع HF中国镜像站 بإحدى الطرق التالية:
65
-
66
- #### عبر واجهة الويب
67
-
68
- 1. انتقل إلى صفحة Space الخاص بك
69
- 2. انقر على "Files" ثم "Add file"
70
- 3. قم برفع جميع الملفات أو المجلدات
71
-
72
- #### باستخدام Git
73
-
74
- ```bash
75
- git clone https://huggingface.co/spaces/username/your-space-name
76
- cd your-space-name
77
- # نسخ ملفات المشروع هنا
78
- git add .
79
- git commit -m "إضافة ملفات المشروع"
80
- git push
81
- ```
82
 
83
- #### باستخدام واجهة برمجة HF中国镜像站
84
 
85
  ```bash
86
- pip install huggingface_hub
87
- ```
88
-
89
- ```python
90
- from huggingface_hub import HfApi
91
-
92
- api = HfApi()
93
- api.upload_folder(
94
- folder_path="./tender_analysis_system",
95
- repo_id="username/your-space-name",
96
- repo_type="space"
97
- )
98
- ```
99
-
100
- ### 3. تحميل النماذج المدربة مسبقاً
101
-
102
- النظام يستخدم عدة نماذج مدربة مسبقاً. لتحميلها:
103
-
104
- 1. قم بإنشاء مجلد `models/trained` في مستودعك
105
- 2. حمل النماذج التالية:
106
-
107
- ```python
108
- from huggingface_hub import snapshot_download
109
-
110
- # نموذج ArabERT
111
- snapshot_download(repo_id="aubmindlab/arabert-base-v2",
112
- local_dir="./models/trained/arabert")
113
-
114
- # نموذج مدرب للتصنيف
115
- snapshot_download(repo_id="username/tender-classifier",
116
- local_dir="./models/trained/tender_classifier")
117
- ```
118
-
119
- ### 4. إعداد ملفات الإعدادات
120
-
121
- 1. تأكد من أن ملفات الإعدادات في مجلد `config/` تحتوي على القيم الصحيحة
122
- 2. عدل `config/anthropic_config.yaml` لإضافة مفتاح واجهة برمجة Anthropic الخاص بك
123
- 3. عدل `config/prediction_config.yaml` حسب احتياجاتك
124
-
125
- ### 5. تشغيل التطبيق
126
-
127
- بعد رفع جميع الملفات، سيقوم HF中国镜像站 Space بتثبيت المكتبات وتشغيل التطبيق تلقائياً. يمكنك الوصول إليه عبر الرابط:
128
- `https://huggingface.co/spaces/username/your-space-name`
129
-
130
- ## هيكل المشروع
131
-
132
- ```
133
- tender_analysis_system/
134
- ├── app.py # تطبيق الواجهة الرئيسية
135
- ├── requirements.txt # متطلبات المكتبات
136
- ├── README.md # هذا الملف
137
- ├── config/ # ملفات الإعدادات
138
- ├── models/ # النماذج وواجهات التحميل
139
- ├── preprocessing/ # معالجة المستندات والبيانات
140
- ├── analysis/ # وحدات التحليل المختلفة
141
- ├── supply_chain/ # تحليل سلاسل الإمداد
142
- ├── prediction/ # التوقعات المستقبلية
143
- ├── local_content/ # تحليل المحتوى المحلي
144
- ├── data/ # البيانات والقوالب
145
- ├── utils/ # أدوات مساعدة
146
- ├── training/ # وحدات تدريب النماذج
147
- ├── web/ # مكونات الواجهة
148
- └── logs/ # ملفات السجلات
149
  ```
150
 
151
  ## الوحدات الرئيسية
152
 
153
  ### معالجة المستندات
154
 
155
- - **document_reader.py**: قراءة وتحليل المستندات بأنواعها المختلفة
156
- - **ocr_processor.py**: معالجة الصور والمستندات الممسوحة ضوئياً
157
-
158
- ### التحليل
159
-
160
- - **requirement_analyzer.py**: تحليل متطلبات المناقصة
161
- - **cost_estimator.py**: تقدير تكاليف المشروع
162
- - **risk_analyzer.py**: تحليل المخاطر المحتملة
163
- - **local_content_analyzer.py**: تحليل نسب المحتوى المحلي
164
- - **future_projects_analyzer.py**: تحليل المشاريع المستقبلية
165
-
166
- ### نماذج التوقع
167
 
168
- - **tender_forecaster.py**: توقع المناقصات المستقبلية
169
- - **success_predictor.py**: توقع احتمالية النجاح
170
- - **future_prediction_model.py**: نموذج التوقعات المستقبلية الشامل
171
 
172
- ### واجهة المستخدم
173
 
174
- - **web/pages/**: صفحات التطبيق المختلفة
175
- - **web/components/**: مكونات واجهة المستخدم القابلة لإعادة الاستخدام
176
- - **web/styles/**: أنماط CSS للتطبيق
177
 
178
- ## دليل الاستخدام
179
 
180
- ### تحليل مناقصة جديدة
181
 
182
- 1. انتقل إلى صفحة "تحليل المناقصات"
183
- 2. ارفع ملفات المناقصة (PDF، Word، صور)
184
- 3. انقر على "تحليل" وانتظر اكتمال المعالجة
185
- 4. تصفح نتائج التحليل المختلفة عبر علامات التبويب
186
 
187
- ### تحليل المحتوى المحلي
188
 
189
- 1. انتقل إلى صفحة "المحتوى المحلي"
190
- 2. أدخل تفاصيل المشروع والمتطلبات
191
- 3. استعرض التحليل ونسب المحتوى المحلي المتوقعة
192
- 4. تصفح الموردين المحليين المقترحين
193
 
194
- ### توقع المشاريع المستقبلية
195
-
196
- 1. انتقل إلى صفحة "المشاريع المستقبلية"
197
- 2. اختر الجهة الحكومية (البلديات، صندوق الاستثمار، وزارة النقل، الكل)
198
- 3. حدد الفترة الزمنية للتوقع
199
- 4. استعرض الرسوم البيانية والتوقعات المستقبلية
200
-
201
- ### توقع احتمالية النجاح
202
-
203
- 1. انتقل إلى صفحة "توقع احتمالية النجاح"
204
- 2. أدخل تفاصيل المناقصة (القطاع، المنطقة، الميزانية، إلخ)
205
- 3. انقر على "تحليل" لعرض احتمالية النجاح ومستوى الثقة
206
- 4. استعرض العوامل المؤثرة والتوصيات
207
-
208
- ## التحديثات والصيانة
209
-
210
- - **تدريب النماذج**: يمكن إعادة تدريب النماذج عبر صفحة الإدارة باستخدام بيانات جديدة
211
- - **تحديث قاعدة البيانات**: يمكن تحديث قاعدة بيانات الموردين والمقاولين من خلال الواجهة
212
- - **نسخ احتياطي**: يتم عمل نسخ احتياطية تلقائية للبيانات والنماذج
213
-
214
- ## مواضيع متقدمة
215
-
216
- ### تخصيص النماذج
217
-
218
- يمكن تخصيص النماذج المستخدمة في النظام عبر:
219
-
220
- ```python
221
- from training.future_prediction_model import FuturePredictionModel
222
-
223
- # تدريب نموذج جديد
224
- model = FuturePredictionModel(config_path="config/prediction_config.yaml")
225
- model.train_classification_model(
226
- data_path="data/processed/new_tenders.csv",
227
- model_name="aubmindlab/arabert-base-v2",
228
- output_dir="models/trained/new_tender_classifier",
229
- epochs=5,
230
- batch_size=16,
231
- use_gpu=True
232
- )
233
- ```
234
 
235
- ### إضافة مصادر بيانات جديدة
236
 
237
- لإضافة مصادر بيانات جديدة:
238
 
239
- 1. قم بإنشاء ملف في مجلد `api_integrations/` للاتصال بالمصدر الجديد
240
- 2. أضف المصدر الجديد إلى `config/prediction_config.yaml`
241
- 3. قم بتحديث النماذج باستخدام البيانات الجديدة
242
 
243
- ## التكامل مع الأنظمة الأخرى
244
 
245
- يتكامل النظام مع:
 
 
246
 
247
- - منصة منافسات الحكومية
248
- - منصة اعتماد
249
- - وزارة الشؤون البلدية والقروية والإسكان
250
- - صندوق الاستثمارات العامة
251
 
252
- ## الدعم والمساعدة
253
 
254
- للحصول على مساعدة فنية:
 
 
 
 
255
 
256
- - البريد الإلكتروني: [email protected]
257
- - هاتف: +966 55 406 3339
258
 
259
- ## رخصة الاستخدام
260
 
261
- هذا البرنامج مرخص للاستخدام الحصري من قبل شركة شبه الجزيرة للمقاولات. جميع الحقوق محفوظة.
262
 
263
- </div>
 
6
  colorFrom: indigo
7
  colorTo: yellow
8
  short_description: تحليل متقدم للمناقصات، المحتوى المحلي، سلاسل الإمداد، والتوق
9
+ sdk_version: 1.43.2
10
  ---
11
+ # نظام تحليل المناقصات مع سلاسل الإمداد والمحتوى المحلي
12
 
13
+ ## نظرة عامة
 
 
 
 
 
 
14
 
15
+ نظام متكامل لتحليل المناقصات والعقود مع التركيز على سلاسل الإمداد والمحتوى المحلي، يستخدم تقنيات الذكاء الاصطناعي ومعالجة اللغة الطبيعية لاستخراج المعلومات المهمة وتقديم تحليلات وتوصيات.
16
 
17
+ ![الهيكل الهندسي للنظام](docs/images/system-architecture.svg)
18
 
19
+ ## المميزات الرئيسية
20
 
21
+ - **تحليل المناقصات**: استخراج المتطلبات والشروط الرئيسية من وثائق المناقصة
22
+ - **تحليل التكاليف والمخاطر**: تقدير التكاليف وتحديد المخاطر المحتملة
23
+ - **المحتوى المحلي**: تحليل وحساب نسبة المحتوى المحلي وتقديم توصيات للتحسين
24
+ - **سلاسل الإمداد**: تحليل سلاسل الإمداد وتحديد الموردين المحتملين
25
+ - **الجدول الزمني**: تحليل الجدول الزمني وتحديد المسار الحرج
26
+ - **الذكاء الاصطناعي**: استخدام نماذج اللغة الكبيرة ونماذج التعلم العميق للتحليل المتقدم
27
 
28
+ ## المتطلبات التقنية
 
 
 
 
 
29
 
30
+ - Python 3.9+
31
+ - Streamlit
32
+ - Pandas, NumPy, Matplotlib, Plotly
33
+ - Anthropic Claude API
34
+ - NLTK, Transformers, Sentence-Transformers
35
+ - PyPDF2, PyMuPDF, python-docx, textract
36
 
37
+ ## التثبيت
38
 
39
+ 1. استنساخ المستودع:
40
+ ```bash
41
+ git clone https://github.com/yourusername/tender-analysis-system.git
42
+ cd tender-analysis-system
43
+ ```
44
 
45
+ 2. إنشاء بيئة افتراضية:
46
+ ```bash
47
+ python -m venv venv
48
+ source venv/bin/activate # لينكس/ماك
49
+ venv\Scripts\activate # ويندوز
50
+ ```
51
 
52
+ 3. تثبيت الم��تبات المطلوبة:
53
+ ```bash
54
+ pip install -r requirements.txt
55
+ ```
56
 
57
+ 4. إعداد ملف `.env`:
58
+ ```
59
+ # إعدادات التطبيق
60
+ DEBUG=True
61
+ DATA_DIR=data
62
+ OUTPUT_DIR=output
63
+ LOGS_DIR=logs
 
 
 
 
 
 
 
 
64
 
65
+ # مفاتيح API
66
+ ANTHROPIC_API_KEY=your_anthropic_api_key
67
+ MUNAFASAT_API_KEY=your_munafasat_api_key
68
+ ETIMAD_API_KEY=your_etimad_api_key
69
+ BALADY_API_KEY=your_balady_api_key
70
+ ```
 
 
 
 
 
 
 
 
 
 
 
 
71
 
72
+ ## التشغيل
73
 
74
  ```bash
75
+ streamlit run main.py
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
76
  ```
77
 
78
  ## الوحدات الرئيسية
79
 
80
  ### معالجة المستندات
81
 
82
+ تستخرج المعلومات المهمة من المستندات ا��مختلفة (PDF, DOCX, XLSX, CSV, TXT).
 
 
 
 
 
 
 
 
 
 
 
83
 
84
+ ### تحليل المتطلبات
 
 
85
 
86
+ تحلل المتطلبات المستخرجة من المستندات وتقيم مدى اكتمالها ووضوحها.
87
 
88
+ ### تحليل التكاليف والمخاطر
 
 
89
 
90
+ تحلل التكاليف وتحدد المخاطر المحتملة وتقترح استراتيجيات للتخفيف منها.
91
 
92
+ ### المحتوى المحلي
93
 
94
+ تحسب نسبة المحتوى المحلي وتقدم توصيات لتحسينها.
 
 
 
95
 
96
+ ### سلاسل الإمداد
97
 
98
+ تحلل سلاسل الإمداد وتحدد الموردين المحتملين وتقيم المخاطر.
 
 
 
99
 
100
+ ### الجدول الزمني
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
101
 
102
+ تحلل الجدول الزمني وتحدد المسار الحرج وتقترح تحسينات.
103
 
104
+ ### نماذج الذكاء الاصطناعي
105
 
106
+ تستخدم نماذج اللغة الكبيرة ونماذج التعلم العميق للتحليل المتقدم.
 
 
107
 
108
+ ## التكامل مع المنصات الخارجية
109
 
110
+ - منصة المنافسات الحكومية (Munafasat)
111
+ - منصة اعتماد (Etimad)
112
+ - منصة بلدي (Balady)
113
 
114
+ ## المساهمة في المشروع
 
 
 
115
 
116
+ نرحب بمساهماتكم في تطوير المشروع! يرجى اتباع الخطوات التالية:
117
 
118
+ 1. عمل Fork للمستودع
119
+ 2. إنشاء فرع ج��يد لميزتكم (`git checkout -b feature/amazing-feature`)
120
+ 3. الالتزام بالتغييرات (`git commit -m 'Add some amazing feature'`)
121
+ 4. رفع الفرع إلى المستودع الخاص بكم (`git push origin feature/amazing-feature`)
122
+ 5. فتح طلب سحب (Pull Request)
123
 
124
+ ## الترخيص
 
125
 
126
+ هذا المشروع مرخص بموجب [ترخيص MIT](LICENSE).
127
 
128
+ ## الاتصال
129
 
130
+ للاستفسارات أو الدعم، يرجى التواصل عبر البريد الإلكتروني: [email protected]