🐢 Библиотека с открытым исходным кодом для оценки и тестирования LLM-агентов
[!IMPORTANT] Giskard v3 — это полностью переписанная версия, созданная для динамического многоходового тестирования ИИ-агентов. В этом релизе убраны тяжёлые зависимости для повышения эффективности, а также представлены более мощный сканер уязвимостей ИИ и улучшенная оценка RAG — оба теперь поставляются нативно в
giskard-scan, без зависимости от v2. Только устаревшее сканирование для табличных/ML-моделей остаётся доступным исключительно в v2. Giskard v2 по-прежнему доступен, но больше не поддерживается активно. Следите за прогрессом → Читать анонс v3 · Дорожная карта
pip install giskard # checks (+ agents, llm, core)
pip install "giskard[scan]" # + vulnerability / quality scan
pip install "giskard[openai]" # provider SDK for LLM judges / generators
Требуется Python 3.12+.
| Дополнительно | Добавляет |
|---|---|
| (нет) | giskard-checks и зависимости |
scan | giskard-scan |
openai / anthropic / … | SDK провайдеров (см. опциональные зависимости в pyproject.toml) |
Телеметрия: опциональная агрегированная аналитика через giskard-core. Промпты и выходные данные не отправляются.
Отключить можно с помощью export DO_NOT_TRACK=1 или export GISKARD_TELEMETRY_DISABLED=1 (или тех же ключей в файле .env в рабочем каталоге). Задайте их до импорта, чтобы пропустить создание ~/.giskard/id; установка позже всё равно останавливает дальнейшую отправку.
Подробности: README giskard-core.
Giskard — это открытая Python-библиотека для тестирования и оценки агентных систем. Архитектура v3 представляет собой модульный набор специализированных пакетов — каждый несёт только необходимые ему зависимости — созданных с нуля, чтобы оборачивать что угодно: LLM, агента типа «чёрный ящик» или многошаговый конвейер.
| Статус | Пакет | Описание |
|---|---|---|
| ✅ Стабильный | giskard-checks | Тестирование и оценка — API сценариев, встроенные проверки, LLM-as-judge |
| ✅ Стабильный | giskard-scan | Сканер уязвимостей агентов + оценка RAG/качества — red teaming, prompt injection, джейлбрейки и вредоносный контент (vulnerability_scan, преемник v2 Scan), а также оценка качества базы знаний (quality_scan, преемник v2 RAGET) |
Всё это построено на трёх базовых библиотеках — giskard-core (общие утилиты и телеметрия), giskard-llm (маршрутизация LLM, независимая от провайдера) и giskard-agents (оркестрация агентов и рабочих процессов) — которые подключаются автоматически и редко используются напрямую.
pip install giskard-checks
Giskard Checks — это лёгкая библиотека для создания оценок (evals), которые тестируют системы на основе LLM — от простых утверждений до оценок с использованием LLM в роли судьи. В отличие от традиционных модульных тестов, evals предназначены для недетерминированных выходных данных, где один и тот же вход может давать разные допустимые ответы.
Используйте Giskard Checks, чтобы:
Встроенные evals включают сопоставление строк, сравнения, регулярные выражения, семантическое сходство и проверки с LLM в роли судьи (Groundedness, Conformity, LLMJudge).
(inputs) -> outputs (опционально с trace)giskard.agents.Generator — это LLM-клиент для рабочих процессов/судей — не то же самое, что
генераторы входных данных giskard.checks (LLMGenerator), которые синтезируют сообщения пользователя.
В скрипте без запущенного цикла событий:
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()
В ячейке блокнота или внутри асинхронной функции вместо этого используйте await для сценария:
result = await scenario.run()
result.print_report()
Groundedness — это LLM-судья: установите дополнительный пакет провайдера (например, pip install "giskard[openai]") и задайте соответствующий API-ключ. Модель по умолчанию: openai/gpt-4o-mini.
См. полную документацию о Suites, LLMJudge, многоходовых сценариях и многом другом.
pip install "giskard[scan]" # or: pip install giskard-scan