mirror of
https://github.com/trustgraph-ai/trustgraph.git
synced 2026-04-25 08:26:21 +02:00
Native CLI i18n: The TrustGraph CLI has built-in translation support that dynamically loads language strings. You can test and use different languages by simply passing the --lang flag (e.g., --lang es for Spanish, --lang ru for Russian) or by configuring your environment's LANG variable. Automated Docs Translations: This PR introduces autonomously translated Markdown documentation into several target languages, including Spanish, Swahili, Portuguese, Turkish, Hindi, Hebrew, Arabic, Simplified Chinese, and Russian.
99 lines
5.6 KiB
Markdown
99 lines
5.6 KiB
Markdown
---
|
|
layout: default
|
|
title: "اقتراح إعادة هيكلة دليل المخطط"
|
|
parent: "Arabic (Beta)"
|
|
---
|
|
|
|
# اقتراح إعادة هيكلة دليل المخطط
|
|
|
|
> **Beta Translation:** This document was translated via Machine Learning and as such may not be 100% accurate. All non-English languages are currently classified as Beta.
|
|
|
|
## المشاكل الحالية
|
|
|
|
1. **هيكل مسطح** - وجود جميع المخططات في مجلد واحد يجعل من الصعب فهم العلاقات
|
|
2. **مزيج من المعايير** - أنواع أساسية، كائنات مجال، وعقود واجهة برمجة تطبيقات كلها مدمجة معًا
|
|
3. **أسماء غير واضحة** - الملفات مثل "object.py"، "types.py"، "topic.py" لا تشير بوضوح إلى الغرض منها
|
|
4. **لا يوجد تباين واضح** - من الصعب معرفة ما يعتمد على ماذا
|
|
|
|
## الهيكل المقترح
|
|
|
|
```
|
|
trustgraph-base/trustgraph/schema/
|
|
├── __init__.py
|
|
├── core/ # أنواع أساسية أولية مستخدمة في كل مكان
|
|
│ ├── __init__.py
|
|
│ ├── primitives.py # Error, Value, Triple, Field, RowSchema
|
|
│ ├── metadata.py # سجل البيانات الوصفية
|
|
│ └── topic.py # أدوات الموضوع
|
|
│
|
|
├── knowledge/ # نماذج مجال المعرفة واستخراجها
|
|
│ ├── __init__.py
|
|
│ ├── graph.py # EntityContext, EntityEmbeddings, Triples
|
|
│ ├── document.py # Document, TextDocument, Chunk
|
|
│ ├── knowledge.py # أنواع استخراج المعرفة
|
|
│ ├── embeddings.py # جميع أنواع الاستعلامات المتعلقة بالاستعلام (تم نقلها من ملفات متعددة)
|
|
│ └── nlp.py # أنواع Definition, Topic, Relationship, Fact
|
|
│
|
|
└── services/ # عقود طلب/استجابة الخدمة
|
|
├── __init__.py
|
|
├── llm.py # TextCompletion, Embeddings, Tool requests/responses
|
|
├── retrieval.py # GraphRAG, DocumentRAG queries/responses
|
|
├── query.py # GraphEmbeddingsRequest/Response, DocumentEmbeddingsRequest/Response
|
|
├── agent.py # Agent requests/responses
|
|
├── flow.py # Flow requests/responses
|
|
├── prompt.py # طلبات/استجابات خدمة Prompt
|
|
├── config.py # خدمة التكوين
|
|
├── library.py # خدمة المكتبة
|
|
└── lookup.py # خدمة البحث
|
|
```
|
|
|
|
## التغييرات الرئيسية
|
|
|
|
1. **تنظيم هرمي** - فصل واضح بين الأنواع الأساسية، نماذج المعرفة، وعقود الخدمة
|
|
2. **أسماء أفضل**:
|
|
- `types.py` → `core/primitives.py` (الغرض أكثر وضوحًا)
|
|
- `object.py` → تقسيم بين الملفات المناسبة بناءً على المحتوى الفعلي
|
|
- `documents.py` → `knowledge/document.py` (فردي، متسق)
|
|
- `models.py` → `services/llm.py` (نوع النماذج أكثر وضوحًا)
|
|
- `prompt.py` → تقسيم: أجزاء الخدمة إلى `services/prompt.py`، أنواع البيانات إلى `knowledge/nlp.py`
|
|
|
|
3. **تجميع منطقي**:
|
|
- جميع أنواع الاستعلامات مجمعة في `knowledge/embeddings.py`
|
|
- جميع العقود المتعلقة بالخدمة LLM في `services/llm.py`
|
|
- فصل واضح لزوجات الطلب/الاستجابة في دليل الخدمة
|
|
- تجميع أنواع استخراج المعرفة مع نماذج المعرفة الأخرى
|
|
|
|
4. **وضوح الاعتماد**:
|
|
- الأنواع الأساسية ليس لها تبعيات
|
|
- تعتمد نماذج المعرفة فقط على الأساس
|
|
- يمكن أن تعتمد عقود الخدمة على كل من الأساس ونماذج المعرفة
|
|
|
|
## فوائد الهجرة
|
|
|
|
1. **سهولة التنقل** - يمكن للمطورين العثور بسرعة على ما يحتاجون إليه
|
|
2. **تحسين الوحدات** - حدود واضحة بين مختلف المعايير
|
|
3. **استيراد أبسط** - مسارات استيراد أكثر بديهية
|
|
4. **قابلية التوسع** - من السهل إضافة أنواع معرف أو خدمات جديدة دون تضييق
|
|
|
|
## أمثلة على تغييرات الاستيراد
|
|
|
|
```python
|
|
# قبل
|
|
from trustgraph.schema import Error, Triple, GraphEmbeddings, TextCompletionRequest
|
|
|
|
# بعد
|
|
from trustgraph.schema.core import Error, Triple
|
|
from trustgraph.schema.knowledge import GraphEmbeddings
|
|
from trustgraph.schema.services import TextCompletionRequest
|
|
```
|
|
|
|
## ملاحظات التنفيذ
|
|
|
|
1. الحفاظ على التوافق مع الإصدارات السابقة عن طريق الحفاظ على الاستيرادات في `__init__.py` الجذر
|
|
2. نقل الملفات تدريجيًا، مع تحديث الاستيرادات حسب الحاجة
|
|
3. ضع في اعتبارك إضافة `legacy.py` الذي يستورد كل شيء لفاصل زمني الانتقال
|
|
4. تحديث الوثائق لتعكس الهيكل الجديد
|
|
|
|
<function_calls>
|
|
<invoke name="TodoWrite">
|
|
<parameter name="todos">[{"id": "1", "content": "Examination of the current schema directory structure", "status": "completed", "priority": "high"}, {"id": "2", "content": "Analyze schema files and their purposes", "status": "completed", "priority": "high"}, {"id": "3", "content": "Propose improved naming and structure", "status": "completed", "priority": "high"}]
|