Pular para o conteúdo

Inspect AI - Estrutura de Avaliação de LLM

Inspect AI - Estrutura de Avaliação de LLM

Inspect é uma estrutura open-source para avaliações de modelos de linguagem grande, criada pelo UK AI Safety Institute. Ela dá às evals uma estrutura clara — um dataset de amostras, um solver pipeline que produz respostas, e um scorer que as avalia — mais um visualizador de primeira classe para inspecionar exatamente o que o modelo viu e fez em cada amostra. É projetado para avaliação rigorosa e reproduzível, incluindo tarefas agentic e uso de ferramentas, e é amplamente usado para testes de segurança e capacidade.

Instalação

MétodoComando
pippip install inspect-ai
uvuv add inspect-ai
Chave de modeloexport OPENAI_API_KEY=... / ANTHROPIC_API_KEY=...
VS CodeInstale a extensão Inspect para o visualizador
Verificarinspect --version

Os Três Blocos Construtivos

ComponentePapel
DatasetAmostras com input e target
SolverPassos que transformam entrada em saída de modelo
ScorerAvalia saída contra o alvo

Uma Eval Mínima

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

Executando Evals

ComandoDescrição
inspect eval task.py --model openai/gpt-4oExecutar uma eval
inspect eval task.py --limit 20Apenas as primeiras 20 amostras
inspect eval task.py --model-base-url URLEndpoint customizado/local
inspect eval task.py -T param=valuePassar parâmetros de task
inspect eval-retry <log>Retry de amostras falhadas
inspect viewAbrir o visualizador de log

Solvers

SolverFaz
generate()Chamar o modelo
system_message(...)Prepender um prompt do sistema
chain_of_thought()Adicionar prompting de CoT
self_critique()Modelo revisa sua própria resposta
use_tools([...])Habilitar chamada de ferramenta
basic_agent()Um loop de agente estilo ReAct

Scorers

ScorerAvalia por
match()Correspondência exata/substring
includes()Alvo aparece na saída
pattern(regex)Extração regex
model_graded_qa()Juiz LLM contra um rubric
model_graded_fact()Juiz LLM para equivalência factual
choice()Resposta de múltipla escolha

Evals Agentic e Ferramentas

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

solver = basic_agent(tools=[bash(), python()], max_attempts=3)
CapacidadeNota
Uso de ferramentasFerramentas integradas bash, python, web
SandboxingExecutar ferramentas em Docker para isolamento
Multi-turnoLoops de agente com limites de tentativa
Ferramentas customizadasDecor funções Python como ferramentas

O Visualizador

MostraPor que é importante
Cada amostraEntrada, alvo, saída, pontuação
Transcrição completaCada mensagem, chamada de ferramenta, e resultado
Rationale de pontuaçãoPor que o juiz avaliou assim
MétricaAcurácia e métricas customizadas

Ser capaz de ler a transcrição de falhas é o que transforma uma pontuação em um achado acionável.

Inspect vs Outros Frameworks de Eval

AspectoInspectDeepEvalRagas
OrigemUK AI Safety InstituteConfident AIExploding Gradients
FocoEvals gerais + agenticEvals de app estilo unit-testMétricas específicas de RAG
VisualizadorRico, de primeira classeRelatórios/dashboardPontuações
Melhor paraEvals rigorosas de capacidade/segurançaPortão de teste de CIPontuação de pipeline RAG

Complementa DeepEval para testes de estilo CI e Ragas para métricas específicas de RAG.

Recursos