
giskard-oss giskard-checks/v1.0.4
🐢 Librería de código abierto para la evaluación y pruebas de agentes de LLM
Evals, Red Teaming y Generación de Pruebas para Sistemas Agénticos
Modular, Ligero, Dinámico y Async-first
Docs • Sitio web • Comunidad
[!IMPORTANT] Giskard v3 es una reescritura completamente nueva diseñada para pruebas dinámicas y de múltiples turnos de agentes de IA. Esta versión elimina dependencias pesadas para una mayor eficiencia, al tiempo que introduce un escáner de vulnerabilidades de IA más potente y una evaluación RAG mejorada — ambos ahora incluidos de forma nativa en
giskard-scan, sin dependencia de v2. Solo el escaneo heredado para modelos tabulares/ML sigue siendo exclusivo de v2. Giskard v2 sigue disponible pero ya no se mantiene activamente. Sigue el progreso → Lee el anuncio de v3 · Hoja de ruta
Instalación
pip install giskard # checks (+ agents, llm, core)
pip install "giskard[scan]" # + escaneo de vulnerabilidades / calidad
pip install "giskard[openai]" # SDK del proveedor para jueces / generadores LLM
Requiere Python 3.12+.
| Extra | Añade |
|---|---|
| (ninguno) | giskard-checks y dependencias |
scan | giskard-scan |
openai / anthropic / … | SDKs de proveedores (ver dependencias opcionales en pyproject.toml) |
Telemetría: análisis agregados opcionales vía giskard-core. No se envían prompts ni salidas.
Para desactivarla antes de importar Giskard: export DO_NOT_TRACK=1 o export GISKARD_TELEMETRY_DISABLED=1.
Detalles: giskard-core README.
Giskard es una biblioteca Python de código abierto para probar y evaluar sistemas agénticos. La arquitectura v3 es un conjunto modular de paquetes enfocados — cada uno con solo las dependencias que necesita — construidos desde cero para envolver cualquier cosa: un LLM, un agente de caja negra o un pipeline de múltiples pasos.
| Estado | Paquete | Descripción |
|---|---|---|
| ✅ Estable | giskard-checks | Pruebas y evaluación — API de escenarios, checks integrados, LLM-como-juez |
| ✅ Estable | giskard-scan | Escáner de vulnerabilidades de agentes + evaluación RAG/calidad — red teaming, inyección de prompts, jailbreaks y contenido dañino (vulnerability_scan, sucesor del Scan v2), además de evaluación de calidad de base de conocimiento (quality_scan, sucesor del RAGET v2) |
Estos se construyen sobre tres bibliotecas fundamentales — giskard-core (utilidades compartidas y telemetría), giskard-llm (enrutamiento LLM independiente del proveedor) y giskard-agents (orquestación de agentes y flujos de trabajo) — que se instalan automáticamente y rara vez se usan directamente.
Giskard Checks — crea y aplica evals para probar agentes
pip install giskard-checks
Giskard Checks es una biblioteca ligera para crear evaluaciones (evals) que prueban sistemas basados en LLM — desde aserciones simples hasta evaluaciones LLM-como-juez. A diferencia de las pruebas unitarias tradicionales, los evals están diseñados para salidas no deterministas donde la misma entrada puede producir diferentes respuestas válidas.
Usa Giskard Checks para:
- Detectar regresiones — verifica que tu sistema siga comportándose correctamente después de cambios
- Validar la calidad RAG — comprueba si las respuestas están fundamentadas en el contexto recuperado
- Aplicar reglas de seguridad — asegura que las salidas cumplan con tus políticas de contenido
- Evaluar agentes de múltiples turnos — prueba conversaciones completas, no solo intercambios individuales
Los evals integrados incluyen coincidencia de cadenas, comparaciones, regex, similitud semántica y checks LLM-como-juez (Groundedness, Conformity, LLMJudge).
Conceptos
- Target — tu sistema bajo prueba: cualquier callable síncrono/asíncrono
(inputs) -> outputs(opcionalmente contrace) - Scenario — un eval: interacciones + checks
- Check — aserción o juez LLM sobre el trace
- Suite — muchos escenarios ejecutados juntos
giskard.agents.Generator es un cliente LLM para flujos de trabajo/jueces — no es lo mismo que
los generadores de entrada de giskard.checks (LLMGenerator) que sintetizan mensajes de usuario.
Inicio rápido
import asyncio
from giskard.checks import Scenario, Groundedness
def get_answer(inputs: str) -> str:
return "Paris" # reemplaza con tu modelo / agente
async def main() -> None:
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 = await scenario.run()
result.print_report()
asyncio.run(main())
Groundedness es un juez LLM — instala un extra de proveedor (p. ej. pip install "giskard[openai]") y configura la clave API correspondiente. Modelo predeterminado: openai/gpt-4o-mini.
Consulta la documentación completa para Suites, LLMJudge, escenarios de múltiples turnos y más.
Giskard Scan — escáner de vulnerabilidades para agentes de IA
pip install "giskard[scan]" # o: pip install giskard-scan