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.
13 KiB
| layout | title | parent |
|---|---|---|
| default | הגדרת מפרט תוכנית זרימה | Hebrew (Beta) |
<<<<<<< HEAD
הגדרת מפרט תוכנית זרימה
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. =======
מפרט הגדרת תוכנית זרימה
82edf2d (New md files from RunPod)
סקירה כללית
תוכנית זרימה מגדירה תבנית מלאה של דפוסי זרימת נתונים במערכת TrustGraph. כאשר היא מופעלת, היא יוצרת רשת מקושרת של מעבדים המטפלים בקליטת נתונים, עיבוד, אחסון ושליפה כחלק ממערכת מאוחדת.
מבנה
הגדרת תוכנית זרימה מורכבת מחמש קטעים עיקריים:
1. קטע מחלקה
<<<<<<< HEAD מגדיר מעבדי שירות משותפים המופעלים פעם אחת לכל תוכנית זרימה. מעבדים אלה מטפלים בבקשות מכל מופעי הזרימה של מחלקה זו.
מגדיר מעבדים משותפים המופעלים פעם אחת לכל תוכנית זרימה. מעבדים אלה מטפלים בבקשות מכל מופעי הזרימה של מחלקה זו.
82edf2d (New md files from RunPod)
"class": {
"service-name:{class}": {
"request": "queue-pattern:{class}",
"response": "queue-pattern:{class}",
"settings": {
"setting-name": "fixed-value",
"parameterized-setting": "{parameter-name}"
}
}
}
מאפיינים:
משותפים לכל מופעי זרימה מאותו סוג.
בדרך כלל שירותים יקרים או חסרי מצב (מודלים של שפה גדולים, מודלים להטמעה).
השתמשו במשתנה תבנית {class} עבור שמות תורים.
הגדרות יכולות להיות ערכים קבועים או פרמטריות באמצעות תחביר {parameter-name}.
דוגמאות: embeddings:{class}, text-completion:{class}, graph-rag:{class}
2. סעיף זרימה
<<<<<<< HEAD מגדיר מעבדים ספציפיים לזרימה, אשר מופעלים עבור כל מופע זרימה בודד. לכל זרימה יש סט נפרד משלה של מעבדים אלה.
מגדיר מעבדים ספציפיים לזרימה אשר מופעלים עבור כל מופע זרימה בודד. לכל זרימה יש סט נפרד משלה של מעבדים אלה.
82edf2d (New md files from RunPod)
"flow": {
"processor-name:{id}": {
"input": "queue-pattern:{id}",
"output": "queue-pattern:{id}",
"settings": {
"setting-name": "fixed-value",
"parameterized-setting": "{parameter-name}"
}
}
}
מאפיינים:
מופע ייחודי לכל זרימה
טיפול בנתונים ובמצב ספציפיים לזרימה
שימוש במשתנה תבנית {id} עבור שמות תורים
הגדרות יכולות להיות ערכים קבועים או פרמטריות באמצעות תחביר {parameter-name}
דוגמאות: chunker:{id}, pdf-decoder:{id}, kg-extract-relationships:{id}
3. סעיף ממשקים
מגדיר את נקודות הכניסה ואת חוזי האינטראקציה עבור הזרימה. אלה מהווים את ממשק ה-API עבור מערכות חיצוניות ותקשורת בין רכיבים פנימיים.
ממשקים יכולים לקבל שתי צורות:
<<<<<<< HEAD תבנית "שלח ושכח" (תור יחיד):
תבנית "שלח והשכח" (תור יחיד):
82edf2d (New md files from RunPod)
"interfaces": {
"document-load": "persistent://tg/flow/document-load:{id}",
"triples-store": "persistent://tg/flow/triples-store:{id}"
}
תבנית בקשה/תגובה (אובייקט עם שדות בקשה/תגובה):
"interfaces": {
"embeddings": {
"request": "non-persistent://tg/request/embeddings:{class}",
"response": "non-persistent://tg/response/embeddings:{class}"
}
}
סוגי ממשקים:
<<<<<<< HEAD
נקודות כניסה: נקודות שבהן מערכות חיצוניות מזריקות נתונים (document-load, agent)
ממשקי שירות: תבניות בקשה/תגובה עבור שירותים (embeddings, text-completion)
ממשקי נתונים: נקודות חיבור לזרימת נתונים מסוג "שלח וסגור" (triples-store, entity-contexts-load)
נקודות כניסה: נקודות בהן מערכות חיצוניות מזריקות נתונים (document-load, agent)
ממשקי שירות: תבניות בקשה/תגובה עבור שירותים (embeddings, text-completion)
ממשקי נתונים: נקודות חיבור לזרימת נתונים מסוג "שלח ושים" (triples-store, entity-contexts-load)
82edf2d (New md files from RunPod)
4. סעיף פרמטרים
ממפה שמות פרמטרים ספציפיים לזרימה להגדרות פרמטרים המאוחסנות באופן מרכזי:
"parameters": {
"model": "llm-model",
"temp": "temperature",
"chunk": "chunk-size"
}
מאפיינים:
המפתחות הם שמות הפרמטרים המשמשים בהגדרות המעבד (לדוגמה, {model})
הערכים מפנים להגדרות הפרמטרים המאוחסנות ב-schema/config
מאפשר שימוש חוזר בהגדרות פרמטרים נפוצות בין זרימות
מפחית כפילויות של סכימות פרמטרים
5. מטא-נתונים
מידע נוסף על תוכנית הזרימה:
"description": "Human-readable description",
"tags": ["capability-1", "capability-2"]
משתנים בתבנית
משתנים של המערכת
{id}
מוחלף במזהה הייחודי של מופע ה-flow
יוצר משאבים מבודדים עבור כל flow
דוגמה: flow-123, customer-A-flow
{class}
מוחלף בשם התבנית של ה-flow
יוצר משאבים משותפים בין flows של אותה תבנית
דוגמה: standard-rag, enterprise-rag
משתנים של פרמטרים
{parameter-name}
פרמטרים מותאמים אישית המוגדרים בזמן הפעלת ה-flow
שמות הפרמטרים תואמים למפתחות במקטע parameters של ה-flow
משמש בהגדרות של מעבדים כדי להתאים אישית את ההתנהגות
דוגמאות: {model}, {temp}, {chunk}
מוחלף בערכים המסופקים בעת הפעלת ה-flow
<<<<<<< HEAD
מאומתים מול הגדרות פרמטרים המאוחסנות באופן מרכזי
מאומתים מול הגדרות פרמטרים המאוחסנות במרכז
82edf2d (New md files from RunPod)
הגדרות מעבד
הגדרות מספקות ערכי תצורה למעבדים בזמן יצירתם. ניתן להגדיר אותן כ:
הגדרות קבועות
ערכים ישירים שאינם משתנים:
"settings": {
"model": "gemma3:12b",
"temperature": 0.7,
"max_retries": 3
}
הגדרות מותאמות אישית
ערכים המשתמשים בפרמטרים המסופקים בעת הפעלת ה-flow:
"settings": {
"model": "{model}",
"temperature": "{temp}",
"endpoint": "https://{region}.api.example.com"
}
שמות הפרמטרים בהגדרות תואמים למפתחות במקטע parameters של ה-flow.
דוגמאות להגדרות
מעבד LLM עם פרמטרים:
// In parameters section:
"parameters": {
"model": "llm-model",
"temp": "temperature",
"tokens": "max-tokens",
"key": "openai-api-key"
}
// In processor definition:
"text-completion:{class}": {
"request": "non-persistent://tg/request/text-completion:{class}",
"response": "non-persistent://tg/response/text-completion:{class}",
"settings": {
"model": "{model}",
"temperature": "{temp}",
"max_tokens": "{tokens}",
"api_key": "{key}"
}
}
חלוקה למקטעים עם הגדרות קבועות וניתנות לשינוי:
// In parameters section:
"parameters": {
"chunk": "chunk-size"
}
// In processor definition:
"chunker:{id}": {
"input": "persistent://tg/flow/chunk:{id}",
"output": "persistent://tg/flow/chunk-load:{id}",
"settings": {
"chunk_size": "{chunk}",
"chunk_overlap": 100,
"encoding": "utf-8"
}
}
תבניות תורים (פולסר)
תבניות זרימה משתמשות ב-Apache Pulsar עבור העברת הודעות. שמות התורים עוקבים אחר הפורמט של פולסר:
<persistence>://<tenant>/<namespace>/<topic>
רכיבים:
persistence: persistent או non-persistent (מצב אחסון של Pulsar)
tenant: tg עבור הגדרות תבניות זרימה המסופקות על ידי TrustGraph
namespace: מציין את דפוס העברת ההודעות
flow: שירותים מסוג "שלח וגע" (fire-and-forget)
<<<<<<< HEAD
request: החלק של הבקשה בשירותי בקשה/תגובה (request/response)
response: החלק של התגובה בשירותי בקשה/תגובה (request/response)
request: החלק של הבקשה בשירותי "בקשה/תגובה" (request/response)
response: החלק של התגובה בשירותי "בקשה/תגובה" (request/response)
82edf2d (New md files from RunPod) topic: שם התור/נושא הספציפי עם משתני תבנית
תורים קבועים (Persistent Queues)
דפוס: persistent://tg/flow/<topic>:{id}
משמש עבור שירותים מסוג "שלח וגע" וזרימת נתונים עמידה
<<<<<<< HEAD
הנתונים נשמרים באחסון של Pulsar בין הפעלות מחדש
הנתונים נשמרים באחסון של Pulsar גם לאחר אתחולים מחדש
82edf2d (New md files from RunPod) דוגמה:
persistent://tg/flow/chunk-load:{id}
תורים לא קבועים (Non-Persistent Queues)
דפוס: non-persistent://tg/request/<topic>:{class} או non-persistent://tg/response/<topic>:{class}
<<<<<<< HEAD
משמש עבור דפוסי העברת הודעות מסוג בקשה/תגובה
משמש עבור דפוסי העברת הודעות מסוג "בקשה/תגובה"
82edf2d (New md files from RunPod) זמני, אינו נשמר בדיסק על ידי Pulsar השהיה נמוכה יותר, מתאים לתקשורת בסגנון RPC דוגמה:
non-persistent://tg/request/embeddings:{class}
ארכיטקטורת זרימת נתונים
תבנית זרימת הנתונים יוצרת זרימה מאוחדת שבה:
- צינור עיבוד מסמכים: זרימה מאיסוף דרך טרנספורמציה לאחסון
- שירותי שאילתות: מעבדים משולבים השואלים את אותם מאגרי נתונים ושירותים
- שירותים משותפים: מעבדים מרכזיים שכל הזרימות יכולות להשתמש בהם
- כותבי אחסון: שומרים נתונים מעובדים לאחסונים המתאימים
כל המעבדים (גם {id} וגם {class}) עובדים יחד כגרף זרימת נתונים מגובש, ולא כמערכות נפרדות.
דוגמה להפעלה של זרימה
בהינתן:
מזהה מופע של זרימה: customer-A-flow
תבנית זרימה: standard-rag
מיפוי פרמטרים של זרימה:
"model": "llm-model"
"temp": "temperature"
"chunk": "chunk-size"
פרמטרים שסופקו על ידי המשתמש:
model: gpt-4
temp: 0.5
chunk: 512
הרחבות תבניות:
persistent://tg/flow/chunk-load:{id} → persistent://tg/flow/chunk-load:customer-A-flow
non-persistent://tg/request/embeddings:{class} → non-persistent://tg/request/embeddings:standard-rag
"model": "{model}" → "model": "gpt-4"
"temperature": "{temp}" → "temperature": "0.5"
"chunk_size": "{chunk}" → "chunk_size": "512"
זה יוצר:
<<<<<<< HEAD
צינור עיבוד מסמכים נפרד עבור customer-A-flow
צינור עיבוד מסמכים מבודד עבור customer-A-flow
82edf2d (New md files from RunPod) שירות הטמעה משותף עבור כל זרימות
standard-ragזרימת נתונים שלמה מאיסוף מסמכים דרך שאילתות מעבדים מוגדרים עם ערכי הפרמטרים שסופקו
יתרונות
- יעילות משאבים: שירותים יקרים משותפים בין זרימות
- בידוד זרימות: לכל זרימה יש את צינור עיבוד הנתונים שלה
- מדרגיות: ניתן להפעיל מספר זרימות מאותה תבנית
- מודולריות: הפרדה ברורה בין רכיבים משותפים ורכיבים ספציפיים לזרימה
- ארכיטקטורה מאוחדת: שאילתות ועיבוד הם חלק מאותה זרימת נתונים