mirror of
https://github.com/trustgraph-ai/trustgraph.git
synced 2026-04-25 16:36: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.3 KiB
5.3 KiB
| layout | title | parent |
|---|---|---|
| default | הצעה לשחזור תיקיית הסכימה | Hebrew (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.
בעיות נוכחיות
- מבנה שטוח - כל הסכימות במקום אחד מקשות על הבנת הקשרים
- שילוב דאגות - סוגי ליבה, אובייקטים של תחום, וחוזים של API משולבים יחד
- שמות לא ברורים - קבצים כמו "object.py", "types.py", "topic.py" לא מציינים בבירור את מטרתם
- ללא שכבות ברורות - קשה לראות מה תלוי במה
מבנה מוצע
trustgraph-base/trustgraph/schema/
├── __init__.py
├── core/ # סוגי ליבה בסיסיים המשמשים בכל מקום
│ ├── __init__.py
│ ├── primitives.py # שגיאה, ערך, טריפל, שדה, סכימת שורה
│ ├── metadata.py # רשומת מטא-דאטה
│ └── topic.py # כלי לטיפול בנושאים
│
├── knowledge/ # מודלים של תחום ידע ואיסוף
│ ├── __init__.py
│ ├── graph.py # EntityContext, EntityEmbeddings, Triples
│ ├── document.py # מסמך, TextDocument, חתיכה
│ ├── knowledge.py # סוגי איסוף ידע
│ ├── embeddings.py # כל סוגי הסתמכות הקשורים (הועברו מקבצים רבים)
│ └── nlp.py # סוגי הגדרה, נושא, קשר, עובדה
│
└── services/ # חוזים של בקשות/תגובות שירות
├── __init__.py
├── llm.py # TextCompletion, Embeddings, בקשות/תגובות של כלי
├── retrieval.py # שאילתות/תגובות של GraphRAG, DocumentRAG
├── query.py # בקשות/תגובות של GraphEmbeddings, DocumentEmbeddings
├── agent.py # בקשות/תגובות של סוכן
├── flow.py # בקשות/תגובות של זרימה
├── prompt.py # בקשות/תגובות של שירות בקשות
├── 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": "להעריך את מבנה תיקיית הסכימה הנוכחי", "status": "completed", "priority": "high"}, {"id": "2", "content": "לנתח את הקבצים של הסכימה ולמטרות שלהם", "status": "completed", "priority": "high"}, {"id": "3", "content": "להציע מבנה ושמות טובים יותר", "status": "completed", "priority": "high"}]