Skip to content
GitHub Discord

Settings

Environment and runtime configuration for Giskard Checks: generator, judge, and embedding defaults. How they differ in practice is summarized in Generators and judges.

Module: giskard.checks.settings


Pydantic BaseSettings model. Every field can be set with an environment variable prefixed GISKARD_CHECKS_, or in a .env file at the project root. Unknown variables are ignored.

default_model str Default: "openai/gpt-4o-mini"

Default model identifier for content generation and for judges that do not have a separate default. Used by get_default_generator() when no runtime override is set, and by the fallback LLMChatJudge() from get_default_judge() when neither a runtime judge nor default_judge is configured. Environment variable: GISKARD_CHECKS_DEFAULT_MODEL.

default_judge str | None Default: None

Optional default judge: a provider/model string (optional llm/ or som/ kind prefix), or a JSON object parsed by BaseJudge.parse. When unset, judges fall back to an LLMChatJudge that tracks the default generator. Environment variable: GISKARD_CHECKS_DEFAULT_JUDGE.

default_embedding_model str Default: "text-embedding-3-small"

Embedding model used by checks constructed without an explicit model. Environment variable: GISKARD_CHECKS_DEFAULT_EMBEDDING_MODEL.

disable_rich_pretty bool Default: False

When False (the default), importing giskard.checks installs rich.pretty for nicer REPL output. Environment variable: GISKARD_CHECKS_DISABLE_RICH_PRETTY.

max_reported_failures int | None Default: None

How many failed or errored scenarios the printed suite report includes. None means all of them. The SuiteResult object still holds every scenario; this only truncates the Rich output. Values that are not a non-negative integer become None. Environment variable: GISKARD_CHECKS_MAX_REPORTED_FAILURES.

.env
GISKARD_CHECKS_DEFAULT_MODEL=openai/gpt-5-mini
GISKARD_CHECKS_DEFAULT_JUDGE=openai/gpt-5
GISKARD_CHECKS_DEFAULT_EMBEDDING_MODEL=text-embedding-3-large
GISKARD_CHECKS_MAX_REPORTED_FAILURES=20
GISKARD_CHECKS_DISABLE_RICH_PRETTY=true
get_settings() → GiskardChecksSettings

Return a new GiskardChecksSettings loaded from the environment. Each call rebuilds the object, so changes to environment variables are picked up without restarting the process.

from giskard.checks.settings import get_settings
settings = get_settings()
print(settings.default_model) # "openai/gpt-4o-mini"

UserSimulator, LLMGenerator, and other content-generation paths use this generator when you do not pass one yourself. A runtime override from set_default_generator wins over GISKARD_CHECKS_DEFAULT_MODEL. LLM checks use Generators and judges — verdicts go through get_default_judge(), not this default.

set_default_generator() → None

Set the default model for content generation.

generator BaseGenerator | str Required
A generator instance, or a model identifier string (e.g. "openai/gpt-4o-mini") wrapped in Generator automatically.
get_default_generator() → BaseGenerator

Return the runtime override if one was set, otherwise a Generator built from GISKARD_CHECKS_DEFAULT_MODEL (falling back to openai/gpt-4o-mini).

from giskard.checks import get_default_generator, set_default_generator
set_default_generator("openai/gpt-5-mini")
get_default_generator() # the generator set above

To set this once per pytest session, see CI/CD Integration.


LLM-backed checks such as LLMJudge, Groundedness, and Toxicity use _judge, which returns judge when set or otherwise get_default_judge().

Resolution order for get_default_judge():

  1. Runtime override from set_default_judge
  2. GISKARD_CHECKS_DEFAULT_JUDGE / GiskardChecksSettings.default_judge when set
  3. LLMChatJudge() — its generator tracks get_default_generator()
set_default_judge() → None

Set the default judge independently of content generation.

judge JudgeInput | None Required

A BaseJudge, BaseGenerator, or BaseSOM instance; a model identifier string (wrapped in LLMChatJudge or SOMJudge as appropriate); a JSON dict for BaseJudge.parse; or None to clear the runtime override.

get_default_judge() → BaseJudge

Return the configured judge using the resolution order above.


Checks such as SemanticSimilarity use this embedding model when you do not pass embedding_model= yourself. A runtime override from set_default_embedding_model wins over GISKARD_CHECKS_DEFAULT_EMBEDDING_MODEL.

get_default_embedding_model() → BaseEmbeddingModel

Get the current default embedding model.

set_default_embedding_model() → None

Set the default embedding model independently of generation and judging.

model BaseEmbeddingModel | str | None Required
An embedding model instance, a model identifier string, or None to clear the override.

from giskard.checks import (
get_default_embedding_model,
get_default_generator,
get_default_judge,
set_default_embedding_model,
set_default_generator,
set_default_judge,
)
from giskard.checks.settings import GiskardChecksSettings, get_settings
  • Generators — generator classes you can pass to set_default_generator (or pass a model id string instead)
  • Install & Configure — provider API keys and first-time setup
  • CI/CD Integration — setting generator and judge defaults once per test session