Aller au contenu

Inspect AI - Framework d'évaluation pour LLM

Inspect AI - Framework d’évaluation pour LLM

Inspect est un framework open-source pour les évaluations de modèles de langage, créé par le UK AI Safety Institute. Il donne aux évals une structure claire — un ensemble de données d’échantillons, un pipeline de solutionneur qui produit des réponses, et un scoreur qui les évalue — plus une visionneuse de première classe pour inspecter exactement ce que le modèle a vu et fait sur chaque échantillon. Il est conçu pour une évaluation rigoureuse et reproductible, incluant les tâches agentiques et l’utilisation d’outils, et est largement utilisé pour les tests de sécurité et de capacité.

Installation

MéthodeCommande
pippip install inspect-ai
uvuv add inspect-ai
Clé de modèleexport OPENAI_API_KEY=... / ANTHROPIC_API_KEY=...
VS CodeInstallez l’extension Inspect pour la visionneuse
Vérifierinspect --version

Les trois blocs de construction

ComposantRôle
DatasetÉchantillons avec input et target
SolverÉtapes qui transforment l’entrée en sortie du modèle
ScorerÉvalue la sortie par rapport à la cible

Une éval minimale

from inspect_ai import Task, task
from inspect_ai.dataset import example_dataset
from inspect_ai.scorer import model_graded_fact
from inspect_ai.solver import generate, system_message

@task
def security_qa():
    return Task(
        dataset=example_dataset("theory_of_mind"),
        solver=[
            system_message("You are a concise security expert."),
            generate(),
        ],
        scorer=model_graded_fact(),
    )
inspect eval security_qa.py --model openai/gpt-4o

Exécution d’évals

CommandeDescription
inspect eval task.py --model openai/gpt-4oExécuter une éval
inspect eval task.py --limit 20Uniquement les 20 premiers échantillons
inspect eval task.py --model-base-url URLEndpoint personnalisé/local
inspect eval task.py -T param=valuePasser les paramètres de tâche
inspect eval-retry <log>Réessayer les échantillons échoués
inspect viewOuvrir la visionneuse de log

Solutionneurs

SolutionneurFait
generate()Appelle le modèle
system_message(...)Prépend un prompt système
chain_of_thought()Ajoute le prompting CoT
self_critique()Le modèle examine sa propre réponse
use_tools([...])Active l’appel d’outil
basic_agent()Une boucle d’agent de style ReAct

Scoreurs

ScoreurÉvalue par
match()Correspondance exacte/sous-chaîne
includes()La cible apparaît dans la sortie
pattern(regex)Extraction regex
model_graded_qa()Juge LLM par rapport à une rubrique
model_graded_fact()Juge LLM pour l’équivalence factuelle
choice()Réponse à choix multiples

Évals agentiques et outils

from inspect_ai.tool import bash, python
from inspect_ai.solver import basic_agent

solver = basic_agent(tools=[bash(), python()], max_attempts=3)
CapacitéNote
Utilisation d’outilsOutils intégrés bash, python, web
SandboxingExécutez les outils en Docker pour l’isolation
Multi-turnBoucles d’agent avec limites de tentatives
Outils personnalisésDécorez les fonctions Python comme outils

La visionneuse

AffichePourquoi c’est important
Chaque échantillonEntrée, cible, sortie, score
Transcript completChaque message, appel d’outil, et résultat
Justification de l’évaluationPourquoi le juge a évalué comme il l’a fait
MétriquesPrécision et métriques personnalisées

Pouvoir lire la transcript des défaillances est ce qui transforme un score en découverte exploitable.

Inspect vs autres frameworks d’éval

AspectInspectDeepEvalRagas
OrigineUK AI Safety InstituteConfident AIExploding Gradients
FocusÉvals générales + agentiquesÉvals de style unit-testMétriques spécifiques à RAG
VisionneuseRiche, de première classeRapports/tableau de bordScores
Meilleur pourÉvals rigoureuses de capacité/sécuritéGating de test CINotation de pipeline RAG

Complète DeepEval pour les tests de style CI et Ragas pour les métriques spécifiques à RAG.

Ressources