תיעוד

תת-פייפליינים

pipeline יכול לקרוא לאחר כמו לפונקציה — לצורך פקטורינג של לוגיקה לשימוש חוזר או שיתוף יכולת בין ארגונים, עם ביקורת.

תת-פייפליינים

מעבר לנקודה מסוימת, העתקת אותו רצף צמתים לעשרה pipelines הופכת לחוב. תת-פייפליינים מאפשרים ל-pipeline לקרוא לאחר כמו לפונקציה: מגדירים לוגיקה פעם אחת, משתמשים בה בכל מקום — כולל בין ארגונים.

שתי לבנות סימטריות:

  • pipeline_callable (receiver, מוצהר על צומת Start) חושף pipeline מאחורי URL, עם חוזה קלטים ופלטים עם טיפוסים מוגדרים.
  • pipeline_call (צומת) קורא ל-pipeline זה: הוא ממפה קלטיו מהקונטקסט הנוכחי, ומאחסן את התוצאה במפתח פלט.

חשיפת pipeline (pipeline_callable)

על ה-pipeline "השירות", אתם מוסיפים receiver pipeline_callable שמצהיר:

  • קלטים — רשימת הפרמטרים הצפויים (שם, סוג, נדרש או לא).
  • פלטים — המפתחות של התוצאה שמוחזרת.
  • מפתח תגובה — איזה ערך מהקונטקסט מהווה את התגובה.
  • תקציב זמן — השהיית ביצוע מקסימלית (30 שניות כברירת מחדל, 300 שניות מקסימום).

ה-pipeline מקבל אז URL ציבורי (עם אסימון), להעברה ל-pipeline הקורא. האסימון ניתן לרוטציה בכל עת לביטול גישה.

קריאה ל-pipeline (pipeline_call)

על ה-pipeline "הצרכן", הצומת pipeline_call מוגדר עם:

  • הURL של ה-pipeline היעד.
  • מיפוי קלטים — לכל פרמטר צפוי, הסלקטור מהקונטקסט שממלא אותו.
  • מפתח הפלט — היכן לאחסן את התוצאה.

במקרה של כישלון (timeout, שגיאה, תגובה פגומה), ה-pipeline ממשיך: מפתח הפלט מקבל null ומפתח ._error מתאר מה קרה. עליכם לתזמר את ההמשך (ענף נסיגה, התראה).

קריאות בין ארגונים: opt-in ומבוקר

תת-pipeline יכול להיקרא על-ידי ארגון אחר — זו הבסיס לשיתוף יכולות בין גופים. המודל נשאר קפדני:

  • נדחה כברירת מחדל. קריאה בין-ארגונית אפשרית רק אם מנהל ה-pipeline החושף מאשר זאת במפורש (allow_cross_org).
  • חתימת HMAC מומלצת. ברגע שפותחים קריאה בין-ארגונית, מפעילים סוד משותף: כל בקשה חתומה, ה-receiver דוחה חתימה חסרה או לא תקינה.
  • הכל מתועד. כל הפעלה כותבת שורת ביקורת (ארגון קורא, צומת, עומק, זמן תגובה, סטטוס) — לפני הביצוע, כדי שעקבות יישמר גם במקרה של תקרית. שני הצדדים מעיינים ביומנים שלהם (בצד הקורא כמו בצד הנקרא), בהתאם לזכות הגישה של GDPR.

חיוב: הארגון הנקרא משלם על המשאבים (LLM, קול...) שנוצלו במהלך הביצוע. לוגיקת האורח: אתם משתמשים במשאבי המארח שלכם.

הגנה מפני לולאות אינסוף

pipeline שיקרא לעצמו, ישירות או דרך שרשרת, יצרוך קרדיטים ללא הגבלה. שתי הגנות:

  • זיהוי סטטי ברישום (בתוך ארגון): העורך מסרב לפרסם מחזור ישיר (A → A) או עקיף (A → B → C → A), תוך ציון השרשרת הבעייתית.
  • מנגנון הגנה בזמן ריצה (בין ארגונים, שבהם ראות סטטית אינה אפשרית): כל קריאה מפיצה את עומקה; מעבר לתקרה, הקריאה נחתכת.

מצבי ביצוע

  • סינכרוני — הצומת ממתין לתגובה המלאה. מתאים לעיבוד קצר.
  • Streaming — עבור תת-pipeline ארוך (הסקה LLM, עיבוד אצווה), ההתקדמות נוזלת בזמן אמת, ללא timeout קבוע. ה-pipeline הקורא יכול לחשוף התקדמות זו בממשק.

מתי להשתמש

  • פקטורינג של רצף שנוצל על-ידי כמה pipelines (סיכום שרשור, כישור lead, אימות מסמך).
  • שיתוף יכולת בין ארגונים — גוף אחד חושף "אימות חשבונית מול ERP", אחר צורך אותה, עם ביקורת משני הצדדים.
  • מקבוליות על מניפה של עיבודי-משנה עצמאיים מתוך לולאה.