Skip to content

ספקי LLM ומעבר אוטומטי ​

Triggerfish תומך בספקי LLM מרובים עם מעבר אוטומטי, בחירת מודל לכל סוכן והחלפת מודל ברמת סשן. ללא נעילה לספק יחיד.

ספקים נתמכים ​

ספקאימותמודליםהערות
Anthropicמפתח APIClaude Opus, Sonnet, HaikuAPI סטנדרטי של Anthropic
OpenAIמפתח APIGPT-4o, o1, o3API סטנדרטי של OpenAI
Googleמפתח APIGemini Pro, FlashAPI של Google AI Studio
LocalללאLlama, Mistral, וכו'תואם Ollama, פורמט OpenAI
OpenRouterמפתח APIכל מודל ב-OpenRouterגישה מאוחדת לספקים רבים
Z.AIמפתח APIGLM-4.7, GLM-4.5, GLM-5תוכנית Z.AI Coding, תואם OpenAI

ממשק LlmProvider ​

כל הספקים מיישמים את אותו ממשק:

typescript
interface LlmProvider {
  /** יצירת השלמה מהיסטוריית הודעות. */
  complete(
    messages: Message[],
    options?: CompletionOptions,
  ): Promise<CompletionResult>;

  /** הזרמת השלמה token-by-token. */
  stream(
    messages: Message[],
    options?: CompletionOptions,
  ): AsyncIterable<StreamChunk>;

  /** האם ספק זה תומך בקריאת כלים/פונקציות. */
  supportsTools: boolean;

  /** מזהה המודל (למשל, "claude-sonnet-4-5", "gpt-4o"). */
  modelId: string;
}

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

תצורה ​

הגדרה בסיסית ​

הגדירו את המודל הראשי ואישורי ספק ב-triggerfish.yaml:

yaml
models:
  primary:
    provider: anthropic
    model: claude-sonnet-4-5
  providers:
    anthropic:
      model: claude-sonnet-4-5
    openai:
      model: gpt-4o
    google:
      model: gemini-pro
    ollama:
      model: llama3
      baseUrl: "http://localhost:11434/v1" # ברירת מחדל של Ollama
    openrouter:
      model: anthropic/claude-sonnet-4-5
    zai:
      model: glm-4.7

שרשרת מעבר ​

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

yaml
models:
  primary:
    provider: anthropic
    model: claude-opus-4-5
  failover:
    - claude-sonnet-4-5 # חלופה ראשונה
    - gpt-4o # חלופה שנייה
    - ollama/llama3 # חלופה מקומית (ללא צורך באינטרנט)

  failover_config:
    max_retries: 3
    retry_delay_ms: 1000
    conditions:
      - rate_limited
      - server_error
      - timeout

כאשר המודל הראשי נכשל עקב תנאי מוגדר (הגבלת קצב, שגיאת שרת או timeout), Triggerfish מנסה אוטומטית את הספק הבא בשרשרת. זה קורה באופן שקוף -- השיחה ממשיכה ללא הפרעה.

תנאי מעבר ​

תנאיתיאור
rate_limitedהספק מחזיר תגובת 429 הגבלת קצב
server_errorהספק מחזיר שגיאת שרת 5xx
timeoutהבקשה חורגת מה-timeout המוגדר

בחירת מודל לכל סוכן ​

בהגדרה רב-סוכנית, כל סוכן יכול להשתמש במודל שונה המותאם לתפקידו:

yaml
agents:
  list:
    - id: research
      model: claude-opus-4-5 # היסק הטוב ביותר למחקר
    - id: quick-tasks
      model: claude-haiku-4-5 # מהיר וזול למשימות פשוטות
    - id: coding
      model: claude-sonnet-4-5 # איזון טוב לקוד

החלפת מודל ברמת סשן ​

הסוכן יכול להחליף מודלים באמצע סשן לאופטימיזציית עלויות. השתמשו במודל מהיר לשאילתות פשוטות והסלימו למודל יכול יותר להיסק מורכב. זה זמין דרך כלי session_status.

הגבלת קצב ​

Triggerfish כולל מגביל קצב בחלון נע מובנה שמונע פגיעה במגבלות API של ספקים. המגביל עוטף כל ספק באופן שקוף -- הוא עוקב אחר tokens-per-minute (TPM) ו-requests-per-minute (RPM) בחלון נע ומשהה קריאות כאשר מתקרבים למגבלות.

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

ראו הגבלת קצב לפרטים מלאים כולל מגבלות שכבות OpenAI.

מפתחות API לעולם אינם מאוחסנים בקובצי תצורה. השתמשו ב-OS keychain

שלכם דרך triggerfish config set-secret. ראו את מודל האבטחה לפרטים על ניהול סודות. :::