Aller au contenu
English

HarnessModelRoutingOptions

import type { HarnessModelRoutingOptions } from "@elie-laloum/outpost";
  • 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<Q>
    Déclaration figée de questions contenant la question choice sélectionnée.
  • questionRequis
    Key
    Clé explicite de question choice dont les critères correspondent exactement aux clés des modèles candidats.
  • modelsRequis
    Readonly<Record<\${Extract<keyof Extract<Q[Key], ChoiceQuestion>[“criteria”], string | number>}`, ModelSpec>>`
    Un candidat par choix déclaré ; tous utilisent le provider de modèles du harness et ont leurs propres réglages.
  • minConfidenceOptionnel
    number | undefined
    Seuil de confiance dans [0,1] ; une confiance inférieure sélectionne le repli. Valeur par défaut à la déclaration : 0.85.
  • fallbackRequis
    \${Extract<keyof Extract<Q[Key], ChoiceQuestion>[“criteria”], string | number>}“
    Clé de candidat déclaré utilisée en cas de faible confiance ou d’erreur autorisée du routeur.
  • onErrorOptionnel
    "fallback" | "fail" | undefined
    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 HarnessModelRoutingOptions<
  Q extends DecisionQuestions = DecisionQuestions,
  Key extends RoutingQuestion<Q> = RoutingQuestion<Q>,
> {
  readonly provider: DecisionProvider;
  readonly model: string;
  readonly decision: Decision<Q>;
  readonly question: Key;
  readonly models: Readonly<Record<RoutingChoices<Q, Key>, ModelSpec>>;
  readonly minConfidence?: number;
  readonly fallback: RoutingChoices<Q, Key>;
  readonly onError?: "fallback" | "fail";
  readonly state?: (
    context: HarnessModelRoutingContext,
  ) => DecisionState | Promise<DecisionState>;
}