Skip to main content
Valiqor uses a state-of-the-art LLM as the default judge for all LLM-based evaluation metrics (e.g. hallucination, coherence, factual_accuracy).You can also bring your own OpenAI API key so that judge calls use your own quota. Pass it at any of these levels (highest priority wins):
  1. Method parameter — client.eval.evaluate(dataset=..., openai_api_key="sk-...")
  2. Client constructor — ValiqorClient(api_key="vq_...", openai_api_key="sk-...")
  3. Environment variable — VALIQOR_OPENAI_API_KEY
  4. Config file — openai_api_key in .valiqorrc
Your OpenAI key is never stored or persisted by Valiqor. It is only used for the duration of the API request.
  • Evaluation results, traces, and analysis data are stored in the Valiqor backend database for your team to review in the dashboard.
  • OpenAI API keys provided via BYOK (Bring Your Own Key) are never stored — they are used only for the duration of the request and then discarded.
Yes. Both the SDK and CLI support fully headless, non-interactive usage.Option 1 — CLI login with credentials:
Option 2 — Environment variables (no login needed):
Option 3 — SDK with explicit key:
All configuration can be set non-interactively with valiqor config set key=value or through environment variables (VALIQOR_API_KEY, VALIQOR_PROJECT_NAME, VALIQOR_TRACE_DIR, VALIQOR_SCAN_DIR, VALIQOR_BACKEND_URL, VALIQOR_ENVIRONMENT).
Use Evaluation when you want to measure quality over time. Use Failure Analysis when you want to understand what went wrong and fix it.
Three approaches, from zero-config to fully manual:Zero-config auto-instrumentation:
Decorator-based:
Manual spans:
See Tracing AI Apps for the full guide.
Python 3.9+ — tested on Python 3.9, 3.10, 3.11, and 3.12.
The autolog() function (or import valiqor.auto) auto-instruments these providers:You can also enable specific providers only:
For providers without auto-instrumentation, use @trace_workflow and @trace_function decorators.
The base valiqor package requires:
  • requests >= 2.31.0
  • httpx >= 0.25.0
  • gitingest >= 0.1.0
Optional extras install provider-specific tracing support:
The SDK and CLI resolve configuration values in this order (highest priority first):
  1. Constructor / method parametersValiqorClient(api_key="vq_...")
  2. Environment variablesVALIQOR_API_KEY, VALIQOR_PROJECT_NAME, etc.
  3. Local config file.valiqorrc in the project root
  4. Global credentials (CLI only) — ~/.valiqor/credentials.json
  5. Defaults — built-in defaults
Global credentials (~/.valiqor/credentials.json) are loaded by the CLI only. The SDK’s get_config() function resolves from environment variables and .valiqorrc but does not read global credentials.
Supported environment variables:
1,000 items per request. This applies to evaluate(), audit(), and failure_analysis.run().If your dataset is larger, split it into batches or use the async API for better throughput.Trial users (email not verified) are additionally limited to 25 rows per run and 3 total runs. Verify your email with valiqor verify to remove trial limits.
Each user can have up to 5 API keys. Manage keys with: