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.
5.6 KiB
5.6 KiB
| layout | title | parent |
|---|---|---|
| default | اقتراح إعادة هيكلة دليل المخطط | 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.
المشاكل الحالية
- هيكل مسطح - وجود جميع المخططات في مجلد واحد يجعل من الصعب فهم العلاقات
- مزيج من المعايير - أنواع أساسية، كائنات مجال، وعقود واجهة برمجة تطبيقات كلها مدمجة معًا
- أسماء غير واضحة - الملفات مثل "object.py"، "types.py"، "topic.py" لا تشير بوضوح إلى الغرض منها
- لا يوجد تباين واضح - من الصعب معرفة ما يعتمد على ماذا
الهيكل المقترح
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 # خدمة البحث
التغييرات الرئيسية
-
تنظيم هرمي - فصل واضح بين الأنواع الأساسية، نماذج المعرفة، وعقود الخدمة
-
أسماء أفضل:
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
-
تجميع منطقي:
- جميع أنواع الاستعلامات مجمعة في
knowledge/embeddings.py - جميع العقود المتعلقة بالخدمة LLM في
services/llm.py - فصل واضح لزوجات الطلب/الاستجابة في دليل الخدمة
- تجميع أنواع استخراج المعرفة مع نماذج المعرفة الأخرى
- جميع أنواع الاستعلامات مجمعة في
-
وضوح الاعتماد:
- الأنواع الأساسية ليس لها تبعيات
- تعتمد نماذج المعرفة فقط على الأساس
- يمكن أن تعتمد عقود الخدمة على كل من الأساس ونماذج المعرفة
فوائد الهجرة
- سهولة التنقل - يمكن للمطورين العثور بسرعة على ما يحتاجون إليه
- تحسين الوحدات - حدود واضحة بين مختلف المعايير
- استيراد أبسط - مسارات استيراد أكثر بديهية
- قابلية التوسع - من السهل إضافة أنواع معرف أو خدمات جديدة دون تضييق
أمثلة على تغييرات الاستيراد
# قبل
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
ملاحظات التنفيذ
- الحفاظ على التوافق مع الإصدارات السابقة عن طريق الحفاظ على الاستيرادات في
__init__.pyالجذر - نقل الملفات تدريجيًا، مع تحديث الاستيرادات حسب الحاجة
- ضع في اعتبارك إضافة
legacy.pyالذي يستورد كل شيء لفاصل زمني الانتقال - تحديث الوثائق لتعكس الهيكل الجديد
<function_calls> [{"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"}]