A binary AI text detector that classifies text as
human-written or
AI-generated/edited, built with
adaptive-classifier on the
EditLens ICLR 2026 benchmark.
Uses frozen embeddings from
TrustSafeAI/RADAR-Vicuna-7B (a RoBERTa-large model adversarially trained for AI detection) as a feature extractor, with adaptive-classifier's prototype memory + neural head for classification.
1from adaptive_classifier import AdaptiveClassifier
2
3classifier = AdaptiveClassifier.from_pretrained("adaptive-classifier/ai-detector")
4
5predictions = classifier.predict("Your text here")
6# Returns: [('ai', 0.85), ('human', 0.15)]
7
8# Batch prediction
9results = classifier.predict_batch(["text 1", "text 2"], k=2)
10
11# Continuous learning — add new examples without retraining
12classifier.add_examples(
13 ["new human text example", "new ai text example"],
14 ["human", "ai"]
15)
The model generalizes well to OOD splits: accuracy on emails (test_enron) and unseen AI models (Llama 3.3-70B / test_llama) is on par with or above the in-distribution test set.
Predictions made through the
hosted Space are continuously logged to
adaptive-classifier/ai-detector-data — a public dataset of real-world predictions with optional user feedback (Correct / Incorrect). This dataset grows over time and can be used to track model performance, find failure cases, and drive future retraining.
1@software{adaptive_classifier,
2 title = {Adaptive Classifier: Dynamic Text Classification with Continuous Learning},
3 author = {Sharma, Asankhaya},
4 year = {2025},
5 publisher = {GitHub},
6 url = {https://github.com/codelion/adaptive-classifier}
7}