خادم API عالي السرعة لتوفير بيانات القوانين والسوابق القضائية اليابانية
🇯🇵 日本語 | 🇬🇧 English | 🇨🇳 简体中文 | 🇹🇼 繁體中文 | 🇷🇺 Русский | 🇮🇷 فارسی | 🇸🇦 العربية
توثيق API المُنشأ تلقائيًا بواسطة FastAPI
نتائج البحث للكلمة الرئيسية "حرية التعبير"
نتائج البحث في السوابق القضائية للكلمة الرئيسية "معرض عدم حرية التعبير كانساي"
e-gov API FastAPI هو خادم RESTful API يوفر وصولاً عالي السرعة إلى بيانات القوانين والسوابق القضائية اليابانية.
يتكامل مع e-gov Law API و موقع المحاكم لتوفير وصول في الوقت الفعلي إلى أحدث المعلومات القانونية.
الميزات الرئيسية:
- 🔍 البحث في القوانين والاسترجاع التفصيلي وسجل التعديلات
- ⚖️ البحث في السوابق القضائية والاسترجاع التفصيلي
- 📊 تحليل العلاقات بين القوانين والسوابق القضائية
- 🚀 أداء عالي السرعة مع التخزين المؤقت Redis
- 🌐 دعم VPN/Tailscale
عند الوصول إلى المعلومات القانونية اليابانية، هناك التحديات التالية:
- بيانات قانونية مبعثرة: واجهات برمجة التطبيقات الحكومية صعبة الاستخدام مع توثيق غير كافٍ
- صعوبة الحصول على بيانات السوابق القضائية: لا يوجد API منهجي
- تعقيد تكامل البيانات: لا توجد آلية لتحليل العلاقات بين القوانين والسوابق القضائية
يقوم خادم API هذا بدمج مصادر بيانات متعددة، مما يسهل على المطورين الوصول إلى المعلومات القانونية اليابانية.
ماذا يفعل:
- وصول موحد إلى قواعد بيانات القوانين
- البحث والحصول على بيانات السوابق القضائية
- تحليل العلاقات بين القوانين والسوابق القضائية
- استجابة سريعة (وظيفة التخزين المؤقت)
حالات الاستخدام:
- الواجهة الخلفية لتطبيقات الاستشارات القانونية
- API أساسي لمنتجات LegalTech
- تحليل وبحث البيانات القانونية
- أنظمة التتبع التلقائي لتعديلات القوانين
- Python 3.12+
- Docker أو Podman
- uv (مدير الحزم)
# استنساخ المستودع
git clone https://github.com/clearclown/e-gov-api-fastAPI.git
cd e-gov-api-fastapi
# تكوين متغيرات البيئة
cp .env.example .env
# البدء
podman compose up -d
# أو
docker compose up -d
# التحقق من العملية
curl http://localhost:8000/health# تثبيت uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# إنشاء بيئة افتراضية
uv venv
# تفعيل البيئة الافتراضية
source .venv/bin/activate # Linux/Mac
.venv\Scripts\activate # Windows
# تثبيت التبعيات
uv pip install -e .
# بدء خادم التطوير
uv run uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload- توثيق API: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
- فحص الصحة: http://localhost:8000/health
# إيقاف وإزالة الخدمات
podman compose down
# الإزالة الكاملة بما في ذلك المجلدات
podman compose down -v
# إزالة الصور
podman rmi e-gov-api-fastapi-app# إزالة البيئة الافتراضية
rm -rf .venv
# مسح ذاكرة التخزين المؤقت
uv cache clean| الفئة | التقنية |
|---|---|
| إطار العمل | FastAPI |
| اللغة | Python 3.12+ |
| قاعدة البيانات | PostgreSQL 16 + pgvector |
| التخزين المؤقت | Redis 7 |
| مدير الحزم | uv |
| الحاوية | Docker / Podman |
| واجهات برمجة التطبيقات الخارجية | e-gov Law API، المحاكم |
┌─────────────┐
│ العميل │
└──────┬──────┘
│
▼
┌─────────────────────────────┐
│ تطبيق FastAPI │
│ ┌──────────────────────┐ │
│ │ نقاط نهاية القوانين│ │
│ │ نقاط نهاية السوابق │ │
│ │ نقاط نهاية التحليل │ │
│ └──────────────────────┘ │
└──┬───────────┬──────────┬───┘
│ │ │
▼ ▼ ▼
┌──────┐ ┌────────┐ ┌─────────┐
│Redis │ │Postgres│ │e-gov API│
│Cache │ │Database│ │Courts DB│
└──────┘ └────────┘ └─────────┘
تدفق البيانات:
- يرسل العميل طلب API
- يعالج FastAPI الطلب
- التحقق من التخزين المؤقت Redis (استجابة فورية عند الإصابة)
- عند عدم الإصابة في ذاكرة التخزين المؤقت، استرجاع البيانات من واجهات برمجة التطبيقات الخارجية (e-gov/المحاكم)
- حفظ البيانات المستردة في PostgreSQL
- إرجاع الاستجابة والتخزين المؤقت في Redis
بنية الملفات:
e-gov-api-fastapi/
├── app/ # كود التطبيق
│ ├── api/ # نقاط نهاية API
│ ├── core/ # الإعدادات الأساسية واتصال DB
│ ├── services/ # منطق الأعمال
│ └── main.py # نقطة الدخول
├── infra/
│ └── podmanOrDocker/ # تكوين Docker/Podman
│ ├── Dockerfile # النسخة الكاملة (مع ميزات AI)
│ └── Dockerfile.lite # النسخة الخفيفة (API فقط)
├── docs/ # التوثيق
│ ├── pics/ # لقطات الشاشة
│ └── readmeLang/ # README متعدد اللغات
├── scripts/ # نصوص برمجية مساعدة
├── docker-compose.yml # تكوين Compose الرئيسي
├── pyproject.toml # تكوين المشروع
└── .env # متغيرات البيئة
استخدام الموارد:
النسخة الخفيفة (افتراضي):
- خادم API: ~600MB
- PostgreSQL: ~500MB
- Redis: ~50MB
- الإجمالي: ~1.2GB
النسخة الكاملة (مع ميزات AI):
- خادم API: ~3-4GB (PyTorch + CUDA)
- PostgreSQL: ~500MB
- Redis: ~50MB
- الإجمالي: ~4-5GB
طرق الوصول:
جميع الخدمات تستمع على 0.0.0.0 ويمكن الوصول إليها عبر:
- Localhost:
http://localhost:8000 - الشبكة المحلية:
http://[IP المضيف]:8000 - Tailscale/VPN:
http://[IP Tailscale]:8000
تكوين المنفذ (قابل للتغيير في .env):
- خادم API:
8000 - PostgreSQL:
5432 - Redis:
6379
دعم VPN/Tailscale:
ربط 0.0.0.0 يتيح الوصول عن بُعد.
المرحلتان 1 و2: الميزات الأساسية ✅ مكتمل
- تنفيذ عميل e-gov API
- نقاط نهاية البحث والاسترجاع التفصيلي للقوانين
- وظيفة استخراج البيانات والبحث في السوابق القضائية
- تنفيذ التخزين المؤقت Redis
- تكامل قاعدة بيانات PostgreSQL
- دعم Docker/Podman الكامل
المرحلة 3: تكامل AI 🔄 مخطط
- AgenticRAG للبحث الدلالي
- البحث الشعاعي (استخدام pgvector)
- تكامل Claude API
- الأسئلة والأجوبة باللغة الطبيعية
- تنفيذ خادم MCP
المرحلة 4: التحليلات المتقدمة 🔄 مخطط
- تصور رسم بياني للعلاقات بين القوانين والسوابق القضائية
- تحليل شبكة الاستشهادات بالسوابق القضائية
- توليد ملخص تلقائي
- واجهة استشارات قانونية على شكل محادثة
المساهمات في المشروع مرحب بها!
تقارير الأخطاء وطلبات الميزات:
يرجى الإبلاغ في GitHub Issues.
طلبات السحب:
- Fork هذا المستودع
- إنشاء فرع ميزة
- Commit التغييرات
- دفع إلى الفرع
- إنشاء طلب سحب
إرشادات التطوير:
- نمط الكود: اتباع PEP 8
- رسائل Commit: تنسيق Conventional Commits
- الاختبار: إضافة اختبارات دائمًا للميزات الجديدة
- pgvector - امتداد البحث الشعاعي PostgreSQL
- Claude API - Anthropic Claude AI
يتم توفير هذا المشروع بموجب ترخيص مزدوج:
مثالي للاستخدام الشخصي والتجاري
انظر LICENSE-MIT
للاستخدام المؤسسي وحماية براءات الاختراع
انظر LICENSE-APACHE
يمكنك اختيار أي ترخيص يناسب احتياجاتك.
⭐ إذا كان هذا المشروع مفيدًا، يرجى إعطاؤه نجمة!
Made with ❤️ by clearclown
📧 الاتصال: clearclown@gmail.com


