🐢 Libreria open-source di valutazione e testing per agenti LLM
[!IMPORTANT] Giskard v3 è una riscrittura completa progettata per il testing dinamico e multi-turn degli agenti AI. Questa release elimina le dipendenze pesanti per una maggiore efficienza, introducendo al contempo uno scanner di vulnerabilità AI più potente e una valutazione RAG migliorata — entrambi ora disponibili nativamente in
giskard-scan, senza alcuna dipendenza da v2. Solo la scansione legacy per modelli tabellari/ML rimane esclusiva di v2. Giskard v2 rimane disponibile ma non è più attivamente mantenuto. Segui i progressi → Leggi l'Annuncio di v3 · Roadmap
pip install giskard # checks (+ agents, llm, core)
pip install "giskard[scan]" # + vulnerability / quality scan
pip install "giskard[openai]" # provider SDK for LLM judges / generators
Richiede Python 3.12+.
| Extra | Aggiunge |
|---|---|
| (nessuno) | giskard-checks e dipendenze |
scan | giskard-scan |
openai / anthropic / … | SDK dei provider (vedi le dipendenze opzionali in pyproject.toml) |
Telemetria: analisi aggregate opzionali tramite giskard-core. Nessun prompt o output viene inviato.
Disattivala con export DO_NOT_TRACK=1 o export GISKARD_TELEMETRY_DISABLED=1 (o le stesse chiavi in un file .env nella directory di lavoro). Impostale prima dell'import per evitare la creazione di ~/.giskard/id; impostarle in seguito interrompe comunque gli invii successivi.
Dettagli: README di giskard-core.
Giskard è una libreria Python open-source per testare e valutare sistemi agentici. L'architettura v3 è un insieme modulare di pacchetti mirati — ciascuno con solo le dipendenze di cui ha bisogno — costruita da zero per avvolgere qualsiasi cosa: un LLM, un agente black-box o una pipeline multi-step.
| Stato | Pacchetto | Descrizione |
|---|---|---|
| ✅ Stabile | giskard-checks | Testing e valutazione — API di scenario, check integrati, LLM-as-judge |
| ✅ Stabile | giskard-scan | Scanner di vulnerabilità per agenti + valutazione RAG/qualità — red teaming, prompt injection, jailbreak e contenuti dannosi (vulnerability_scan, successore di v2 Scan), più valutazione della qualità della knowledge base (quality_scan, successore di v2 RAGET) |
Questi si basano su tre librerie fondamentali — giskard-core (utility condivise e telemetria), giskard-llm (routing LLM indipendente dal provider) e giskard-agents (orchestrazione di agenti e workflow) — che vengono incluse automaticamente e raramente utilizzate direttamente.
pip install giskard-checks
Giskard Checks è una libreria leggera per creare valutazioni (eval) che testano sistemi basati su LLM — da semplici asserzioni a valutazioni LLM-as-judge. A differenza dei tradizionali unit test, le eval sono progettate per output non deterministici, in cui lo stesso input può produrre risposte valide diverse.
Usa Giskard Checks per:
Le eval integrate includono string matching, confronti, regex, similarità semantica e controlli LLM-as-judge (Groundedness, Conformity, LLMJudge).
(inputs) -> outputs (opzionalmente con trace)giskard.agents.Generator è un client LLM per workflow/giudici — non è lo stesso dei
generatori di input di giskard.checks (LLMGenerator) che sintetizzano messaggi utente.
In uno script senza un event loop in esecuzione:
from giskard.checks import Scenario, Groundedness
def get_answer(inputs: str) -> str:
return "Paris" # replace with your model / agent
scenario = (
Scenario("test_france_capital")
.interact(inputs="What is the capital of France?", outputs=get_answer)
.check(
Groundedness(
name="answer is grounded",
context="France is in Western Europe. Its capital is Paris.",
)
)
)
result = scenario.run_sync()
result.print_report()
In una cella di notebook o all'interno di una funzione asincrona, usa invece await sullo scenario:
result = await scenario.run()
result.print_report()
Groundedness è un giudice LLM — installa un extra del provider (ad es. pip install "giskard[openai]") e imposta la chiave API corrispondente. Modello predefinito: openai/gpt-4o-mini.
Consulta la documentazione completa per Suites, LLMJudge, scenari multi-turno e altro ancora.
pip install "giskard[scan]" # or: pip install giskard-scan