דילוג לתוכן
Skynetתיעוד
דפים

חיבורים

API

התחברות, הפעלת ריצה וקריאת תוצאות דרך ה-API.

ה-HTTP API של Skynet מאפשר לסקריפטים ולכלים לעשות את מה שאפליקציית הווב עושה: להפעיל ריצות, לעקוב אחריהן ולקרוא את התוצאות. העמוד הזה מראה איך לחתום על בקשות, איפה נמצא התיעוד המלא, ודוגמה מלאה אחת.

כתובת הבסיס

שלח/י כל בקשה אל:

https://api.skynetml.com

אימות

ה-API משתמש ב-API tokens.

  1. פתח/י את הגדרות ב-Skynet, ואז פתח/י את הלשונית API.
  2. לחץ/י על צור/צרי טוקן.
  3. העתק/י את ה-token מיד. ‏Skynet מציג את ה-token המלא פעם אחת בלבד.

שלח/י את ה-token בכותרת Authorization של כל בקשה:

Authorization: Bearer skyd_...
  • tokens מתחילים ב-skyd_.
  • לכל משתמש יש לכל היותר token תקף אחד. token חדש מבטל את ה-token הישן.
  • לחץ/י על בטל/י טוקן כדי לבטל token.

תיעוד אינטראקטיבי

התיעוד המלא נמצא ב-api.skynetml.com/scalar. הוא מפרט כל endpoint ציבורי, את השדות שלו ואת התגובות שלו. אפשר לשלוח בקשות בדיקה מהדף הזה.

התיעוד קורא את מסמך ה-OpenAPI ב-https://api.skynetml.com/openapi.public.json. אפשר להשתמש בקובץ הזה כדי ליצור לקוח בשפה שלך.

endpoints עיקריים

שיטה ונתיבמה הוא עושה
GET /modelsמציג את המודלים שזמינים לך.
GET /optimizersמציג את האופטימייזרים שמתאימים להגדרות.
GET /blackbox/enginesמציג את המנועים המובנים ואם כל אחד מהם זמין.
POST /optimizeמפעיל ריצה עבור פרומפט, קוד, טקסט או תוכנית DSPy.
POST /blackbox/runמפעיל ריצה על מאגר GitHub.
GET /optimizationsמציג את הריצות שלך.
GET /optimizations/{optimization_id}מחזיר ריצה אחת: סטטוס, התקדמות, לוגים ותוצאה.
GET /optimizations/{optimization_id}/artifactמחזיר את הגרסה הטובה ביותר שהריצה מצאה.
POST /optimizations/{optimization_id}/cancelעוצר ריצה.
POST /serve/{optimization_id}מריץ את הגרסה הטובה ביותר על קלט חדש.
GET /healthמראה אם השירות פעיל.

הפעלת ריצה

POST /optimize מקבל את אותן הגדרות כמו אשף ההגשה. הדוגמה הזו משפרת פרומפט שממיין הודעות תמיכה לתוויות.

curl https://api.skynetml.com/optimize \
  -H "Authorization: Bearer $SKYNET_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: support-labels-001" \
  -d @run.json

שדות חשובים:

  • task.artifact.kind הוא prompt,‏ code,‏ text או dspy_program.
  • data.mode הוא pairs (קלטים עם פלטים צפויים) או single (מקרה אחד בדיוק).
  • optimizer.choice הוא auto או שם של אופטימייזר אחד מ-GET /optimizers.
  • max_cost_cents היא תקרת ההוצאה של הריצה הזו, בסנטים אמריקאיים.
  • is_private הוא false כברירת מחדל. הגדר/י אותו ל-true כדי לשמור על הריצה פרטית.

קרא/י את פונקציות מדידה ופונקציות ציון לכללים של run_code ו-metric_code.

תגובות

סטטוסמשמעות
201‏Skynet הכניס את הריצה לתור. הגוף מכיל optimization_id ו-status.
202בדיקת ההגדרות עדיין רצה. יש לחכות את מספר השניות שבכותרת Retry-After. אחר כך לשלוח את אותו גוף עם אותו Idempotency-Key.
402היתרה שלך נמוכה מדי.
409הגעת למכסה, או שבדיקת ההגדרות לא עדכנית.
422הבקשה או קוד ה-workspace לא מתאימים לאופטימייזר.

מעקב אחרי ריצה

בדוק/בדקי את הריצה שוב ושוב עד שהסטטוס שלה סופי:

curl https://api.skynetml.com/optimizations/$RUN_ID \
  -H "Authorization: Bearer $SKYNET_TOKEN"

השדה status הוא אחד מאלה:

סטטוססופי
pending,‏ validating,‏ runningלא
pausedלא
successכן
failed,‏ cancelled,‏ stoppedכן

מומלץ לבדוק כל 10 עד 30 שניות. ריצה יכולה להימשך מדקות עד שעות.

הפניית ה-API מציגה כל שדה בתגובת הריצה.

שימוש בתוצאה

כשהסטטוס הוא success, קבל/י את הגרסה הטובה ביותר:

curl https://api.skynetml.com/optimizations/$RUN_ID/artifact \
  -H "Authorization: Bearer $SKYNET_TOKEN"

כדי להריץ את הגרסה הטובה ביותר על קלט חדש, שלח/י POST /serve/{optimization_id}. קרא/י את תוצאות כדי להבין מה כל ציון אומר.

מגבלות

ה-API משתמש באותן מכסות, מגבלות קצב וחיוב כמו אפליקציית הווב. קרא/י את מגבלות ואת חיוב.