spanIQ gives you deterministic LLM evaluation and production monitoring — no LLM judge, no API cost per eval, no variance.
pip install spaniqfrom spaniq.core.test_case import LLMTestCase
from spaniq.core.evaluate import evaluate
from spaniq.metrics.semantic_similarity import SemanticSimilarityMetric
tc = LLMTestCase(
input="What is the capital of France?",
actual_output="Paris is the capital of France.",
expected_output="Paris",
)
result = evaluate([tc], [SemanticSimilarityMetric()])
# Deterministic. Same score every run. $0.00.pip install "spaniq[otel]"
# Create a baseline from your prompt (once)
spaniq baseline collect --name my_baseline --prompt "Answer questions about geography" --n 30
# Start the OTel receiver + monitoring
spaniq collect-otel --baseline my_baselineThen point your app's OTel exporter to localhost:4317 (gRPC) or localhost:4318 (HTTP).
Compatible with any OTel-instrumented library: opentelemetry-instrumentation-openai,
opentelemetry-instrumentation-anthropic, LangChain, LlamaIndex, etc.
# Write traces to a JSONL file from your app, then:
spaniq monitor run --baseline my_baseline --source file --path traces.jsonlEach line in traces.jsonl:
{"input": "user question", "output": "model response"}pip install "spaniq[dashboard]"
spaniq dashboard
# Opens http://localhost:8501 — interactive drift timeline, attribution, alert logpip install "spaniq[benchmark]"
spaniq benchmark --tool spaniq --runs 5
# spanIQ: std=0.0000, cost=$0.00
# Compare with Groq-backed LLM judge (requires GROQ_API_KEY):
spaniq benchmark --tool spaniq,groq --runs 5| Feature | spanIQ | LLM-as-judge (deepeval, ragas) |
|---|---|---|
| Score variance across runs | 0.0000 | 0.3-2.1 |
| Cost per 100 evals | $0.00 | $0.10-$2.00 |
| Latency per eval | < 1ms | 1-5 seconds |
| Requires API key | No | Yes |
| Production monitoring | Yes | No |
| OTel integration | Yes | No |
- OTel integration guide — connect any OTel-instrumented app
- Dashboard guide — navigate the Streamlit dashboard
- V4 architecture — the full design