Skip to content

LLM-leverantörer och felöver ​

Triggerfish stöder flera LLM-leverantörer med automatisk felöver, per-agent modellval och session-nivå modellbyte. Ingen inlåsning till en enda leverantör.

Stödda leverantörer ​

LeverantörAutentiseringModellerNoteringar
AnthropicAPI-nyckelClaude Opus, Sonnet, HaikuStandard Anthropic API
OpenAIAPI-nyckelGPT-4o, o1, o3Standard OpenAI API
GoogleAPI-nyckelGemini Pro, FlashGoogle AI Studio API
LokalIngenLlama, Mistral, etc.Ollama-kompatibel, OpenAI-format
OpenRouterAPI-nyckelAlla modeller på OpenRouterEnhetlig åtkomst till många leverantörer
Z.AIAPI-nyckelGLM-4.7, GLM-4.5, GLM-5Z.AI Coding Plan, OpenAI-kompatibel

LlmProvider-gränssnittet ​

Alla leverantörer implementerar samma gränssnitt:

typescript
interface LlmProvider {
  /** Generera en komplettering från en meddelandehistorik. */
  complete(
    messages: Message[],
    options?: CompletionOptions,
  ): Promise<CompletionResult>;

  /** Strömma en komplettering token-för-token. */
  stream(
    messages: Message[],
    options?: CompletionOptions,
  ): AsyncIterable<StreamChunk>;

  /** Om den här leverantören stöder verktyg/funktionsanrop. */
  supportsTools: boolean;

  /** Modellidentifieraren (t.ex. "claude-sonnet-4-5", "gpt-4o"). */
  modelId: string;
}

Det innebär att du kan byta leverantörer utan att ändra någon applikationslogik. Agentslingan och all verktygsorkestrering fungerar identiskt oavsett vilken leverantör som är aktiv.

Konfiguration ​

Grundläggande installation ​

Konfigurera din primärmodell och leverantörsuppgifter i 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 standard
    openrouter:
      model: anthropic/claude-sonnet-4-5
    zai:
      model: glm-4.7

Felöverkedja ​

FailoverChain tillhandahåller automatisk återgång när en leverantör är otillgänglig. Konfigurera en ordnad lista med reservmodeller:

yaml
models:
  primary:
    provider: anthropic
    model: claude-opus-4-5
  failover:
    - claude-sonnet-4-5 # Första reserv
    - gpt-4o # Andra reserv
    - ollama/llama3 # Lokal reserv (ingen internet krävs)

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

När primärmodellen misslyckas på grund av ett konfigurerat tillstånd (hastighetsbegränsning, serverfel eller timeout) provar Triggerfish automatiskt nästa leverantör i kedjan. Det sker transparent — konversationen fortsätter utan avbrott.

Felövertillstånd ​

TillståndBeskrivning
rate_limitedLeverantören returnerar ett 429 rate limit-svar
server_errorLeverantören returnerar ett 5xx serverfel
timeoutFörfrågan överstiger den konfigurerade timeoutgränsen

Per-agent modellval ​

I en multi-agentuppsättning kan varje agent använda en annan modell optimerad för sin roll:

yaml
agents:
  list:
    - id: research
      model: claude-opus-4-5 # Bäst resonerande för undersökning
    - id: quick-tasks
      model: claude-haiku-4-5 # Snabb och billig för enkla uppgifter
    - id: coding
      model: claude-sonnet-4-5 # Bra balans för kod

Session-nivå modellbyte ​

Agenten kan byta modeller mitt i en session för kostnadsoptimering. Använd en snabb modell för enkla frågor och eskalera till en mer kapabel modell för komplexa resonemang. Det här är tillgängligt via verktyget session_status.

Hastighetsbegränsning ​

Triggerfish inkluderar en inbyggd glidande fönster-hastighetsbegränsare som förhindrar att leverantörers API-gränser nås. Begränsaren omsluter valfri leverantör transparent — den spårar tokens-per-minut (TPM) och förfrågningar-per-minut (RPM) i ett glidande fönster och fördröjer anrop när gränser nås.

Hastighetsbegränsning fungerar tillsammans med felöver: om en leverantörs hastighetsgräns är uttömd och begränsaren inte kan vänta inom timeout, aktiveras felöverkedjan och provar nästa leverantör.

Se Hastighetsbegränsning för fullständiga detaljer inklusive OpenAI-nivåbegränsningar.

API-nycklar lagras aldrig i konfigurationsfiler. Använd din OS-nyckelring via triggerfish config set-secret. Se Säkerhetsmodellen för detaljer om hemlighethantering. :::