Aller au contenu
English

HarnessModelRouting

import type { HarnessModelRouting } from "@elie-laloum/outpost";
  • kindRequis
    "model-routing"
    Discriminant model-routing de déclaration validée de routage.
  • providerRequis
    DecisionProvider
    Provider de décision indépendant utilisé une fois par étape du harness après compaction.
  • modelRequis
    string
    Modèle nommé du routeur, indépendant des modèles conversationnels candidats.
  • decisionRequis
    Decision<Readonly<Record<string, DecisionQuestion>>>
    Déclaration figée de questions contenant la question choice sélectionnée.
  • questionRequis
    string
    Clé explicite de question choice dont les critères correspondent exactement aux clés des modèles candidats.
  • modelsRequis
    Readonly<Record<string, AgentModel>>
    Un candidat par choix déclaré ; tous utilisent le provider de modèles du harness et ont leurs propres réglages.
  • minConfidenceRequis
    number
    Seuil de confiance dans [0,1] ; une confiance inférieure sélectionne le repli. Valeur par défaut à la déclaration : 0.85.
  • fallbackRequis
    string
    Clé de candidat déclaré utilisée en cas de faible confiance ou d’erreur autorisée du routeur.
  • onErrorRequis
    "fallback" | "fail"
    Fallback par défaut seulement pour timeout ou indisponibilité classée ; fail propage ces erreurs. Les autres erreurs se propagent toujours.
  • stateOptionnel
    ((context: HarnessModelRoutingContext) => DecisionState | Promise<DecisionState>) | undefined
    Fonction d’état synchrone/asynchrone facultative ; l’état par défaut contient instructions, historique visible, outils, étape et modèle actif sans raisonnement opaque.
export interface HarnessModelRouting {
  readonly kind: "model-routing";
  readonly provider: DecisionProvider;
  readonly model: string;
  readonly decision: Decision;
  readonly question: string;
  readonly models: Readonly<Record<string, AgentModel>>;
  readonly minConfidence: number;
  readonly fallback: string;
  readonly onError: "fallback" | "fail";
  readonly state?: (
    context: HarnessModelRoutingContext,
  ) => DecisionState | Promise<DecisionState>;
}