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.
6 KiB
6 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.
סקירה כללית
בהתבסס על מפרט ה-STRUCTURED_DATA.md, המסמך מציע את התוספות והשינויים הנדרשים בסכימת פולסר כדי לתמוך ביכולות נתונים מובנות ב-TrustGraph.
שינויים בסכימה נדרשים
1. שיפורים בסכימה הליבה
הגדרת שדה משופרת
המחלקה Field הקיימת בקובץ core/primitives.py זקוקה לתכונות נוספות:
class Field(Record):
name = String()
type = String() # int, string, long, bool, float, double, timestamp
size = Integer()
primary = Boolean()
description = String()
# שדות חדשים:
required = Boolean() # האם השדה נדרש
enum_values = Array(String()) # עבור סוגי שדות enum
indexed = Boolean() # האם השדה צריך להיות מצביע
2. סכימות ידע חדשות
2.1 שליחת נתונים מובנים
קובץ חדש: knowledge/structured.py
from pulsar.schema import Record, String, Bytes, Map
from ..core.metadata import Metadata
class StructuredDataSubmission(Record):
metadata = Metadata()
format = String() # "json", "csv", "xml"
schema_name = String() # הפניה לסכימה בקונפיגורציה
data = Bytes() # נתונים גולמיים לשליחה
options = Map(String()) # אפשרויות ספציפיות לפורמט
3. סכימות שירות חדשות
3.1 שירות שאילתות NLP לנתונים מובנים
קובץ חדש: services/nlp_query.py
from pulsar.schema import Record, String, Array, Map, Integer, Double
from ..core.primitives import Error
class NLPToStructuredQueryRequest(Record):
natural_language_query = String()
max_results = Integer()
context_hints = Map(String()) # הקשר אופציונלי לשליפת שאילתה
class NLPToStructuredQueryResponse(Record):
error = Error()
graphql_query = String() # שאילתת GraphQL שנוצרה
variables = Map(String()) # משתני GraphQL אם יש
detected_schemas = Array(String()) # אילו סכימות השאילתה מכוונות
confidence = Double()
3.2 שירות שאילתות מובנות
קובץ חדש: services/structured_query.py
from pulsar.schema import Record, String, Map, Array
from ..core.primitives import Error
class StructuredQueryRequest(Record):
query = String() # שאילתת GraphQL
variables = Map(String()) # משתני GraphQL
operation_name = String() # שם פעולה אופציונלי למסמכים מרובי פעולות
class StructuredQueryResponse(Record):
error = Error()
data = String() # נתוני התגובה של GraphQL מקודדים ב-JSON
errors = Array(String()) # שגיאות GraphQL אם יש
2.2 פלט חילוץ אובייקטים
קובץ חדש: knowledge/object.py
from pulsar.schema import Record, String, Map, Double
from ..core.metadata import Metadata
class ExtractedObject(Record):
metadata = Metadata()
schema_name = String() # לאיזו סכימה השם הזה שייך
values = Map(String()) # שם שדה -> ערך
confidence = Double()
source_span = String() # טקסט השדה בו נמצא האובייקט
4. סכימות ידע משופרות
4.1 שיפור אמצעי הטבע
עדכן את knowledge/embeddings.py כדי לתמוך טוב יותר באמצעי הטבע מובנים:
class StructuredObjectEmbedding(Record):
metadata = Metadata()
vectors = Array(Array(Double()))
schema_name = String()
object_id = String() # ערך מפתח ראשי
field_embeddings = Map(Array(Double())) # אמצעי הטבע לכל שדה
נקודות אינטגרציה
אינטגרציה של זרימה
הסכימות ישמשו על ידי מודולי זרימה חדשים:
trustgraph-flow/trustgraph/decoding/structured- משתמש ב-StructuredDataSubmissiontrustgraph-flow/trustgraph/query/nlp_query/cassandra- משתמש בסכימות שאילתות NLPtrustgraph-flow/trustgraph/query/objects/cassandra- משתמש בסכימות שאילתות מובנותtrustgraph-flow/trustgraph/extract/object/row/- צורך Chunk, מייצר ExtractedObjecttrustgraph-flow/trustgraph/storage/objects/cassandra- משתמש בסכימה Rowstrustgraph-flow/trustgraph/embeddings/object_embeddings/qdrant- משתמש בסכימות אמצעי הטבע
הערות על יישום
- גרסת סכימה: כדאי להוסיף שדה
versionל-RowSchema לתמיכה בעדכונים עתידיים. - מערכת סוגים: ה-
Field.typeצריך לתמוך בכל סוגי הנתונים המקוריים של Cassandra. - פעולות אצווה: רוב השירותים צריכים לתמוך הן בפעולות בודדות והן בפעולות אצווה.
- טיפול בשגיאות: דיווח אחיד על שגיאות בכל השירותים החדשים.
- תאימות לאחור: הסכימות הקיימות נשארות ללא שינוי, מלבד שיפורים קטנים בשדות.
שלבים הבאים
- יישום קבצי הסכימה במבנה החדש.
- עדכון שירותים קיימים כדי לזהות סוגי סכימה חדשים.
- יישום מודולי זרימה המשתמשים בסכימות אלה.
- הוספת סיומות גשר/rev-גשר לשירותים החדשים.
- יצירת בדיקות יחידה עבור אימות סכימה.