Documentation
¶
Overview ¶
Package routing ordonne les fournisseurs candidats et décide quelles erreurs déclenchent un repli.
Index ¶
Constants ¶
const FirstChunkTimeout = 60 * time.Second
FirstChunkTimeout est le délai maximal avant le premier chunk (ou battement de cœur, llm.Chunk.Heartbeat), compté après le retour de Stream. Le moteur ne l'applique que si un autre candidat peut prendre le relais dans le même envoi.
Variables ¶
var ErrNoFirstChunk = errors.New("no response before timeout")
ErrNoFirstChunk signale qu'aucune réponse n'est arrivée avant le délai.
Functions ¶
func Retryable ¶
Retryable classe l'erreur : indisponibilité, erreur de connexion ou délai avant le premier chunk sont réessayables ; authentification, contexte trop long, flux interrompu, annulation et autres 4xx ne le sont pas. Elle ne sait pas si une sortie a déjà été produite (une net.Error en cours de flux renvoie true) : l'appelant ne doit l'appeler que si aucun chunk n'a encore été reçu.
Types ¶
type Candidate ¶
type Candidate struct {
ID string
Provider provider.Provider
// Window est la fenêtre de contexte du fournisseur, en jetons estimés
// (0 : celle de la session).
Window int
}
Candidate est un fournisseur identifié.
type Router ¶
type Router struct {
// contains filtered or unexported fields
}
Router ordonne les candidats.
func (*Router) Candidates ¶
Candidates renvoie l'ordre d'essai. Une session sensible n'a que le fournisseur local (jamais de repli distant).