Releases: anulum/director-ai
Releases · anulum/director-ai
Release list
v1.2.0
What's New
Score Caching
LRU cache with blake2b key hashing and configurable TTL — eliminates redundant NLI/embedding computation during streaming.
scorer = CoherenceScorer(threshold=0.6, cache_size=1024, cache_ttl=300)Framework Integrations
- LangGraph —
director_ai_node()factory +director_ai_conditional_edge()for state graph routing - Haystack 2.x —
DirectorAICheckercomponent withrun(query, replies)interface - CrewAI —
DirectorAIToolfor agent-based workflows
Quantized NLI
8-bit model loading via bitsandbytes for <80ms GPU inference:
pip install director-ai[quantize]scorer = CoherenceScorer(nli_quantize_8bit=True, nli_device="cuda")Upgraded Embeddings
SentenceTransformerBackend with BAAI/bge-large-en-v1.5 (default) for higher-quality vector retrieval:
pip install director-ai[embeddings]MkDocs Documentation Site
Full documentation at anulum.github.io/director-ai:
- User guides (scoring, streaming, evidence, config)
- 6 integration pages (SDK, LangChain, LlamaIndex, LangGraph, Haystack, CrewAI)
- API reference (mkdocstrings)
- Production deployment guides (scaling, Docker, Prometheus)
- Domain cookbooks (legal, medical, finance)
Enhanced Demo
Side-by-side comparison tab with token-level HTML highlighting (green/yellow/red + strikethrough for halted tokens).
Community
- GitHub issue templates (bug report, feature request)
- PR template
- Good first issues — 10 starter tasks for contributors
Stats
- 374 tests passing across Python 3.10/3.11/3.12
- 50 files changed, 2,464 insertions
- CI: lint, format, mypy, security audit — all green
Install
pip install director-ai==1.2.0Full Changelog: v1.1.0...v1.2.0
v1.1.0
What's New
Pluggable NLI Backends
NLIScorer(backend="minicheck")— MiniCheck-DeBERTa-L as alternative to default DeBERTa- Graceful fallback to heuristic when backend package not installed
Native LLM Providers
CoherenceAgent(provider="openai")— readsOPENAI_API_KEYfrom envCoherenceAgent(provider="anthropic")— readsANTHROPIC_API_KEYfrom env- Backward-compatible:
llm_api_url=and default mock still work
CLI Benchmark Runner
director-ai eval --dataset aggrefact --max-samples 100 --output results.json- Delegates to benchmark suite with comparison table output
Streaming Halt Callbacks
StreamingKernel(on_halt=callback)— fires withStreamSessionon haltSafetyKernel(on_halt=callback)— fires with score on halt
SQLite Usage Dashboard
GET /v1/stats— summary statisticsGET /v1/stats/hourly— hourly breakdownGET /v1/dashboard— inline HTML dashboard- Auto-records all reviews via the API server
Fixes
- CI type check now excludes benchmarks directory from mypy
- Docs workflow no longer requires deleted
[research]extra
Full Changelog: v1.0.0...v1.1.0
v1.0.0 — Production Stable Release
v1.0.0 — Production Stable Release
Director-Class AI is a real-time LLM hallucination guardrail.
Highlights
- Enterprise modules:
Policy,AuditLogger,TenantRouter,InputSanitizer - Async scorer:
CoherenceScorer.areview() - LangChain + LlamaIndex integrations
- Optional extras:
[langchain],[llamaindex],[server],[train],[nli],[vector] - CLI:
director-ai serve | score | batch | ingest - Backfire Kernel: 6-crate Rust workspace (PyO3 FFI, UPDE, SEC, L16, SSGF, observers)
Research Purge (complete)
All research modules permanently removed from the package:
src/director_ai/research/deletedcore/bridge.pydeleted[research]extra deleted- All research docs, notebooks, and Rust "consciousness" naming purged
- Proof:
find . -name "*research*" -o -name "*consciousness*"returns zero results
Test Results
- Python: 290 passed, 8 skipped
- Rust: 152 passed
pip install director-ai
v0.9.0
v0.9.0
Added
- DeBERTa fine-tuning pipeline — data pipeline, training scripts, GPU/chunked scoring
- AggreFact benchmark suite — 5 result files (baseline, fine-tuned base/large, comparison)
- Core hardening — 24 test-enforced items: lazy torch import, thread safety, _clamp utility, singular metric guard, 1-D eigvecs fallback, history cap, NLI RuntimeError, etc.
- Test count: 144 → 375 (2.6x increase)
Changed
- CI: switched formatter from black to ruff format
- Backfire-kernel FFI refactored, slop cleanup
Fixed
- NLI data pipeline: ClassLabel cast for stratified split
- NLI scorer: None guards for mypy attr-defined errors
- 24 hardening test failures resolved
v0.8.2
v0.8.1
What's Changed
Added
- Semantic off-topic gate:
_semantic_divergence()inCoherenceScoreruses sentence-transformers cosine similarity to detect off-topic responses before falling through to string-match for value accuracy - Directory ingestion:
VectorGroundTruthStore.ingest_from_directory(path, glob)recursively reads.txt,.md, and.jsonlfiles
Changed
ChromaBackendnow requiressentence-transformers(raisesImportErrorinstead of silent fallback)- Factual scoring cascade: NLI → semantic gate (off-topic detection) → string match
- README: removed pending benchmark placeholders, condensed research section
Details
- 397 tests passing, ruff clean
- Full changelog: CHANGELOG.md
v0.8.0 — Credibility Release
Highlights
- Configurable GroundTruthStore — no more hardcoded demo facts; pass
facts=to constructor or useSAMPLE_FACTSfor the original data - Real semantic retrieval —
ChromaBackendnow usesSentenceTransformerEmbeddingFunction(all-MiniLM-L6-v2) with graceful fallback - Streaming coherence fix —
process_streaming()evaluates accumulated text, not individual tokens - Bulk ingestion —
VectorGroundTruthStore.ingest(texts, metadatas)+ CLIdirector-ai ingestcommand (.txt/.jsonl) - Backfire Kernel — Rust safety gate: 6,429 LOC, 153 tests, 29 Criterion benchmarks, 7,609x gradient speedup via analytic Jacobian
- LangChain integration —
CoherenceCallbackHandler(optional[langchain]extra) - Consumer-focused README — "drop-in coherence guardrail" positioning; SCPN research in collapsible section
Breaking Changes
GroundTruthStore()now starts empty. UseGroundTruthStore(facts=SAMPLE_FACTS)for the old behaviour.
Install
pip install director-ai==0.8.0Stats
- 397 tests passing (Python 3.10–3.12)
- ruff + black + mypy clean
- ~6,429 Rust LOC in backfire-kernel (not included in PyPI wheel — separate release)
Full changelog: https://github.com/anulum/director-ai/blob/v0.8.0/CHANGELOG.md