Repository: confident-ai/deepeval
Issue: bug: gpt-4.1-mini scoring bug
Root cause: Configuration Error

**Describe the bug**

When using GPT-4.1-mini as the evaluation model for G-Eval metrics, the scores returned are approximately 10x lower than what the reasoning indicates, while GPT-4o-mini works correctly.

The model's reasoning correctly identifies high-quality outputs and describes why they should score 0.85-0.95, but returns scores like 0.085-0.095 instead. This appears to be a systematic ~10x scoring error specific to GPT-4.1-mini.

**To Reproduce**

Steps to reproduce the behavior:

1. Install DeepEval 3.6.0 with OpenAI 2.0.1
2. Create a G-Eval metric using GPT-4.1-mini as the evaluation model
3. Run the following code:

```python
from deepeval.test_case import LLMTestCase, LLMTestCaseParams
from deepeval.metrics import GEval
from deepeval.models import GPTModel

# Create evaluation model
evaluation_model = GPTModel(model="gpt-4.1-mini")

# Define G-Eval metric
metric = GEval(
    name="metric_precision",
    evaluation_params=[LLMTestCaseParams.INPUT, LLMTestCaseParams.ACTUAL_OUTPUT],
    model=evaluation_model,
    threshold=0.5,
    criteria="""Evaluate METRIC PRECISION on a scale from 0.0 to 1.0.
Score must be 0.0 to 1.0 where 1.0 is best.""",
    evaluation_steps=[
        "Count exact numbers vs vague ranges",
        "Verify units are clear and consistent",
        "Score between 0.0 and 1.0 where:",
        "- 0.95 = nearly all exact numbers with clear units",
        "- 0.85 = mostly exact numbers, some acceptable ranges",
        "- 0.65 = mix of exact and vague numbers",
        "- 0.40 = mostly vague ranges",
        "Return score as decimal 0.0-1.0 only"
    ]
)

# Test with high-quality output containing precise numbers
test_case = LLMTestCase(
    input="Extract financial metrics",
    actual_output="""
    ## Financial Metrics
    - **Seed Round**: $15M raised in May 2023
    - **Valuation**: $60M post-money
    - **ARR**: $2.5M (vs $400K in Q1 2024)
    - **Customers**: 45 enterprise customers
    - **Average Contract**: $55,000/year
    """
)

metric.measure(test_case)
print(f"Score: {metric.score}")
print(f"Reasoning: {metric.reason}")
```

4. Observe the score returned

**Expected behavior**

Based on the evaluation rubric (0.85 = "mostly exact numbers, some acceptable ranges") and the model's own reasoning, the score should be **0.85-0.95**.

The output contains precise numbers like "$15M", "$2.5M ARR", "45 customers" with clear units, which matches the high-scoring criteria in the rubric.

**Actual behavior**

GPT-4.1-mini returns: **0.085** (~10x lower than expected)

The reasoning output correctly states:
> "The response provides mostly exact numbers with clear units, such as '$15M' seed round, '$2.5M' ARR, and '45 customers.' This mix aligns with the 'mostly exact numbers, some acceptable ranges' category."

This reasoning indicates a score of ~0.85, but the actual score returned is 0.085.

**Comparison with GPT-4o-mini:**

When using `GPTModel(model="gpt-4o-mini")` with the exact same code:
- Score: 0.78-0.85 ✅ (correct)
- Reasoning: Similar quality

**Screenshots**

N/A (terminal output example provided in reproduction steps)

**Environment:**
 - OS: Linux 6.8.0-60-generic
 - Python: 3.13
 - DeepEval: 3.6.0
 - OpenAI: 2.0.1



Closing this, root cause was `Rubric` defaults to [0,10] - but perhaps documentation could be improved?