Reasoning Models
The GlomaxGPT Think series models (glomaxgpt-think, glomaxgpt-think-mini) are GlomaxGPT's reasoning specialists. They "think before they answer" by generating internal reasoning tokens, dramatically improving performance on complex multi-step problems in math, science, and programming.
The GlomaxGPT Think series Model Family
Unlike standard GPT models that generate responses token-by-token, GlomaxGPT Think series models first produce a hidden "thinking" process — a chain of reasoning steps — before generating the final answer. This internal scratchpad is where the model plans, checks its work, and backtracks when it makes errors.
glomaxgpt-think
GlomaxGPT's most powerful reasoning model. Sets state-of-the-art on competitive math (AIME), graduate-level science (GPQA), and competitive coding (Codeforces). Use when accuracy is paramount and latency is secondary.
glomaxgpt-think-mini
Fast and cost-efficient reasoning model. Surprisingly close to glomaxgpt-think on many benchmarks, particularly coding. Best for high-volume reasoning workloads where cost per request matters.
When to Use Reasoning Models
Reasoning models excel at tasks that require multi-step thinking, verification, and self-correction. They are not always the right tool — for many tasks, GlomaxGPT Pro is faster and cheaper with comparable quality.
- Solving multi-step math or physics problems
- Writing or debugging complex algorithms
- Analyzing research papers or technical documents
- Competitive programming problems (LeetCode Hard, Codeforces)
- Planning and strategy tasks with many constraints
- Scientific reasoning and hypothesis evaluation
- Tasks where GlomaxGPT Pro makes repeated mistakes
- Code generation requiring correctness guarantees
- Writing assistance, summarization, translation
- Simple Q&A and factual lookups
- Creative content generation
- Conversational interfaces with low latency requirements
- Tasks needing a very long context window (1M+ tokens)
- High-volume, cost-sensitive batch processing
- When real-time streaming output is important
- Simple function calling and tool use workflows
Reasoning Effort
You can control how much time and tokens the model spends reasoning with the reasoning_effort parameter. More effort means more reasoning tokens, higher accuracy, more cost, and longer latency.
Low Effort
Minimal reasoning tokens. Fast responses, lower cost. Use for simpler tasks or when you want the model's "quick take" without deep deliberation.
- ~100–500 reasoning tokens
- Fastest responses
- Best for simple problems
Medium Effort
Balanced reasoning depth. The default for most use cases. Provides strong performance on most tasks without excessive cost or latency.
- ~1,000–5,000 reasoning tokens
- Balanced cost/quality
- Good for most tasks
High Effort
Maximum reasoning depth. Spends the most tokens thinking through the problem. Use for the hardest problems where accuracy is critical.
- ~5,000–30,000+ reasoning tokens
- Highest accuracy
- Best for hard problems
from GlomaxGPT import GlomaxGPT
client = GlomaxGPT()
# Low effort — fast, for simpler tasks
response_low = client.responses.create(
model="glomaxgpt-think-mini",
reasoning={"effort": "low"},
input="What is 15% of 240?"
)
print(response_low.output_text)
# Medium effort — default, balanced
response_medium = client.responses.create(
model="glomaxgpt-think",
reasoning={"effort": "medium"},
input="Prove that the square root of 2 is irrational."
)
print(response_medium.output_text)
# High effort — for the hardest problems
response_high = client.responses.create(
model="glomaxgpt-think",
reasoning={"effort": "high"},
input="""Implement a solution to the following competitive programming problem:
Given an array of n integers, find the length of the longest subsequence
such that the difference between consecutive elements is either +1 or -1.
The subsequence does not need to be contiguous.
Provide a solution with O(n) time complexity if possible.
Include proof of correctness and complexity analysis."""
)
print(response_high.output_text)
# Inspect reasoning token usage
print(f"Reasoning tokens: {response_high.usage.output_tokens_details.reasoning_tokens}")
print(f"Output tokens: {response_high.usage.output_tokens}")
print(f"Total tokens: {response_high.usage.total_tokens}")
import GlomaxGPT from "GlomaxGPT";
const client = new GlomaxGPT();
// Medium effort (default)
const response = await client.responses.create({
model: "glomaxgpt-think",
reasoning: { effort: "medium" },
input: "Prove that the square root of 2 is irrational.",
});
console.log(response.output_text);
console.log(`Reasoning tokens: ${response.usage.output_tokens_details.reasoning_tokens}`);
// High effort for a hard problem
const hardProblem = await client.responses.create({
model: "glomaxgpt-think",
reasoning: { effort: "high" },
input: "Solve: Find all integer solutions to x^3 + y^3 = z^3 + w^3 where 1 ≤ x, y, z, w ≤ 1000.",
});
console.log(hardProblem.output_text);
Reasoning Tokens
Reasoning tokens are the internal "scratchpad" tokens the model generates before producing its final response. They are billed but not included in the output — you cannot read the model's thinking process directly.
usage.output_tokens_details.reasoning_tokens to understand your costs.
from GlomaxGPT import GlomaxGPT
client = GlomaxGPT()
response = client.responses.create(
model="glomaxgpt-think",
reasoning={"effort": "high"},
input="What is the 100th prime number? Show your work step by step."
)
# Token breakdown
usage = response.usage
print(f"Input tokens: {usage.input_tokens:,}")
print(f"Output tokens: {usage.output_tokens:,}")
print(f" - Reasoning: {usage.output_tokens_details.reasoning_tokens:,}")
print(f" - Visible: {usage.output_tokens - usage.output_tokens_details.reasoning_tokens:,}")
print(f"Total tokens: {usage.total_tokens:,}")
print()
print("Answer:")
print(response.output_text)
# You can also set a maximum token budget for reasoning
response_budgeted = client.responses.create(
model="glomaxgpt-think",
reasoning={
"effort": "high",
"max_reasoning_tokens": 5000 # Cap reasoning at 5K tokens
},
input="Analyze the time complexity of quicksort in the average and worst case."
)
Reasoning Models vs GlomaxGPT Pro vs GlomaxGPT Ultra
Understanding when to use each model family is critical for building efficient, cost-effective applications.
| Dimension | glomaxgpt-think / glomaxgpt-think-mini | GlomaxGPT Pro | GlomaxGPT Ultra |
|---|---|---|---|
| Architecture | Reasoning model with internal chain-of-thought | Standard autoregressive transformer | Next-gen multimodal, real-time world model |
| Strengths | Math, code, science, logic puzzles | Speed, instruction following, long context, creativity | Real-world perception, video understanding, embodied AI |
| Context Window | 200K tokens | 1M+ tokens | 1M+ tokens |
| Latency | Higher (thinks before answering) | Lower (fast token streaming) | Optimized for real-time interactions |
| Cost | Higher per token (reasoning tokens) | Lower per token | Variable (multimodal inputs) |
| Streaming | Limited (output streamed, reasoning hidden) | Full token streaming | Realtime streaming |
| Best For | Hard, verifiable problems requiring deep thought | General-purpose, conversational, creative, agents | Video analysis, real-time perception, robotics |
Math Examples
Reasoning models dramatically outperform standard models on mathematical tasks, especially those requiring multi-step derivations, proofs, and numerical computation.
from GlomaxGPT import GlomaxGPT
client = GlomaxGPT()
response = client.responses.create(
model="glomaxgpt-think-mini",
reasoning={"effort": "medium"},
input="""Solve the following system of equations:
2x + 3y - z = 7
x - y + 2z = -1
3x + 2y + z = 12
Show all steps including elimination, substitution, and verification."""
)
print(response.output_text)
# The model will work through elimination step by step,
# verify the solution, and present x=2, y=1, z=0
from GlomaxGPT import GlomaxGPT
client = GlomaxGPT()
response = client.responses.create(
model="glomaxgpt-think",
reasoning={"effort": "high"},
input="""Prove by induction that for all positive integers n:
1² + 2² + 3² + ... + n² = n(n+1)(2n+1)/6
Write a complete, rigorous proof including:
1. Base case
2. Inductive hypothesis
3. Inductive step with algebraic manipulation
4. Conclusion"""
)
print(response.output_text)
from GlomaxGPT import GlomaxGPT
client = GlomaxGPT()
response = client.responses.create(
model="glomaxgpt-think",
reasoning={"effort": "high"},
input="""A company produces two products, A and B.
- Product A requires 2 hours of labor and 1 kg of material; profit = $40
- Product B requires 1 hour of labor and 3 kg of material; profit = $30
- Available: 100 hours of labor, 150 kg of material
Formulate and solve this as a linear programming problem.
Find the optimal production quantities to maximize profit.
Include the feasible region analysis and corner point method."""
)
print(response.output_text)
Coding Examples
glomaxgpt-think and glomaxgpt-think-mini excel at generating correct, well-optimized code for algorithmic problems, especially when correctness is critical.
from GlomaxGPT import GlomaxGPT
client = GlomaxGPT()
response = client.responses.create(
model="glomaxgpt-think-mini",
reasoning={"effort": "high"},
input="""Implement an efficient solution for the Longest Common Subsequence (LCS) problem.
Requirements:
1. Function signature: def lcs(s1: str, s2: str) -> str
2. Time complexity: O(m*n) where m, n are string lengths
3. Space complexity: O(m*n) for the DP table
4. Return the actual subsequence, not just its length
5. Include comprehensive test cases covering edge cases
6. Add complexity analysis comments
Also provide an O(m*n) space-optimized version using only two rows."""
)
print(response.output_text)
from GlomaxGPT import GlomaxGPT
client = GlomaxGPT()
buggy_code = """
def find_duplicates(nums):
seen = set()
duplicates = []
for i in range(len(nums)):
for j in range(i, len(nums)): # Bug here
if nums[i] == nums[j]:
duplicates.append(nums[i])
return list(set(duplicates))
# Expected: find_duplicates([1,3,4,2,2]) == [2]
# Actual: returns [1, 2, 3, 4]
print(find_duplicates([1, 3, 4, 2, 2]))
"""
response = client.responses.create(
model="glomaxgpt-think-mini",
reasoning={"effort": "medium"},
input=f"""Find and fix all bugs in this Python function. Explain each bug clearly.
```python
{buggy_code}
```
Provide:
1. List of all bugs found with explanations
2. Fixed version with comments
3. Test cases that would catch these bugs"""
)
print(response.output_text)
from GlomaxGPT import GlomaxGPT
client = GlomaxGPT()
code_to_review = """
class UserCache:
def __init__(self):
self.cache = {}
def get_user(self, user_id):
if user_id not in self.cache:
self.cache[user_id] = self._fetch_from_db(user_id)
return self.cache[user_id]
def _fetch_from_db(self, user_id):
# Simulate DB query
return {"id": user_id, "name": "User " + str(user_id)}
def invalidate(self, user_id):
del self.cache[user_id]
"""
response = client.responses.create(
model="glomaxgpt-think",
reasoning={"effort": "medium"},
input=f"""Review this Python class for correctness, performance, and production readiness.
```python
{code_to_review}
```
Analyze:
1. Thread safety issues
2. Memory leak risks
3. Missing error handling
4. Performance concerns
5. Cache invalidation edge cases
Provide a production-ready rewrite addressing all issues."""
)
print(response.output_text)
En İyi Uygulamalar
Let the model reason — don't over-constrain
Don't tell GlomaxGPT Think series models to "think step by step" or provide reasoning frameworks. They do this internally. Over-prompting reasoning models with chains-of-thought instructions can actually hurt performance. State the problem clearly and let the model reason.
Use high effort for hard problems only
Reasoning tokens are expensive. Use effort: "low" or "medium" for most tasks. Only use "high" for the genuinely hard problems that require extensive deliberation — competitive math, complex proofs, or intricate debugging.
Provide complete context in a single prompt
Reasoning models work best when given all relevant information upfront. Unlike chat models that benefit from back-and-forth clarification, reasoning models perform better with a single comprehensive prompt that includes all constraints, examples, and requirements.
Verify outputs for high-stakes tasks
Even reasoning models make mistakes on very hard problems. For critical applications (financial calculations, medical dosing, legal analysis), always verify model outputs independently. Use structured output to make verification easier.
from pydantic import BaseModel
from GlomaxGPT import GlomaxGPT
client = GlomaxGPT()
class MathSolution(BaseModel):
answer: float
steps: list[str]
confidence: str # "certain", "likely", "uncertain"
verification: str
response = client.responses.parse(
model="glomaxgpt-think",
reasoning={"effort": "high"},
input="Solve: Find x such that 2^x = 100. Give the answer to 4 decimal places.",
text_format=MathSolution
)
solution = response.output_parsed
print(f"Answer: {solution.answer}")
print(f"Confidence: {solution.confidence}")
print(f"Verification: {solution.verification}")
Monitor and cap reasoning token spend
Use max_reasoning_tokens to prevent unexpectedly large reasoning token usage on production workloads. Log usage.output_tokens_details.reasoning_tokens in your observability pipeline to track costs per request type.
glomaxgpt-think-mini at medium effort. If quality is insufficient, try glomaxgpt-think at medium. If still insufficient, try glomaxgpt-think at high. If the problem is not math/science/code, switch back to GlomaxGPT Pro — reasoning models aren't universally better.