Help us shape the future of Go! Take the 2026 Go Developer Survey

routing

package
v0.9.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 28, 2026 License: EUPL-1.2 Imports: 7 Imported by: 0

Documentation

Overview

Package routing ordonne les fournisseurs candidats et décide quelles erreurs déclenchent un repli.

Index

Constants

View Source
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

View Source
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

func Retryable(err error) bool

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 New

func New(current Candidate, local *Candidate, fallback []Candidate) *Router

New construit un Router ; les replis égaux au courant ou en double sont ignorés.

func (*Router) Candidates

func (r *Router) Candidates(sensitive bool) []Candidate

Candidates renvoie l'ordre d'essai. Une session sensible n'a que le fournisseur local (jamais de repli distant).

func (*Router) Local

func (r *Router) Local() (Candidate, bool)

Local renvoie le fournisseur local, s'il existe.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL