🐢 Open-Source-Bibliothek für Evaluierung & Tests von LLM-Agenten
[!IMPORTANT] Giskard v3 ist eine vollständige Neuentwicklung, die für dynamisches Testing von KI-Agenten über mehrere Turns hinweg konzipiert wurde. Dieses Release entfernt schwergewichtige Abhängigkeiten für mehr Effizienz und führt gleichzeitig einen leistungsfähigeren KI-Schwachstellenscanner sowie eine verbesserte RAG-Evaluierung ein – beide sind jetzt nativ in
giskard-scanenthalten, ohne Abhängigkeit von v2. Nur der Legacy-Scan für tabellarische/ML-Modelle bleibt ausschließlich in v2 verfügbar. Giskard v2 ist weiterhin verfügbar, wird aber nicht mehr aktiv gepflegt. Fortschritt verfolgen → v3-Ankündigung lesen · 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
Erfordert Python 3.12+.
| Extra | Fügt hinzu |
|---|---|
| (keine) | giskard-checks und Abhängigkeiten |
scan | giskard-scan |
openai / anthropic / … | Provider-SDKs (siehe optionale Abhängigkeiten in pyproject.toml) |
Telemetrie: optionale aggregierte Analysen über giskard-core. Es werden keine Prompts oder Ausgaben gesendet.
Deaktivieren mit export DO_NOT_TRACK=1 oder export GISKARD_TELEMETRY_DISABLED=1 (oder denselben Schlüsseln in einer .env-Datei im Arbeitsverzeichnis). Setzen Sie diese vor dem Import, um die Erstellung von ~/.giskard/id zu überspringen; ein späteres Setzen stoppt dennoch weitere Sendungen.
Details: giskard-core README.
Giskard ist eine Open-Source-Python-Bibliothek zum Testen und Evaluieren agentischer Systeme. Die v3-Architektur ist ein modularer Satz fokussierter Pakete — jedes enthält nur die Abhängigkeiten, die es benötigt — von Grund auf neu entwickelt, um alles zu umhüllen: ein LLM, einen Black-Box-Agenten oder eine mehrstufige Pipeline.
| Status | Paket | Beschreibung |
|---|---|---|
| ✅ Stabil | giskard-checks | Testen & Evaluieren — Szenario-API, integrierte Checks, LLM-as-Judge |
| ✅ Stabil | giskard-scan | Agent-Schwachstellen-Scanner + RAG/Qualitätsbewertung — Red Teaming, Prompt Injection, Jailbreaks & schädliche Inhalte (vulnerability_scan, Nachfolger von v2 Scan), plus Wissensdatenbank-Qualitätsbewertung (quality_scan, Nachfolger von v2 RAGET) |
Diese bauen auf drei grundlegenden Bibliotheken auf — giskard-core (gemeinsame Hilfsfunktionen & Telemetrie), giskard-llm (anbieterunabhängiges LLM-Routing) und giskard-agents (Agenten- & Workflow-Orchestrierung) — die automatisch eingebunden werden und selten direkt verwendet werden.
pip install giskard-checks
Giskard Checks ist eine leichtgewichtige Bibliothek zum Erstellen von Evaluierungen (Evals), die LLM-basierte Systeme testen – von einfachen Assertions bis hin zu LLM-as-Judge-Bewertungen. Anders als traditionelle Unit-Tests sind Evals für nicht-deterministische Ausgaben konzipiert, bei denen dieselbe Eingabe unterschiedliche gültige Antworten erzeugen kann.
Verwenden Sie Giskard Checks, um:
Zu den integrierten Evals gehören String-Matching, Vergleiche, Regex, semantische Ähnlichkeit und LLM-as-Judge-Prüfungen (Groundedness, Conformity, LLMJudge).
(inputs) -> outputs (optional mit trace)giskard.agents.Generator ist ein LLM-Client für Workflows/Judges – nicht zu verwechseln mit
den Eingabe-Generatoren von giskard.checks (LLMGenerator), die Benutzernachrichten synthetisieren.
In einem Skript ohne laufende Event-Loop:
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 einer Notebook-Zelle oder innerhalb einer asynchronen Funktion stattdessen auf das Szenario warten:
result = await scenario.run()
result.print_report()
Groundedness ist ein LLM-Judge — installieren Sie ein Provider-Extra (z. B. pip install "giskard[openai]") und setzen Sie den passenden API-Schlüssel. Standardmodell: openai/gpt-4o-mini.
Siehe die vollständige Dokumentation für Suites, LLMJudge, Multi-Turn-Szenarien und mehr.