Weiser AI
Data Quality and Agent Evals in One Framework

YAML-Based Configuration
Define your data quality checks and agent evals with simple, human-readable YAML. No complex code required - just describe what you want to validate and Weiser handles the rest. The declarative format is LLM-friendly, so large language models can easily read and generate Weiser configurations.

Agent Evals
Built for data-powered agents. Evaluate NL-to-SQL and BI agents with the same declarative config as your checks - compare arms, score runs, and gate releases. Weiser's own data quality checks are wired into eval scoring, so when a data incident breaks an answer, blame lands on the data, not the agent.

Enterprise-Ready Scale
Supports PostgreSQL, MySQL, Databricks, Snowflake, BigQuery, Cube, and agent frameworks like Pydantic AI and Strands (more to come), scaling to handle millions of records with advanced statistical analysis and anomaly detection.
Simple YAML Configuration
Define data quality checks with intuitive YAML syntax. Perfect for version control, team collaboration, and AI-assisted generation.
# weiser-config.yaml
checks:
- name: orders_exist
dataset: orders
type: row_count
condition: gt
threshold: 0
- name: revenue_validation
dataset: orders
type: sum
measure: order_amount
condition: ge
threshold: 10000
filter: status = 'completed'
- name: data_completeness
dataset: customers
type: not_empty_pct
dimensions: [email, phone]
condition: le
threshold: 0.05 # Max 5% NULLLLM-Friendly Design
Weiser's human-readable configuration makes it perfect for AI assistance. LLMs can easily understand, generate, and modify data quality checks.
LLMs can generate Weiser configs from natural language descriptions
YAML structure is inherently readable by both humans and AI
AI assistants can update and refine existing configurations
LLMs can recommend new checks based on your data schema
Agent Evals
Evaluate NL-to-SQL and BI agents the same way you define checks โ declaratively in YAML. Compare arms, score runs, and gate releases, all in the same config file as your data quality checks.
# evals.yaml
agent_variants:
- name: baseline
framework: pydantic_ai
entrypoint: myapp.eval_agents.build_bi_agent
tools: [list_views, describe_view, query, submit_answer]
eval_suites:
- name: lookup_tool_ablation
arms:
- name: baseline
agent_variant: baseline
semantic_layer: local_sl
metrics:
- type: reference_value_match
- type: llm_judge
name: sql_soundnessExplore Agent EvalsEvals-As-YAML
The experiment design โ tools, prompts, models, and test cases โ lives entirely in YAML. Python is only needed for a one-time agent factory.
Ablate one variable at a time across arms sharing a golden set
Weiser's own DQ checks are wired into eval scoring โ a data incident is blamed on the data, not the agent
Zero-cost checks alongside rubric-based judging, calibrated against human labels
Gate candidate runs against a baseline before they ship