Views
No views yet

1from transformers import pipeline
2pipe = pipeline("text-classification", model="davanstrien/ModernBERT-based-Reasoning-Required")
3
4def predict_reasoning_level(text, pipe):
5 # Get the raw prediction
6 result = pipe(text)
7 score = result[0]['score']
8
9 # Round to nearest integer (optional)
10 rounded_score = round(score)
11
12 # Clip to valid range (0-4)
13 rounded_score = max(0, min(4, rounded_score))
14
15 # Create a human-readable interpretation (optional)
16 reasoning_labels = {
17 0: "No reasoning",
18 1: "Basic reasoning",
19 2: "Moderate reasoning",
20 3: "Strong reasoning",
21 4: "Advanced reasoning"
22 }
23
24 return {
25 "raw_score": score,
26 "reasoning_level": rounded_score,
27 "interpretation": reasoning_labels[rounded_score]
28 }
29
30# Usage
31text = "This argument uses multiple sources and evaluates competing perspectives before reaching a conclusion."
32result = predict_reasoning_level(text, pipe)
33print(f"Raw score: {result['raw_score']:.2f}")
34print(f"Reasoning level: {result['reasoning_level']}")
35print(f"Interpretation: {result['interpretation']}")1from transformers import AutoModelForSequenceClassification, AutoTokenizer
2import torch
3
4# Load model and tokenizer
5model_name = "davanstrien/modernbert-reasoning-complexity"
6model = AutoModelForSequenceClassification.from_pretrained(model_name)
7tokenizer = AutoTokenizer.from_pretrained(model_name)
8
9# Prepare text
10text = "The debate on artificial intelligence's role in society has become increasingly polarized."
11
12# Tokenize and predict
13inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=512)
14with torch.no_grad():
15 outputs = model(**inputs)
16
17# Get regression score
18complexity_score = outputs.logits.item()
19print(f"Reasoning Complexity: {complexity_score:.2f}/4.00")