Instructions to use rishanthrajendhran/IdeaLens-Qwen3.5-9B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use rishanthrajendhran/IdeaLens-Qwen3.5-9B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-classification", model="rishanthrajendhran/IdeaLens-Qwen3.5-9B")# Load model directly from transformers import AutoTokenizer, AutoModelForSequenceClassification tokenizer = AutoTokenizer.from_pretrained("rishanthrajendhran/IdeaLens-Qwen3.5-9B") model = AutoModelForSequenceClassification.from_pretrained("rishanthrajendhran/IdeaLens-Qwen3.5-9B", device_map="auto") - Notebooks
- Google Colab
- Kaggle
You need to agree to share your contact information to access this model
This repository is publicly accessible, but you have to accept the conditions to access its files and content.
Access is granted individually. Please say who you are and what you intend to use the weights for.
Log in or Sign Up to review the conditions and access this model content.
IdeaLens-Qwen3.5-9B
IdeaLens-Qwen3.5-9B is an idea-level detector: it judges whose ideas a document contains, not who wrote its words, so a document whose ideas are a person's counts as human however much of its prose an AI wrote. It is one of the detectors released with IdeaLens and trained on the same data.
| Model | Qwen3.5-9B's language model (7.9 B parameters) with a sequence-classification head |
| Reads | the whole role-labelled outline, one [Role] content line per item |
| Training data | WildOutlines, train split |
| Output | P(human); a document is flagged as AI when P(human) is below a cut |
| Default cut | 0.05185 (global, 1% false-positive rate) |
| Hardware | one GPU; the weights take about 16 GB in bf16 |
Usage
The idealens package (PyPI) runs the whole pipeline: it assigns each document one of the eight formats, extracts the outline with the prompt, role vocabulary and worked examples the detectors were trained with, and scores it with this model and the thresholds in this repo.
pip install "idealens[hf]"
idealens run docs.jsonl -o scores.jsonl --model IdeaLens-Qwen3.5-9B
Input is JSONL with a text field per document. To score outlines you already have, use idealens score outlines.jsonl -o scores.jsonl --model IdeaLens-Qwen3.5-9B. Score outlines as extracted; the paraphrasing step is only for training data.
In Python, step by step:
import idealens as il
texts = [open("document.txt").read()]
formats = il.classify(texts) # one of the eight formats per document
outlines = il.extract(texts, formats) # role-labelled outlines
with il.Detector("IdeaLens-Qwen3.5-9B") as det:
records = det.score_outlines(outlines, format=formats)
r = records[0]
print(r["p_human"], r["verdict"]["ai"]) # P(human); flagged at the 1% global cut?
print(outlines[0].render()) # the outline that was scored
Or in one call: records = il.run(texts, det). classify and extract use Gemini 3.7 Flash, the extractor the thresholds were fitted with (GEMINI_API_KEY); pass provider=idealens.providers.make(...) to use Vertex, OpenAI, Anthropic, OpenRouter or a local server. The package README covers the other ways to run it.
Thresholds
thresholds.json holds this model's cuts at 0.1%, 0.5%, 1%, 2% and 5% false-positive rates, fitted on the 80,000 human
documents of WildOutlines' calibration split: one global cut per rate, plus per-format cuts. The package applies them. A cut
fitted for one model does not transfer to another model's scores. For documents unlike English web text, fit cuts on
human documents from your own domain with idealens calibrate.
Related
- IdeaLens: the main idea-level detector, with full documentation
- ProseLens: its prose-level counterpart
- idealens: the Python package that runs these models
- WildOutlines: the training corpus
Citation
@article{idealens2026,
title = {IdeaLens: Detecting AI Ideas in Long-form Writing},
author = {Anonymous},
journal = {arXiv preprint arXiv:TBD},
year = {2026},
url = {https://arxiv.org/abs/TBD}
}
- Downloads last month
- 98