Aller au contenu principal

promptfoo (promptfoo)

Exécute des suites de tests d'invites et de modèles (assertions, régressions, red teaming) et sert la visionneuse des résultats.

Généré depuis catalog/services/promptfoo.yaml : ne pas modifier à la main.

Résumé​

Version0.117.4
Usageexécuter à la demande
Couchefonctionnelle (catalogue IA)
CatégorieÉvaluation et exploitation des LLM
Méthodes d'installationpodman, binary
Connexion externenon
Réservé au bac à sablenon

Licence​

Identifiant SPDXMIT
Politique de licencelicence socle (MIT ou Apache-2.0)
Exception de licence-
Composant de la plateformepromptfoo

Paquets et artefacts​

Un paquet que publie le projet du service (son image, son archive binaire, son paquet Python ou système) porte la licence du service ; un paquet tiers porte la licence écrite sur sa ligne, lue dans les métadonnées officielles du projet amont.

TypePaquetVersionLicenceDétails
image de conteneurghcr.io/promptfoo/promptfoo0.117.4MITclé d'image promptfoo, utilisée par viewer, condensé sha256:e260878c048eb220e824f867d48ffff5ace1ccff4ca8507b9e778c17c0b46cdb
archive binairepromptfoo-0.117.4.tgz0.117.4MIThttps://registry.npmjs.org/promptfoo/-/promptfoo-0.117.4.tgz

Les images sont épinglées par étiquette dans le descripteur, et par condensé (digest) quand le descripteur en déclare un (le bundle hors ligne refuse alors une image téléchargée qui ne le porte pas) ; le condensé est enregistré dans le miroir du Manager à l'import du bundle hors ligne, et chaque téléchargement ou chargement est vérifié par rapport à lui.

Systèmes et architectures pris en charge​

MéthodeSystèmes d'exploitationArchitectures
podmanfamille RHEL (dnf), famille Debian (apt), Arch Linux (pacman)x86_64, aarch64 (non restreintes par le descripteur)
binaryfamille RHEL (dnf), famille Debian (apt), Arch Linux (pacman)x86_64, aarch64 (non restreintes par le descripteur)

Systèmes hôtes certifiés : RHEL 8/9/10, Rocky Linux 8/9/10, AlmaLinux 8/9/10, Oracle Linux 8/9, CentOS Stream 9/10, Ubuntu 22.04/24.04, Debian 12, Arch Linux (rolling). Le contrôle préalable des hôtes accepte ces systèmes (une autre version d'une famille connue donne un avertissement, une version en fin de vie est refusée) et les architectures x86_64 et aarch64.

Prérequis​

Hôte​

Le descripteur ne déclare aucun contrôle préalable de l'hôte.

Réseau et ports​

ComposantNom du portPortOuvert dans le pare-feu de l'hôte
viewerhttp15500/tcpoui

Services et connexions nécessaires​

Détail et résolution : voir Dépendances.

Méthodes et modes d'installation​

MéthodeDéfautCe que la méthode utilise
podmanouiles images de conteneur du descripteur, exécutées par Podman sous systemd
binary-les archives binaires du descripteur, décompressées dans le répertoire du service

Composants​

ComposantTypeMéthodes d'installationPorts
Visionneuse (viewer)maîtrepodman, binary15500/tcp

Unique (single) (par défaut)​

Une seule visionneuse.

Ce que le mode déploie :

ComposantPlacement
viewermin 1, max 1

Installer ce service​

L'assistant d'installation du Navin Manager planifie, valide et exécute l'installation ; il faut la permission services:install sur le cluster.

  1. Ouvrez l'assistant. Dans Clusters, choisissez l'action de ligne Installer des services du cluster cible. L'assistant s'ouvre sur sa première étape, Service.

  2. Choisissez le service. À l'étape Service, sélectionnez promptfoo. La carte affiche la licence MIT et les dépendances dont l'installation a besoin. Choisissez la Méthode parmi podman, binary (par défaut podman).

  3. Choisissez les hôtes et le mode. À l'étape Hôtes, cochez les hôtes, puis choisissez le Mode : single (par défaut). Chaque mode déploie les composants listés dans Méthodes et modes d'installation.

  4. Liez les dépendances. À l'étape Liaisons, choisissez pour chaque dépendance (litellm) Installer avec la plateforme ou Utiliser une connexion existante ; une dépendance facultative peut rester sur Aucune liaison.

  5. Configurez. À l'étape Configuration, relisez les paramètres (voir Paramètres de configuration) ; les paramètres obligatoires sont llm_api_key. Les mots de passe laissés vides avec une valeur générée par défaut sont générés et scellés par le Manager.

  6. Relisez et installez. À l'étape Installation, le Manager valide le plan et affiche l'ordre d'installation ; quand il indique « Le plan est valide. Prêt pour l'installation. », choisissez Installer. Un mode hautement disponible n'est installé que si ses contrôles HA réussissent.

  7. Vérifiez. L'opération se termine quand les contrôles de santé de chaque instance réussissent (voir Contrôles de santé) ; le service apparaît alors en marche dans Services.

Exécutions à la demande​

Exécute une suite de tests d'invites et de modèles (assertions, régressions) quand un test est demandé et garde les résultats pour la visionneuse.

Écran du portail : /quality/suites

Haute disponibilité​

Clusteraucun (none)
Haute disponibilitéaucun (none)
Basculeaucun (none)
Réplicationaucun (none)
Quorumaucun (none)
Découverteaucun (none)
Point d'entréeaucun (none)
Documentation officiellehttps://www.promptfoo.dev/docs/usage/web-ui/

Topologie par mode​

ModesNiveau le plus haut du catalogueRépartitionComposant du quorumDomaines de panneDescription
singleautonome (standalone)jobs parallèles (parallel-jobs)--Un visualiseur ; les évaluations tournent comme des jobs indépendants.

Remarques​

  • Outil en ligne de commande lancé à la demande : jamais un cluster hautement disponible ; plusieurs analyses tournent comme des jobs parallèles indépendants.

Paramètres de configuration​

Général​

ParamètreTypeDéfautValeurs permisesObligatoireSecretRedémarrageDescription
Port de la visionneuse (port)port15500-nonnonnonPort de promptfoo view.
Environnement Node.js (node)path/usr/bin/node-nonnonnonNode.js 20 ou plus récent pour la méthode binaire (prérequis hors ligne).
Point d'accès compatible OpenAI (llm_base_url)urlhttp://127.0.0.1:4000/v1-nonnonnonURL de base des modèles testés quand aucune liaison LiteLLM n'est définie (une adresse de l'hôte ; 127.0.0.1 est injoignable depuis le conteneur de la méthode podman).
Clé d'API (llm_api_key)password--ouiouinonClé du point d'accès.

Dépendances​

Pour chaque dépendance active, le Manager prend la première solution parmi : la liaison choisie dans l'assistant ; un service de la même installation qui la fournit ; un service déjà installé dans le cluster ; la seule connexion du type attendu. Sinon, une dépendance facultative reste non liée, et une dépendance obligatoire est ajoutée à l'installation dans son mode par défaut (la colonne ci-dessous nomme le service du catalogue ajouté).

LiaisonFournie parType de connexionPoint d'accèsFacultativeQuand rien n'est liéDescription
litellmlitellm-apiouireste non liée (facultative)Passerelle LiteLLM de la plateforme servant les modèles testés (OPENAI_BASE_URL) ; sans elle le paramètre point d'accès est utilisé.

Commandes​

CommandeComposantCibleDescription
Lancer une suite de tests (eval)viewerpremier hôteExécute le promptfooconfig.yaml d'un répertoire et enregistre le résultat pour la visionneuse.

Paramètres des commandes​

CommandeParamètreTypeDéfautObligatoireDescription
evalRépertoire de la suite (suite_dir)path-ouiRépertoire contenant promptfooconfig.yaml.

Contrôles de santé​

Vivacité (par instance)​

ComposantContrôleDétails
viewerHTTP http://127.0.0.1:{{ config.port }}/healthAttendu 200 ; 30 tentatives ; intervalle 2 s ; délai 5 s

Contrôles préalables​

ContrôleTypeSignificationSévéritéComposants
port_freeport_free {"param": "port"}port 15500 libre sur l'hôtebloquanttous les composants

Désinstallation​

Chemins supprimés quand les données sont purgées : {{ paths.data }}.

Liens rapides​

  • Visionneuse promptfoo : http://{{ host.fqdn }}:{{ config.port }}/

Documentation amont​