Skip to content

feat(together-ai): update model YAMLs [bot]#1313

Merged
harshiv-26 merged 4 commits into
mainfrom
bot/update-together-ai-20260609-105520
Jun 10, 2026
Merged

feat(together-ai): update model YAMLs [bot]#1313
harshiv-26 merged 4 commits into
mainfrom
bot/update-together-ai-20260609-105520

Conversation

@models-bot

@models-bot models-bot Bot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Auto-generated by poc-agent for provider together-ai.


Note

Low Risk
Metadata-only provider catalog changes with no runtime code paths affected.

Overview
Updates two Together AI model catalog entries to match current provider capabilities.

MiniMax-M2.7 drops structured_output from features, leaving function calling, JSON output, and prompt caching.

DeepSeek-V4-Pro gains a params block for reasoning_effort (high / max, default high), consistent with other thinking models in this provider.

Reviewed by Cursor Bugbot for commit 9af9e6b. Bugbot is set up for automated code reviews on this repo. Configure here.

@github-actions

github-actions Bot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

/test-models

@harshiv-26

Copy link
Copy Markdown
Collaborator

Gateway test results

  • Total: 18
  • Passed: 12
  • Failed: 0
  • Validation failed: 6
  • Errored: 0
  • Skipped: 0
  • Success rate: 66.67%
Provider Model Scenarios
together-ai MiniMaxAI/MiniMax-M2.7 success: params, json-output, params:stream, tool-call, json-output:stream

validation_failure: tool-call:stream, reasoning:stream, reasoning
together-ai deepseek-ai/DeepSeek-V4-Pro success: structured-output:stream, structured-output, params, params:stream, tool-call, json-output, json-output:stream

validation_failure: tool-call:stream, reasoning, reasoning:stream
Failures (6)

together-ai/deepseek-ai/DeepSeek-V4-Pro — tool-call:stream (validation_failure)

Error
Traceback (most recent call last):
  File "/tmp/tmpcfq6gz9b/snippet.py", line 49, in <module>
    raise Exception("VALIDATION FAILED: tool-call stream - no tool calls received")
Exception: VALIDATION FAILED: tool-call stream - no tool calls received
Code snippet
from openai import OpenAI

client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")

tools = [
    {
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "Get the current weather for a location.",
            "parameters": {
                "type": "object",
                "properties": {
                    "location": {
                        "type": "string",
                        "description": "The city name, e.g. London",
                    },
                },
                "required": ["location"],
                "additionalProperties": False,
            },
            "strict": True,
        },
    },
]

response = client.chat.completions.create(
    model="test-v2-together-ai/deepseek-ai-DeepSeek-V4-Pro",
    messages=[
        {"role": "user", "content": "Use the get_weather tool to check the weather in London. You must call the tool, do not respond with plain text."},
    ],
    tools=tools,
    tool_choice="auto",
    stream=True,
)
_tool_calls_made = False
for chunk in response:
    if chunk.choices and len(chunk.choices) > 0:
        delta = chunk.choices[0].delta
        if delta.content is not None:
            print(delta.content, end="", flush=True)
        if delta.tool_calls:
            _tool_calls_made = True
            for _tc in delta.tool_calls:
                if _tc.function:
                    print(_tc.function.arguments or "", end="", flush=True)

if not _tool_calls_made:
    raise Exception("VALIDATION FAILED: tool-call stream - no tool calls received")
print("\nVALIDATION: tool-call stream SUCCESS")
Output
I'll check the weather in London for you right away

together-ai/deepseek-ai/DeepSeek-V4-Pro — reasoning (validation_failure)

Error
Traceback (most recent call last):
  File "/tmp/tmpq3i2wj_1/snippet.py", line 39, in <module>
    raise Exception("VALIDATION FAILED: reasoning - no reasoning information in response")
Exception: VALIDATION FAILED: reasoning - no reasoning information in response
Code snippet
from openai import OpenAI

client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")

response = client.chat.completions.create(
    model="test-v2-together-ai/deepseek-ai-DeepSeek-V4-Pro",
    messages=[
        {"role": "user", "content": "How to calculate 3^3^3^3? Think step by step and show all reasoning."},
    ],
    reasoning_effort="medium",
    stream=False,
)
_usage = getattr(response, "usage", None)
_reasoning_detected = False

_choices = getattr(response, "choices", None)
if _choices and len(_choices) > 0:
    _message = getattr(_choices[0], "message", None)
else:
    _message = None

if _message and getattr(_message, "content", None) is not None:
    print(_message.content)

if _usage is not None:
    _output_token_details = getattr(_usage, "completion_tokens_details", None)
    if _output_token_details and getattr(_output_token_details, "reasoning_tokens", 0) > 0:
        _reasoning_detected = True
    elif getattr(_usage, "reasoning", None) is not None:
        _reasoning_detected = True

if getattr(_message, "reasoning_content", None) is not None:
    _reasoning_detected = True
elif getattr(_message, "reasoning", None) is not None:
    _reasoning_detected = True

if not _reasoning_detected:
    print("Response: ", response)
    raise Exception("VALIDATION FAILED: reasoning - no reasoning information in response")
print("VALIDATION: reasoning SUCCESS")
Output
Alright — let’s break this down carefully. The expression:  

\[
3^{3^{3^3}}
\]

---

### Step 1 – Clarifying the order of operations
Exponentiation is **right-associative**, which means we evaluate from the top down (right to left), not left to right.  
So:

\[
3^{3^{3^3}} = 3^{\left(3^{\left(3^3\right)}\right)}
\]

---

### Step 2 – Start with the topmost exponent
First calculate the exponent \(3^3\):

\[
3^3 = 27
\]

---

### Step 3 – Next level
Now substitute back:

\[
3^{(3^{27})}
\]

Here \(3^{27}\) is already enormous, but let’s compute it exactly to understand its scale.

---

### Step 4 – What’s \(3^{27}\)
We can do this in steps:

- \(3^3 = 27\)  
- \(3^6 = 27^2 = 729\)  
- \(3^9 = 3^6 \cdot 27 = 729 \cdot 27 = 19683\)  
- \(3^{18} = (3^9)^2 = 19683^2\)

\(19683^2 = (20000 - 317)^2  
= 20000^2 - 2 \cdot 20000 \cdot 317 + 317^2\)  
\(= 400,000,000 - 12,680,000 + 100,489\)  
\(= 387,420,489\)  

- Now \(3^{27} = 3^{18} \cdot 3^9 = 387,420,489 \cdot 19,683\)

Multiply:  
- 387,420,489 × 19,683 = 387,420,489 × (20,000 - 317)  
= 7,748,409,780,000 - 122,812,295,013  
= 7,625,597,484,987

So:

\[
3^{27} = 7,625,597,484,987
\]

---

### Step 5 – Understanding the scale
Now the original expression is:

\[
3^{(3^{27})} = 3^{7,625,597,484,987}
\]

This is a number with about  
\(\log_{10}(3) \times 7.6 \times 10^{12} \approx 0.4771 \times 7.6 \times 10^{12}\)  
\(\approx 3.63 \times 10^{12}\) decimal digits.

That’s **trillions of digits** — astronomically huge and impossible to write out in full.

---

### Step 6 – Conclusion
So the final expression reduces to:

\[
\boxed{3^{7,625,597,484,987}}
\]

If we want just the approximate magnitude:

\[
\boxed{\approx 10^{3.63 \times 10^{12}}}
\]
Response:  ChatCompletion(id='onU6rPK-2dTqGa-a08f9c614efff828', choices=[Choice(finish_reason='stop', index=0, logprobs=None, message=ChatCompletionMessage(content='Alright — let’s break this down carefully. The expression:  \n\n\\[\n3^{3^{3^3}}\n\\]\n\n---\n\n### Step 1 – Clarifying the order of operations\nExponentiation is **right-associative**, which means we evaluate from the top down (right to left), not left to right.  \nSo:\n\n\\[\n3^{3^{3^3}} = 3^{\\left(3^{\\left(3^3\\right)}\\right)}\n\\]\n\n---\n\n### Step 2 – Start with the topmost exponent\nFirst calculate the exponent \\(3^3\\):\n\n\\[\n3^3 = 27\n\\]\n\n---\n\n### Step 3 – Next level\nNow substitute back:\n\n\\[\n3^{(3^{27})}\n\\]\n\nHere \\(3^{27}\\) is already enormous, but let’s compute it exactly to understand its scale.\n\n---\n\n### Step 4 – What’s \\(3^{27}\\)\nWe can do this in steps:\n\n- \\(3^3 = 27\\)  \n- \\(3^6 = 27^2 = 729\\)  \n- \\(3^9 = 3^6 \\cdot 27 = 729 \\cdot 27 = 19683\\)  \n- \\(3^{18} = (3^9)^2 = 19683^2\\)\n\n\\(19683^2 = (20000 - 317)^2  \n= 20000^2 - 2 \\cdot 20000 \\cdot 317 + 317^2\\)  \n\\(= 400,000,000 - 12,680,000 + 100,489\\)  \n\\(= 387,420,489\\)  \n\n- Now \\(3^{27} = 3^{18} \\cdot 3^9 = 387,420,489 \\cdot 19,683\\)\n\nMultiply:  \n- 387,420,489 × 19,683 = 387,420,489 × (20,000 - 317)  \n= 7,748,409,780,000 - 122,812,295,013  \n= 7,625,597,484,987\n\nSo:\n\n\\[\n3^{27} = 7,625,597,484,987\n\\]\n\n---\n\n### Step 5 – Understanding the scale\nNow the original expression is:\n\n\\[\n3^{(3^{27})} = 3^{7,625,597,484,987}\n\\]\n\nThis is a number with about  \n\\(\\log_{10}(3) \\times 7.6 \\times 10^{12} \\approx 0.4771 \\times 7.6 \\times 10^{12}\\)  \n\\(\\approx 3.63 \\times 10^{12}\\) decimal digits.\n\nThat’s **trillions of digits** — astronomically huge and impossible to write out in full.\n\n---\n\n### Step 6 – Conclusion\nSo the final expression reduces to:\n\n\\[\n\\boxed{3^{7,625,597,484,987}}\n\\]\n\nIf we want just the approximate magnitude:\n\n\\[\n\\boxed{\\approx 10^{3.63 \\times 10^{12}}}\n\\]', refusal=None, role='assistant', annotations=None, audio=None, function_call=None, tool_calls=[]))], created=1781002598, model='deepseek-ai/DeepSeek-V4-Pro', object='chat.completion', service_tier=None, system_fingerprint=None, usage=CompletionUsage(completion_tokens=651, prompt_tokens=25, total_tokens=676, completion_tokens_details=None, prompt_tokens_details=None), provider='together-ai')

together-ai/deepseek-ai/DeepSeek-V4-Pro — reasoning:stream (validation_failure)

Error
Traceback (most recent call last):
  File "/tmp/tmp4ueqe4pf/snippet.py", line 31, in <module>
    raise Exception("VALIDATION FAILED: reasoning stream - no reasoning information in stream")
Exception: VALIDATION FAILED: reasoning stream - no reasoning information in stream
Code snippet
from openai import OpenAI

client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")

response = client.chat.completions.create(
    model="test-v2-together-ai/deepseek-ai-DeepSeek-V4-Pro",
    messages=[
        {"role": "user", "content": "How to calculate 3^3^3^3? Think step by step and show all reasoning."},
    ],
    reasoning_effort="medium",
    stream=True,
)
_reasoning_detected = False
for chunk in response:
    if chunk.choices and len(chunk.choices) > 0:
        delta = chunk.choices[0].delta
        if delta.content is not None:
            print(delta.content, end="", flush=True)
        if getattr(delta, "reasoning_content", None) is not None:
            _reasoning_detected = True
        if getattr(delta, "reasoning", None) is not None:
            _reasoning_detected = True

    _usage = getattr(chunk, "usage", None)
    if _usage is not None:
        _details = getattr(_usage, "completion_tokens_details", None)
        if _details and getattr(_details, "reasoning_tokens", 0) > 0:
            _reasoning_detected = True

if not _reasoning_detected:
    raise Exception("VALIDATION FAILED: reasoning stream - no reasoning information in stream")
print("\nVALIDATION: reasoning stream SUCCESS")
Output
Alright, let’s go step-by-step.

---

**Step 1 – Clarify the expression**

We have:

\[
3^{3^{3^{3}}}
\]

Exponentiation is right-associative—meaning we evaluate from the top down.  
This differs from something like \((3^3)^3\) which is left-associative.

So the expression is:

\[
3^{(3^{(3^3)})}
\]

---

**Step 2 – Start from the topmost exponent**

The exponent stack is:

\[
3^{(3^{(3^3)})}
\]

Start inside the parentheses at the very top:

\[
3^3 = 27
\]

So the exponent becomes:

\[
3^{(3^{27})}
\]

---

**Step 3 – Evaluate the next exponent**

Now we need \(3^{27}\):

\[
3^3 = 27
\]
\[
3^9 = 27^3 = 19683
\]
\[
3^{27} = 3^{9 \cdot 3} = (3^9)^3 = (19683)^3
\]

Let's compute \(19683^2\) first:  
\(19683^2 = (20000 - 317)^2\)  
= \(400,000,000 - 2 \cdot 20000 \cdot 317 + 317^2\)  
= \(400,000,000 - 12,680,000 + 100,489\)  
= \(387,420,489\)

Now multiply by 19683:

\(387,420,489 \times 19683\):

Break it:  
- \(387,420,489 \times 20000 = 7,748,409,780,000\)  
- Subtract \(387,420,489 \times 317\):

First \(387,420,489 \times 300 = 116,226,146,700\)  
Then \(387,420,489 \times 17 = 6,586,148,313\)  
Sum = \(122,812,295,013\)

So:

\(7,748,409,780,000 - 122,812,295,013 = 7,625,597,484,987\)

Thus:

\[
3^{27} = 7,625,597,484,987
\]

---

**Step 4 – Result so far**

We now have:

\[
3^{(3^{27})} = 3^{7,625,597,484,987}
\]

So our original expression is:

\[
3^{3^{3^{3}}} = 3^{3^{27}} = 3^{7,625,597,484,987}
\]

---

**Step 5 – Magnitude**

This is astronomically large; it has about \(7.6 \times 10^{12}\) in the exponent. If we tried to find the number of decimal digits:

\[
\log_{10}(3^{7.6 \times 10^{12}}) = 7.6 \times 10^{12} \cdot \log_{10} 3
\]

Since \(\log_{10} 3 \approx 0.4771\):

\[
7.6 \times 10^{12} \times 0.4771 \approx 3.63 \times 10^{12} \text{ digits}
\]

So the number has over **3.6 trillion digits**.

---

**Final Answer:**

\[
3^{3^{3^{3}}} = 3^{7,625,597,484,987}
\]
This is a number with ~3.6 trillion digits—impossible to write out fully.

together-ai/MiniMaxAI/MiniMax-M2.7 — tool-call:stream (validation_failure)

Error
Traceback (most recent call last):
  File "/tmp/tmpg4jy7pi1/snippet.py", line 49, in <module>
    raise Exception("VALIDATION FAILED: tool-call stream - no tool calls received")
Exception: VALIDATION FAILED: tool-call stream - no tool calls received
Code snippet
from openai import OpenAI

client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")

tools = [
    {
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "Get the current weather for a location.",
            "parameters": {
                "type": "object",
                "properties": {
                    "location": {
                        "type": "string",
                        "description": "The city name, e.g. London",
                    },
                },
                "required": ["location"],
                "additionalProperties": False,
            },
            "strict": True,
        },
    },
]

response = client.chat.completions.create(
    model="test-v2-together-ai/MiniMaxAI-MiniMax-M2.7",
    messages=[
        {"role": "user", "content": "Use the get_weather tool to check the weather in London. You must call the tool, do not respond with plain text."},
    ],
    tools=tools,
    tool_choice="auto",
    stream=True,
)
_tool_calls_made = False
for chunk in response:
    if chunk.choices and len(chunk.choices) > 0:
        delta = chunk.choices[0].delta
        if delta.content is not None:
            print(delta.content, end="", flush=True)
        if delta.tool_calls:
            _tool_calls_made = True
            for _tc in delta.tool_calls:
                if _tc.function:
                    print(_tc.function.arguments or "", end="", flush=True)

if not _tool_calls_made:
    raise Exception("VALIDATION FAILED: tool-call stream - no tool calls received")
print("\nVALIDATION: tool-call stream SUCCESS")

together-ai/MiniMaxAI/MiniMax-M2.7 — reasoning:stream (validation_failure)

Error
Traceback (most recent call last):
  File "/tmp/tmpbo6d9lfx/snippet.py", line 31, in <module>
    raise Exception("VALIDATION FAILED: reasoning stream - no reasoning information in stream")
Exception: VALIDATION FAILED: reasoning stream - no reasoning information in stream
Code snippet
from openai import OpenAI

client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")

response = client.chat.completions.create(
    model="test-v2-together-ai/MiniMaxAI-MiniMax-M2.7",
    messages=[
        {"role": "user", "content": "How to calculate 3^3^3^3? Think step by step and show all reasoning."},
    ],
    reasoning_effort="medium",
    stream=True,
)
_reasoning_detected = False
for chunk in response:
    if chunk.choices and len(chunk.choices) > 0:
        delta = chunk.choices[0].delta
        if delta.content is not None:
            print(delta.content, end="", flush=True)
        if getattr(delta, "reasoning_content", None) is not None:
            _reasoning_detected = True
        if getattr(delta, "reasoning", None) is not None:
            _reasoning_detected = True

    _usage = getattr(chunk, "usage", None)
    if _usage is not None:
        _details = getattr(_usage, "completion_tokens_details", None)
        if _details and getattr(_details, "reasoning_tokens", 0) > 0:
            _reasoning_detected = True

if not _reasoning_detected:
    raise Exception("VALIDATION FAILED: reasoning stream - no reasoning information in stream")
print("\nVALIDATION: reasoning stream SUCCESS")

together-ai/MiniMaxAI/MiniMax-M2.7 — reasoning (validation_failure)

Error
Traceback (most recent call last):
  File "/tmp/tmp38gi23_z/snippet.py", line 39, in <module>
    raise Exception("VALIDATION FAILED: reasoning - no reasoning information in response")
Exception: VALIDATION FAILED: reasoning - no reasoning information in response
Code snippet
from openai import OpenAI

client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")

response = client.chat.completions.create(
    model="test-v2-together-ai/MiniMaxAI-MiniMax-M2.7",
    messages=[
        {"role": "user", "content": "How to calculate 3^3^3^3? Think step by step and show all reasoning."},
    ],
    reasoning_effort="medium",
    stream=False,
)
_usage = getattr(response, "usage", None)
_reasoning_detected = False

_choices = getattr(response, "choices", None)
if _choices and len(_choices) > 0:
    _message = getattr(_choices[0], "message", None)
else:
    _message = None

if _message and getattr(_message, "content", None) is not None:
    print(_message.content)

if _usage is not None:
    _output_token_details = getattr(_usage, "completion_tokens_details", None)
    if _output_token_details and getattr(_output_token_details, "reasoning_tokens", 0) > 0:
        _reasoning_detected = True
    elif getattr(_usage, "reasoning", None) is not None:
        _reasoning_detected = True

if getattr(_message, "reasoning_content", None) is not None:
    _reasoning_detected = True
elif getattr(_message, "reasoning", None) is not None:
    _reasoning_detected = True

if not _reasoning_detected:
    print("Response: ", response)
    raise Exception("VALIDATION FAILED: reasoning - no reasoning information in response")
print("VALIDATION: reasoning SUCCESS")
Output
Response:  ChatCompletion(id='onU6yu8-gBAtS-a08f9cfe9f45ca32', choices=[Choice(finish_reason='length', index=0, logprobs=None, message=ChatCompletionMessage(content='', refusal=None, role='assistant', annotations=None, audio=None, function_call=None, tool_calls=[]))], created=1781002623, model='MiniMaxAI/MiniMax-M2.7', object='chat.completion', service_tier=None, system_fingerprint=None, usage=CompletionUsage(completion_tokens=2048, prompt_tokens=59, total_tokens=2107, completion_tokens_details=None, prompt_tokens_details=None), provider='together-ai')
Successes (12)

together-ai/deepseek-ai/DeepSeek-V4-Pro — structured-output:stream (success)

Output
{"name": "Science Fair", "date": "Friday", "participants": ["Alice", "Bob"]}
VALIDATION: structured-output stream SUCCESS

together-ai/deepseek-ai/DeepSeek-V4-Pro — structured-output (success)

Output
{
  "name": "Science Fair",
  "date": "Friday",
  "participants": ["Alice", "Bob"]
}
VALIDATION: structured-output SUCCESS

together-ai/deepseek-ai/DeepSeek-V4-Pro — params (success)

Output
The capital of France is **Paris**.

together-ai/deepseek-ai/DeepSeek-V4-Pro — params:stream (success)

Output
The capital of France is **Paris**.

together-ai/deepseek-ai/DeepSeek-V4-Pro — tool-call (success)

Output
Function: get_weather
Arguments: {"location":"London"}
VALIDATION: tool-call SUCCESS

together-ai/deepseek-ai/DeepSeek-V4-Pro — json-output (success)

Output
{
  "colors": [
    {
      "name": "Turquoise",
      "hex": "#40E0D0"
    },
    {
      "name": "Coral",
      "hex": "#FF7F50"
    },
    {
      
... (truncated, 87 chars omitted)

together-ai/deepseek-ai/DeepSeek-V4-Pro — json-output:stream (success)

Output
{
  "colors": [
    {
      "name": "Cerulean",
      "hex": "#007BA7"
    },
    {
      "name": "Coral",
      "hex": "#FF7F50"
    },
    {
      "
... (truncated, 97 chars omitted)

together-ai/MiniMaxAI/MiniMax-M2.7 — params (success)

Output
The capital of France is **Paris**.

together-ai/MiniMaxAI/MiniMax-M2.7 — json-output (success)

Output
{"messages":[{"role":"system","content":"You are a helpful assistant named MiniMax-M2.1, who is expected to answer the user's queries as precisely and
... (truncated, 333 chars omitted)

together-ai/MiniMaxAI/MiniMax-M2.7 — params:stream (success)

Output
The capital of France is **Paris**.

together-ai/MiniMaxAI/MiniMax-M2.7 — tool-call (success)

Output
Function: get_weather
Arguments: {"location":"London"}
VALIDATION: tool-call SUCCESS

together-ai/MiniMaxAI/MiniMax-M2.7 — json-output:stream (success)

Output
{
  "colors": [
    {
      "name": "Red",
      "hex": "#FF0000"
    },
    {
      "name": "Green",
      "hex": "#008000"
    },
    {
      "name"
... (truncated, 557 chars omitted)

@github-actions

github-actions Bot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

/test-models

@harshiv-26 harshiv-26 enabled auto-merge (squash) June 9, 2026 12:38
@harshiv-26

Copy link
Copy Markdown
Collaborator

Gateway test results

  • Total: 18
  • Passed: 12
  • Failed: 0
  • Validation failed: 6
  • Errored: 0
  • Skipped: 0
  • Success rate: 66.67%
Provider Model Scenarios
together-ai MiniMaxAI/MiniMax-M2.7 success: json-output:stream, params, params:stream, json-output, tool-call

validation_failure: tool-call:stream, reasoning, reasoning:stream
together-ai deepseek-ai/DeepSeek-V4-Pro success: params, structured-output:stream, params:stream, structured-output, json-output, json-output:stream, tool-call

validation_failure: tool-call:stream, reasoning, reasoning:stream
Failures (6)

together-ai/deepseek-ai/DeepSeek-V4-Pro — tool-call:stream (validation_failure)

Error
Traceback (most recent call last):
  File "/tmp/tmpe9dh2a0f/snippet.py", line 49, in <module>
    raise Exception("VALIDATION FAILED: tool-call stream - no tool calls received")
Exception: VALIDATION FAILED: tool-call stream - no tool calls received
Code snippet
from openai import OpenAI

client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")

tools = [
    {
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "Get the current weather for a location.",
            "parameters": {
                "type": "object",
                "properties": {
                    "location": {
                        "type": "string",
                        "description": "The city name, e.g. London",
                    },
                },
                "required": ["location"],
                "additionalProperties": False,
            },
            "strict": True,
        },
    },
]

response = client.chat.completions.create(
    model="test-v2-together-ai/deepseek-ai-DeepSeek-V4-Pro",
    messages=[
        {"role": "user", "content": "Use the get_weather tool to check the weather in London. You must call the tool, do not respond with plain text."},
    ],
    tools=tools,
    tool_choice="auto",
    stream=True,
)
_tool_calls_made = False
for chunk in response:
    if chunk.choices and len(chunk.choices) > 0:
        delta = chunk.choices[0].delta
        if delta.content is not None:
            print(delta.content, end="", flush=True)
        if delta.tool_calls:
            _tool_calls_made = True
            for _tc in delta.tool_calls:
                if _tc.function:
                    print(_tc.function.arguments or "", end="", flush=True)

if not _tool_calls_made:
    raise Exception("VALIDATION FAILED: tool-call stream - no tool calls received")
print("\nVALIDATION: tool-call stream SUCCESS")

together-ai/deepseek-ai/DeepSeek-V4-Pro — reasoning (validation_failure)

Error
Traceback (most recent call last):
  File "/tmp/tmpq9ho97nz/snippet.py", line 39, in <module>
    raise Exception("VALIDATION FAILED: reasoning - no reasoning information in response")
Exception: VALIDATION FAILED: reasoning - no reasoning information in response
Code snippet
from openai import OpenAI

client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")

response = client.chat.completions.create(
    model="test-v2-together-ai/deepseek-ai-DeepSeek-V4-Pro",
    messages=[
        {"role": "user", "content": "How to calculate 3^3^3^3? Think step by step and show all reasoning."},
    ],
    reasoning_effort="medium",
    stream=False,
)
_usage = getattr(response, "usage", None)
_reasoning_detected = False

_choices = getattr(response, "choices", None)
if _choices and len(_choices) > 0:
    _message = getattr(_choices[0], "message", None)
else:
    _message = None

if _message and getattr(_message, "content", None) is not None:
    print(_message.content)

if _usage is not None:
    _output_token_details = getattr(_usage, "completion_tokens_details", None)
    if _output_token_details and getattr(_output_token_details, "reasoning_tokens", 0) > 0:
        _reasoning_detected = True
    elif getattr(_usage, "reasoning", None) is not None:
        _reasoning_detected = True

if getattr(_message, "reasoning_content", None) is not None:
    _reasoning_detected = True
elif getattr(_message, "reasoning", None) is not None:
    _reasoning_detected = True

if not _reasoning_detected:
    print("Response: ", response)
    raise Exception("VALIDATION FAILED: reasoning - no reasoning information in response")
print("VALIDATION: reasoning SUCCESS")
Output
Alright, let’s break down **3^3^3^3** carefully.

---

**Step 1 – Understanding the notation**

We have:

\[
3^{3^{3^3}}
\]

By convention, exponentiation is **right-associative**, meaning we evaluate from the **top down**:

\[
3^{(3^{(3^3)})}
\]

---

**Step 2 – Start from the topmost exponent: \(3^3\)**

\[
3^3 = 27
\]

So now we have:

\[
3^{(3^{27})}
\]

---

**Step 3 – Next exponent: \(3^{27}\)**

Let’s compute \(3^{27}\):

\[
3^3 = 27
\]
\[
3^6 = 27^2 = 729
\]
\[
3^9 = 3^6 \cdot 3^3 = 729 \cdot 27 = 19\,683
\]
\[
3^{18} = (3^9)^2 = 19\,683^2
\]
\(19\,683^2 = 387\,420\,489\)

Now, \(3^{27} = 3^{18} \cdot 3^9\)
\[
387\,420\,489 \cdot 19\,683
\]

We can break this down:

- \(387\,420\,489 \cdot 20\,000 = 7\,748\,409\,780\,000\)
- \(387\,420\,489 \cdot 317\) to subtract (since \(20\,000 - 19\,683 = 317\)):
    - \(387\,420\,489 \cdot 300 = 116\,226\,146\,700\)
    - \(387\,420\,489 \cdot 17 = 6\,586\,148\,313\)
    - Sum: \(116\,226\,146\,700 + 6\,586\,148\,313 = 122\,812\,295\,013\)
- Subtract: \(7\,748\,409\,780\,000 - 122\,812\,295\,013 = 7\,625\,597\,484\,987\)

Thus:

\[
3^{27} = 7\,625\,597\,484\,987
\]

---

**Step 4 – The size of the number**

We now have:

\[
3^{(3^{27})} = 3^{7\,625\,597\,484\,987}
\]

This number is unimaginably vast.  
Its number of *decimal digits* is:

\[
\lfloor 7\,625\,597\,484\,987 \cdot \log_{10}(3) \rfloor + 1
\]

Using \(\log_{10}(3) \approx 0.47712125472\):

Multiply:
\[
7\,625\,597\,484\,987 \cdot 0.47712125472 \approx 3\,638\,334\,640\,024
\]
digits (roughly 3.6 trillion digits).

---

**Step 5 – Conclusion**

The expression \(3^{3^{3^3}}\) evaluates to:

\[
3^{7\,625\,597\,484\,987}
\]

which is a number with about **3.6 trillion digits**—far beyond the number of atoms in the observable universe.

\[
\boxed{3^{7\,625\,597\,484\,987}}
\]
Response:  ChatCompletion(id='onUeoLi-gBAtS-a090348f29a20434', choices=[Choice(finish_reason='stop', index=0, logprobs=None, message=ChatCompletionMessage(content='Alright, let’s break down **3^3^3^3** carefully.\n\n---\n\n**Step 1 – Understanding the notation**\n\nWe have:\n\n\\[\n3^{3^{3^3}}\n\\]\n\nBy convention, exponentiation is **right-associative**, meaning we evaluate from the **top down**:\n\n\\[\n3^{(3^{(3^3)})}\n\\]\n\n---\n\n**Step 2 – Start from the topmost exponent: \\(3^3\\)**\n\n\\[\n3^3 = 27\n\\]\n\nSo now we have:\n\n\\[\n3^{(3^{27})}\n\\]\n\n---\n\n**Step 3 – Next exponent: \\(3^{27}\\)**\n\nLet’s compute \\(3^{27}\\):\n\n\\[\n3^3 = 27\n\\]\n\\[\n3^6 = 27^2 = 729\n\\]\n\\[\n3^9 = 3^6 \\cdot 3^3 = 729 \\cdot 27 = 19\\,683\n\\]\n\\[\n3^{18} = (3^9)^2 = 19\\,683^2\n\\]\n\\(19\\,683^2 = 387\\,420\\,489\\)\n\nNow, \\(3^{27} = 3^{18} \\cdot 3^9\\)\n\\[\n387\\,420\\,489 \\cdot 19\\,683\n\\]\n\nWe can break this down:\n\n- \\(387\\,420\\,489 \\cdot 20\\,000 = 7\\,748\\,409\\,780\\,000\\)\n- \\(387\\,420\\,489 \\cdot 317\\) to subtract (since \\(20\\,000 - 19\\,683 = 317\\)):\n    - \\(387\\,420\\,489 \\cdot 300 = 116\\,226\\,146\\,700\\)\n    - \\(387\\,420\\,489 \\cdot 17 = 6\\,586\\,148\\,313\\)\n    - Sum: \\(116\\,226\\,146\\,700 + 6\\,586\\,148\\,313 = 122\\,812\\,295\\,013\\)\n- Subtract: \\(7\\,748\\,409\\,780\\,000 - 122\\,812\\,295\\,013 = 7\\,625\\,597\\,484\\,987\\)\n\nThus:\n\n\\[\n3^{27} = 7\\,625\\,597\\,484\\,987\n\\]\n\n---\n\n**Step 4 – The size of the number**\n\nWe now have:\n\n\\[\n3^{(3^{27})} = 3^{7\\,625\\,597\\,484\\,987}\n\\]\n\nThis number is unimaginably vast.  \nIts number of *decimal digits* is:\n\n\\[\n\\lfloor 7\\,625\\,597\\,484\\,987 \\cdot \\log_{10}(3) \\rfloor + 1\n\\]\n\nUsing \\(\\log_{10}(3) \\approx 0.47712125472\\):\n\nMultiply:\n\\[\n7\\,625\\,597\\,484\\,987 \\cdot 0.47712125472 \\approx 3\\,638\\,334\\,640\\,024\n\\]\ndigits (roughly 3.6 trillion digits).\n\n---\n\n**Step 5 – Conclusion**\n\nThe expression \\(3^{3^{3^3}}\\) evaluates to:\n\n\\[\n3^{7\\,625\\,597\\,484\\,987}\n\\]\n\nwhich is a number with about **3.6 trillion digits**—far beyond the number of atoms in the observable universe.\n\n\\[\n\\boxed{3^{7\\,625\\,597\\,484\\,987}}\n\\]', refusal=None, role='assistant', annotations=None, audio=None, function_call=None, tool_calls=[]))], created=1781008832, model='deepseek-ai/DeepSeek-V4-Pro', object='chat.completion', service_tier=None, system_fingerprint=None, usage=CompletionUsage(completion_tokens=709, prompt_tokens=25, total_tokens=734, completion_tokens_details=None, prompt_tokens_details=None), provider='together-ai')

together-ai/deepseek-ai/DeepSeek-V4-Pro — reasoning:stream (validation_failure)

Error
Traceback (most recent call last):
  File "/tmp/tmpnstm9w68/snippet.py", line 31, in <module>
    raise Exception("VALIDATION FAILED: reasoning stream - no reasoning information in stream")
Exception: VALIDATION FAILED: reasoning stream - no reasoning information in stream
Code snippet
from openai import OpenAI

client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")

response = client.chat.completions.create(
    model="test-v2-together-ai/deepseek-ai-DeepSeek-V4-Pro",
    messages=[
        {"role": "user", "content": "How to calculate 3^3^3^3? Think step by step and show all reasoning."},
    ],
    reasoning_effort="medium",
    stream=True,
)
_reasoning_detected = False
for chunk in response:
    if chunk.choices and len(chunk.choices) > 0:
        delta = chunk.choices[0].delta
        if delta.content is not None:
            print(delta.content, end="", flush=True)
        if getattr(delta, "reasoning_content", None) is not None:
            _reasoning_detected = True
        if getattr(delta, "reasoning", None) is not None:
            _reasoning_detected = True

    _usage = getattr(chunk, "usage", None)
    if _usage is not None:
        _details = getattr(_usage, "completion_tokens_details", None)
        if _details and getattr(_details, "reasoning_tokens", 0) > 0:
            _reasoning_detected = True

if not _reasoning_detected:
    raise Exception("VALIDATION FAILED: reasoning stream - no reasoning information in stream")
print("\nVALIDATION: reasoning stream SUCCESS")
Output
Alright — let’s break this down step-by-step.

---

**Step 1 – Understanding the notation**

The expression:

\[
3^{3^{3^3}}
\]

means we need to work **from the top down** in the exponents.  
Exponentiation is right-associative, meaning:

\[
a^{b^{c^d}} = a^{\left(b^{\left(c^d\right)}\right)}
\]

So here:

\[
3^{3^{3^3}} = 3^{\left(3^{\left(3^3\right)}\right)}
\]

---

**Step 2 – Evaluate the innermost exponent**

First:

\[
3^3 = 27
\]

Now substitute:

\[
3^{3^3} = 3^{27}
\]

---

**Step 3 – Evaluate the next exponent**

We have:

\[
3^{27}
\]

That is:

\[
3^{27} = 3^{3^3} = 7,625,597,484,987
\]

That’s about \(7.6 \times 10^{12}\).

---

**Step 4 – Final step**

Now we have:

\[
3^{7,625,597,484,987}
\]

This is an astronomically large number.  
It has about \( \log_{10}(3) \times 7,625,597,484,987 \) digits.

Using \(\log_{10}(3) \approx 0.4771\):

\[
\text{Number of digits} \approx 0.4771 \times 7,625,597,484,987 \approx 3.64 \times 10^{12} \text{ digits}
\]

---

**Step 5 – Conclusion**

The value of \(3^{3^{3^3}}\) is:

- The power tower evaluated top-down.
- It is \(3\) raised to the power \(3^{27}\).
- The result is too large to write explicitly—it has trillions of digits.

So:

\[
3^{3^{3^3}} = 3^{7,625,597,484,987}
\]

That’s the simplified exact form.

together-ai/MiniMaxAI/MiniMax-M2.7 — tool-call:stream (validation_failure)

Error
Traceback (most recent call last):
  File "/tmp/tmp92v9in7y/snippet.py", line 49, in <module>
    raise Exception("VALIDATION FAILED: tool-call stream - no tool calls received")
Exception: VALIDATION FAILED: tool-call stream - no tool calls received
Code snippet
from openai import OpenAI

client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")

tools = [
    {
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "Get the current weather for a location.",
            "parameters": {
                "type": "object",
                "properties": {
                    "location": {
                        "type": "string",
                        "description": "The city name, e.g. London",
                    },
                },
                "required": ["location"],
                "additionalProperties": False,
            },
            "strict": True,
        },
    },
]

response = client.chat.completions.create(
    model="test-v2-together-ai/MiniMaxAI-MiniMax-M2.7",
    messages=[
        {"role": "user", "content": "Use the get_weather tool to check the weather in London. You must call the tool, do not respond with plain text."},
    ],
    tools=tools,
    tool_choice="auto",
    stream=True,
)
_tool_calls_made = False
for chunk in response:
    if chunk.choices and len(chunk.choices) > 0:
        delta = chunk.choices[0].delta
        if delta.content is not None:
            print(delta.content, end="", flush=True)
        if delta.tool_calls:
            _tool_calls_made = True
            for _tc in delta.tool_calls:
                if _tc.function:
                    print(_tc.function.arguments or "", end="", flush=True)

if not _tool_calls_made:
    raise Exception("VALIDATION FAILED: tool-call stream - no tool calls received")
print("\nVALIDATION: tool-call stream SUCCESS")

together-ai/MiniMaxAI/MiniMax-M2.7 — reasoning (validation_failure)

Error
Traceback (most recent call last):
  File "/tmp/tmpkbqtsyw0/snippet.py", line 39, in <module>
    raise Exception("VALIDATION FAILED: reasoning - no reasoning information in response")
Exception: VALIDATION FAILED: reasoning - no reasoning information in response
Code snippet
from openai import OpenAI

client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")

response = client.chat.completions.create(
    model="test-v2-together-ai/MiniMaxAI-MiniMax-M2.7",
    messages=[
        {"role": "user", "content": "How to calculate 3^3^3^3? Think step by step and show all reasoning."},
    ],
    reasoning_effort="medium",
    stream=False,
)
_usage = getattr(response, "usage", None)
_reasoning_detected = False

_choices = getattr(response, "choices", None)
if _choices and len(_choices) > 0:
    _message = getattr(_choices[0], "message", None)
else:
    _message = None

if _message and getattr(_message, "content", None) is not None:
    print(_message.content)

if _usage is not None:
    _output_token_details = getattr(_usage, "completion_tokens_details", None)
    if _output_token_details and getattr(_output_token_details, "reasoning_tokens", 0) > 0:
        _reasoning_detected = True
    elif getattr(_usage, "reasoning", None) is not None:
        _reasoning_detected = True

if getattr(_message, "reasoning_content", None) is not None:
    _reasoning_detected = True
elif getattr(_message, "reasoning", None) is not None:
    _reasoning_detected = True

if not _reasoning_detected:
    print("Response: ", response)
    raise Exception("VALIDATION FAILED: reasoning - no reasoning information in response")
print("VALIDATION: reasoning SUCCESS")
Output
Response:  ChatCompletion(id='onUezJu-2byqsH-a09035762f0eb87e', choices=[Choice(finish_reason='length', index=0, logprobs=None, message=ChatCompletionMessage(content='', refusal=None, role='assistant', annotations=None, audio=None, function_call=None, tool_calls=[]))], created=1781008868, model='MiniMaxAI/MiniMax-M2.7', object='chat.completion', service_tier=None, system_fingerprint=None, usage=CompletionUsage(completion_tokens=2048, prompt_tokens=59, total_tokens=2107, completion_tokens_details=None, prompt_tokens_details=None), provider='together-ai')

together-ai/MiniMaxAI/MiniMax-M2.7 — reasoning:stream (validation_failure)

Error
Traceback (most recent call last):
  File "/tmp/tmptuhwk7_m/snippet.py", line 31, in <module>
    raise Exception("VALIDATION FAILED: reasoning stream - no reasoning information in stream")
Exception: VALIDATION FAILED: reasoning stream - no reasoning information in stream
Code snippet
from openai import OpenAI

client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")

response = client.chat.completions.create(
    model="test-v2-together-ai/MiniMaxAI-MiniMax-M2.7",
    messages=[
        {"role": "user", "content": "How to calculate 3^3^3^3? Think step by step and show all reasoning."},
    ],
    reasoning_effort="medium",
    stream=True,
)
_reasoning_detected = False
for chunk in response:
    if chunk.choices and len(chunk.choices) > 0:
        delta = chunk.choices[0].delta
        if delta.content is not None:
            print(delta.content, end="", flush=True)
        if getattr(delta, "reasoning_content", None) is not None:
            _reasoning_detected = True
        if getattr(delta, "reasoning", None) is not None:
            _reasoning_detected = True

    _usage = getattr(chunk, "usage", None)
    if _usage is not None:
        _details = getattr(_usage, "completion_tokens_details", None)
        if _details and getattr(_details, "reasoning_tokens", 0) > 0:
            _reasoning_detected = True

if not _reasoning_detected:
    raise Exception("VALIDATION FAILED: reasoning stream - no reasoning information in stream")
print("\nVALIDATION: reasoning stream SUCCESS")
Output
**Understanding the expression**

Exponentiation is **right‑associative**, i.e.

\[
a^{\;b^{\;c}}=a^{\;\bigl(b^{\;c}\bigr)} .
\]

Because of this convention the tower  

\[
3^{3^{3^{3}}}
\]

must be read as  

\[
3^{\;\bigl(3^{\;(3^{\,3})}\bigr)} .
\]

So we evaluate the power from the *top‑most* exponent down to the base.

---

### Step‑by‑step evaluation

1. **Innermost exponent**

\[
3^{3}=27 .
\]

2. **
Successes (12)

together-ai/deepseek-ai/DeepSeek-V4-Pro — params (success)

Output
The capital of France is **Paris**.

together-ai/deepseek-ai/DeepSeek-V4-Pro — structured-output:stream (success)

Output
{
  "name": "Science Fair",
  "date": "Friday",
  "participants": ["Alice", "Bob"]
}
VALIDATION: structured-output stream SUCCESS

together-ai/deepseek-ai/DeepSeek-V4-Pro — params:stream (success)

Output
The capital of France is **Paris**.

together-ai/deepseek-ai/DeepSeek-V4-Pro — structured-output (success)

Output
{
  "name": "Science Fair",
  "date": "Friday"
  ,
  "participants": ["Alice", "Bob"]
}
VALIDATION: structured-output SUCCESS

together-ai/deepseek-ai/DeepSeek-V4-Pro — json-output (success)

Output
{
  "colors": [
    {
      "name": "Deep Sky Blue",
      "hex": "#00BFFF"
    },
    {
      "name": "Crimson",
      "hex": "#DC143C"
    },
    {

... (truncated, 95 chars omitted)

together-ai/deepseek-ai/DeepSeek-V4-Pro — json-output:stream (success)

Output
{
  "colors": [
    {
      "name": "Deep Sky Blue",
      "hex": "#00BFFF"
    },
    {
      "name": "Crimson",
      "hex": "#DC143C"
    },
    {

... (truncated, 104 chars omitted)

together-ai/deepseek-ai/DeepSeek-V4-Pro — tool-call (success)

Output
Function: get_weather
Arguments: {"location":"London"}
VALIDATION: tool-call SUCCESS

together-ai/MiniMaxAI/MiniMax-M2.7 — json-output:stream (success)

Output
{ "colors": [ { "name": "Red", "hex": "#FF0000" }, { "name": "Green", "hex": "#00FF00" }, { "name": "Blue", "hex": "#0000FF" } ] }
VALIDATION: json-ou
... (truncated, 20 chars omitted)

together-ai/MiniMaxAI/MiniMax-M2.7 — params (success)

Output
The capital of France is Paris.

together-ai/MiniMaxAI/MiniMax-M2.7 — params:stream (success)

Output
Paris.

together-ai/MiniMaxAI/MiniMax-M2.7 — json-output (success)

Output
{"role": "assistant", "content": "json\n[\n  {\"color\": \"Red\", \"hex\": \"#FF0000\"},\n  {\"color\": \"Green\", \"hex\": \"#00FF00\"},\n  {\"color\
... (truncated, 351 chars omitted)

together-ai/MiniMaxAI/MiniMax-M2.7 — tool-call (success)

Output
Function: get_weather
Arguments: {"location":"London"}
VALIDATION: tool-call SUCCESS

@github-actions

Copy link
Copy Markdown
Contributor

/test-models

@harshiv-26

Copy link
Copy Markdown
Collaborator

Gateway test results

  • Total: 18
  • Passed: 12
  • Failed: 0
  • Validation failed: 6
  • Errored: 0
  • Skipped: 0
  • Success rate: 66.67%
Provider Model Scenarios
together-ai MiniMaxAI/MiniMax-M2.7 success: json-output:stream, tool-call, json-output, params:stream, params

validation_failure: tool-call:stream, reasoning:stream, reasoning
together-ai deepseek-ai/DeepSeek-V4-Pro success: params, params:stream, tool-call, structured-output:stream, structured-output, json-output:stream, json-output

validation_failure: tool-call:stream, reasoning:stream, reasoning
Failures (6)

together-ai/deepseek-ai/DeepSeek-V4-Pro — tool-call:stream (validation_failure)

Error
Traceback (most recent call last):
  File "/tmp/tmpqilw8x0v/snippet.py", line 49, in <module>
    raise Exception("VALIDATION FAILED: tool-call stream - no tool calls received")
Exception: VALIDATION FAILED: tool-call stream - no tool calls received
Code snippet
from openai import OpenAI

client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")

tools = [
    {
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "Get the current weather for a location.",
            "parameters": {
                "type": "object",
                "properties": {
                    "location": {
                        "type": "string",
                        "description": "The city name, e.g. London",
                    },
                },
                "required": ["location"],
                "additionalProperties": False,
            },
            "strict": True,
        },
    },
]

response = client.chat.completions.create(
    model="test-v2-together-ai/deepseek-ai-DeepSeek-V4-Pro",
    messages=[
        {"role": "user", "content": "Use the get_weather tool to check the weather in London. You must call the tool, do not respond with plain text."},
    ],
    tools=tools,
    tool_choice="auto",
    stream=True,
)
_tool_calls_made = False
for chunk in response:
    if chunk.choices and len(chunk.choices) > 0:
        delta = chunk.choices[0].delta
        if delta.content is not None:
            print(delta.content, end="", flush=True)
        if delta.tool_calls:
            _tool_calls_made = True
            for _tc in delta.tool_calls:
                if _tc.function:
                    print(_tc.function.arguments or "", end="", flush=True)

if not _tool_calls_made:
    raise Exception("VALIDATION FAILED: tool-call stream - no tool calls received")
print("\nVALIDATION: tool-call stream SUCCESS")
Output
I'll call the get_weather tool for you right away

together-ai/deepseek-ai/DeepSeek-V4-Pro — reasoning:stream (validation_failure)

Error
Traceback (most recent call last):
  File "/tmp/tmp9zju6lzn/snippet.py", line 31, in <module>
    raise Exception("VALIDATION FAILED: reasoning stream - no reasoning information in stream")
Exception: VALIDATION FAILED: reasoning stream - no reasoning information in stream
Code snippet
from openai import OpenAI

client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")

response = client.chat.completions.create(
    model="test-v2-together-ai/deepseek-ai-DeepSeek-V4-Pro",
    messages=[
        {"role": "user", "content": "How to calculate 3^3^3^3? Think step by step and show all reasoning."},
    ],
    reasoning_effort="medium",
    stream=True,
)
_reasoning_detected = False
for chunk in response:
    if chunk.choices and len(chunk.choices) > 0:
        delta = chunk.choices[0].delta
        if delta.content is not None:
            print(delta.content, end="", flush=True)
        if getattr(delta, "reasoning_content", None) is not None:
            _reasoning_detected = True
        if getattr(delta, "reasoning", None) is not None:
            _reasoning_detected = True

    _usage = getattr(chunk, "usage", None)
    if _usage is not None:
        _details = getattr(_usage, "completion_tokens_details", None)
        if _details and getattr(_details, "reasoning_tokens", 0) > 0:
            _reasoning_detected = True

if not _reasoning_detected:
    raise Exception("VALIDATION FAILED: reasoning stream - no reasoning information in stream")
print("\nVALIDATION: reasoning stream SUCCESS")
Output
Let’s work through \(3^{3^{3^{3}}}\) carefully, keeping the order of operations in mind.

---

### Step 1: Understanding exponentiation associativity
Exponentiation is **right-associative**, meaning:
\[
a^{b^{c}} = a^{(b^{c})}, \quad \text{not} \ (a^{b})^{c}
\]
So 
\[
3^{3^{3^{3}}}
\]
means
\[
3^{(3^{(3^{3})})}
\]

---

### Step 2: Start from the top exponent
The top exponent is \(3^3\):
\[
3^3 = 27
\]
So now we have:
\[
3^{3^{27}}
\]

---

### Step 3: Evaluate \(3^{27}\)
This is \(3\) raised to the power of 27:
\[
3^{27} = 7,625,597,484,987
\]
So now the expression is:
\[
3^{7,625,597,484,987}
\]

---

### Step 4: The final number
\(3^{7.6 \times 10^{12}}\) is astronomically large — much larger than the number of atoms in the observable universe.

To give a sense of scale:
- \(3^{27} \approx 7.6 \times 10^{12}\)  
- \(3^{3^{27}}\) has about \(3.6 \times 10^{12}\) *digits*

This is far too large to write out fully.

---

**Final answer:**
\[
3^{3^{3^3}} \approx 3^{7,625,597,484,987}
\]
which is an integer with about \(3.6\) trillion digits.

together-ai/deepseek-ai/DeepSeek-V4-Pro — reasoning (validation_failure)

Error
Traceback (most recent call last):
  File "/tmp/tmp28ykihs3/snippet.py", line 39, in <module>
    raise Exception("VALIDATION FAILED: reasoning - no reasoning information in response")
Exception: VALIDATION FAILED: reasoning - no reasoning information in response
Code snippet
from openai import OpenAI

client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")

response = client.chat.completions.create(
    model="test-v2-together-ai/deepseek-ai-DeepSeek-V4-Pro",
    messages=[
        {"role": "user", "content": "How to calculate 3^3^3^3? Think step by step and show all reasoning."},
    ],
    reasoning_effort="medium",
    stream=False,
)
_usage = getattr(response, "usage", None)
_reasoning_detected = False

_choices = getattr(response, "choices", None)
if _choices and len(_choices) > 0:
    _message = getattr(_choices[0], "message", None)
else:
    _message = None

if _message and getattr(_message, "content", None) is not None:
    print(_message.content)

if _usage is not None:
    _output_token_details = getattr(_usage, "completion_tokens_details", None)
    if _output_token_details and getattr(_output_token_details, "reasoning_tokens", 0) > 0:
        _reasoning_detected = True
    elif getattr(_usage, "reasoning", None) is not None:
        _reasoning_detected = True

if getattr(_message, "reasoning_content", None) is not None:
    _reasoning_detected = True
elif getattr(_message, "reasoning", None) is not None:
    _reasoning_detected = True

if not _reasoning_detected:
    print("Response: ", response)
    raise Exception("VALIDATION FAILED: reasoning - no reasoning information in response")
print("VALIDATION: reasoning SUCCESS")
Output
Alright, let’s tackle this step-by-step.

---

## Step 1 – Understanding the expression

The expression is:

\[
3^{3^{3^3}}
\]

This is a power tower — exponents are evaluated **from top down** (right-associative), not bottom-up.

So:

\[
3^{3^{3^3}} = 3^{\left( 3^{\left( 3^3 \right)} \right)}
\]

---

## Step 2 – Innermost exponent first

First, calculate the topmost exponent:

\[
3^3 = 27
\]

Now the tower becomes:

\[
3^{\left( 3^{27} \right)}
\]

---

## Step 3 – Next level

Now \(3^{27}\):

\[
3^3 = 27
\]
\[
3^9 = 19,683
\]
\[
3^{27} = 7,625,597,484,987
\]

So now we have:

\[
3^{7,625,597,484,987}
\]

---

## Step 4 – Size of this number

This is \( 3 \) raised to the power of about \( 7.6 \) trillion.  
An astronomical number, far beyond the number of atoms in the observable universe.

For perspective:

- \(3^{10} \approx 59,049\)
- \(3^{100} \approx 5.15\times10^{47}\)
- \(3^{1000}\) already has 477 digits.

For \( 3^{7.6 \times 10^{12}} \):

- Number of decimal digits = \(\log_{10}(3) \times 7.6 \times 10^{12} \approx 0.47712125 \times 7.6 \times 10^{12} \approx 3.6 \times 10^{12}\text{ digits}\).

So the final number has about **3.6 trillion digits**.

---

**Final result:**
\[
3^{3^{3^3}} \approx 10^{3.6 \times 10^{12}}
\]
Which is unimaginably large.
Response:  ChatCompletion(id='ona6cc2-2dTqGa-a09614f00baff36e', choices=[Choice(finish_reason='stop', index=0, logprobs=None, message=ChatCompletionMessage(content='Alright, let’s tackle this step-by-step.\n\n---\n\n## Step 1 – Understanding the expression\n\nThe expression is:\n\n\\[\n3^{3^{3^3}}\n\\]\n\nThis is a power tower — exponents are evaluated **from top down** (right-associative), not bottom-up.\n\nSo:\n\n\\[\n3^{3^{3^3}} = 3^{\\left( 3^{\\left( 3^3 \\right)} \\right)}\n\\]\n\n---\n\n## Step 2 – Innermost exponent first\n\nFirst, calculate the topmost exponent:\n\n\\[\n3^3 = 27\n\\]\n\nNow the tower becomes:\n\n\\[\n3^{\\left( 3^{27} \\right)}\n\\]\n\n---\n\n## Step 3 – Next level\n\nNow \\(3^{27}\\):\n\n\\[\n3^3 = 27\n\\]\n\\[\n3^9 = 19,683\n\\]\n\\[\n3^{27} = 7,625,597,484,987\n\\]\n\nSo now we have:\n\n\\[\n3^{7,625,597,484,987}\n\\]\n\n---\n\n## Step 4 – Size of this number\n\nThis is \\( 3 \\) raised to the power of about \\( 7.6 \\) trillion.  \nAn astronomical number, far beyond the number of atoms in the observable universe.\n\nFor perspective:\n\n- \\(3^{10} \\approx 59,049\\)\n- \\(3^{100} \\approx 5.15\\times10^{47}\\)\n- \\(3^{1000}\\) already has 477 digits.\n\nFor \\( 3^{7.6 \\times 10^{12}} \\):\n\n- Number of decimal digits = \\(\\log_{10}(3) \\times 7.6 \\times 10^{12} \\approx 0.47712125 \\times 7.6 \\times 10^{12} \\approx 3.6 \\times 10^{12}\\text{ digits}\\).\n\nSo the final number has about **3.6 trillion digits**.\n\n---\n\n**Final result:**\n\\[\n3^{3^{3^3}} \\approx 10^{3.6 \\times 10^{12}}\n\\]\nWhich is unimaginably large.', refusal=None, role='assistant', annotations=None, audio=None, function_call=None, tool_calls=[]))], created=1781070451, model='deepseek-ai/DeepSeek-V4-Pro', object='chat.completion', service_tier=None, system_fingerprint=None, usage=CompletionUsage(completion_tokens=450, prompt_tokens=25, total_tokens=475, completion_tokens_details=None, prompt_tokens_details=None), provider='together-ai')

together-ai/MiniMaxAI/MiniMax-M2.7 — tool-call:stream (validation_failure)

Error
Traceback (most recent call last):
  File "/tmp/tmp2qpqnsvo/snippet.py", line 49, in <module>
    raise Exception("VALIDATION FAILED: tool-call stream - no tool calls received")
Exception: VALIDATION FAILED: tool-call stream - no tool calls received
Code snippet
from openai import OpenAI

client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")

tools = [
    {
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "Get the current weather for a location.",
            "parameters": {
                "type": "object",
                "properties": {
                    "location": {
                        "type": "string",
                        "description": "The city name, e.g. London",
                    },
                },
                "required": ["location"],
                "additionalProperties": False,
            },
            "strict": True,
        },
    },
]

response = client.chat.completions.create(
    model="test-v2-together-ai/MiniMaxAI-MiniMax-M2.7",
    messages=[
        {"role": "user", "content": "Use the get_weather tool to check the weather in London. You must call the tool, do not respond with plain text."},
    ],
    tools=tools,
    tool_choice="auto",
    stream=True,
)
_tool_calls_made = False
for chunk in response:
    if chunk.choices and len(chunk.choices) > 0:
        delta = chunk.choices[0].delta
        if delta.content is not None:
            print(delta.content, end="", flush=True)
        if delta.tool_calls:
            _tool_calls_made = True
            for _tc in delta.tool_calls:
                if _tc.function:
                    print(_tc.function.arguments or "", end="", flush=True)

if not _tool_calls_made:
    raise Exception("VALIDATION FAILED: tool-call stream - no tool calls received")
print("\nVALIDATION: tool-call stream SUCCESS")
Output
I'll call the get_weather tool to check the weather in London for you.

together-ai/MiniMaxAI/MiniMax-M2.7 — reasoning:stream (validation_failure)

Error
Traceback (most recent call last):
  File "/tmp/tmpxmh06dwp/snippet.py", line 31, in <module>
    raise Exception("VALIDATION FAILED: reasoning stream - no reasoning information in stream")
Exception: VALIDATION FAILED: reasoning stream - no reasoning information in stream
Code snippet
from openai import OpenAI

client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")

response = client.chat.completions.create(
    model="test-v2-together-ai/MiniMaxAI-MiniMax-M2.7",
    messages=[
        {"role": "user", "content": "How to calculate 3^3^3^3? Think step by step and show all reasoning."},
    ],
    reasoning_effort="medium",
    stream=True,
)
_reasoning_detected = False
for chunk in response:
    if chunk.choices and len(chunk.choices) > 0:
        delta = chunk.choices[0].delta
        if delta.content is not None:
            print(delta.content, end="", flush=True)
        if getattr(delta, "reasoning_content", None) is not None:
            _reasoning_detected = True
        if getattr(delta, "reasoning", None) is not None:
            _reasoning_detected = True

    _usage = getattr(chunk, "usage", None)
    if _usage is not None:
        _details = getattr(_usage, "completion_tokens_details", None)
        if _details and getattr(_details, "reasoning_tokens", 0) > 0:
            _reasoning_detected = True

if not _reasoning_detected:
    raise Exception("VALIDATION FAILED: reasoning stream - no reasoning information in stream")
print("\nVALIDATION: reasoning stream SUCCESS")

together-ai/MiniMaxAI/MiniMax-M2.7 — reasoning (validation_failure)

Error
Traceback (most recent call last):
  File "/tmp/tmpu8cbclt5/snippet.py", line 39, in <module>
    raise Exception("VALIDATION FAILED: reasoning - no reasoning information in response")
Exception: VALIDATION FAILED: reasoning - no reasoning information in response
Code snippet
from openai import OpenAI

client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")

response = client.chat.completions.create(
    model="test-v2-together-ai/MiniMaxAI-MiniMax-M2.7",
    messages=[
        {"role": "user", "content": "How to calculate 3^3^3^3? Think step by step and show all reasoning."},
    ],
    reasoning_effort="medium",
    stream=False,
)
_usage = getattr(response, "usage", None)
_reasoning_detected = False

_choices = getattr(response, "choices", None)
if _choices and len(_choices) > 0:
    _message = getattr(_choices[0], "message", None)
else:
    _message = None

if _message and getattr(_message, "content", None) is not None:
    print(_message.content)

if _usage is not None:
    _output_token_details = getattr(_usage, "completion_tokens_details", None)
    if _output_token_details and getattr(_output_token_details, "reasoning_tokens", 0) > 0:
        _reasoning_detected = True
    elif getattr(_usage, "reasoning", None) is not None:
        _reasoning_detected = True

if getattr(_message, "reasoning_content", None) is not None:
    _reasoning_detected = True
elif getattr(_message, "reasoning", None) is not None:
    _reasoning_detected = True

if not _reasoning_detected:
    print("Response: ", response)
    raise Exception("VALIDATION FAILED: reasoning - no reasoning information in response")
print("VALIDATION: reasoning SUCCESS")
Output
Response:  ChatCompletion(id='ona6gXC-2byqsH-a09615426bc9f5ca', choices=[Choice(finish_reason='length', index=0, logprobs=None, message=ChatCompletionMessage(content='', refusal=None, role='assistant', annotations=None, audio=None, function_call=None, tool_calls=[]))], created=1781070464, model='MiniMaxAI/MiniMax-M2.7', object='chat.completion', service_tier=None, system_fingerprint=None, usage=CompletionUsage(completion_tokens=2048, prompt_tokens=59, total_tokens=2107, completion_tokens_details=None, prompt_tokens_details=None), provider='together-ai')
Successes (12)

together-ai/deepseek-ai/DeepSeek-V4-Pro — params (success)

Output
The capital of France is **Paris**.

together-ai/deepseek-ai/DeepSeek-V4-Pro — params:stream (success)

Output
The capital of France is Paris.

together-ai/deepseek-ai/DeepSeek-V4-Pro — tool-call (success)

Output
Function: get_weather
Arguments: {"location":"London"}
VALIDATION: tool-call SUCCESS

together-ai/deepseek-ai/DeepSeek-V4-Pro — structured-output:stream (success)

Output
{"name": "Science Fair", "date": "Friday", "participants": ["Alice", "Bob"]}
VALIDATION: structured-output stream SUCCESS

together-ai/deepseek-ai/DeepSeek-V4-Pro — structured-output (success)

Output
{
  "name": "Science Fair",
  "date": "Friday",
  "participants": ["Alice", "Bob"]
}
VALIDATION: structured-output SUCCESS

together-ai/deepseek-ai/DeepSeek-V4-Pro — json-output:stream (success)

Output
{
  "colors": [
    {
      "name": "Deep Sky Blue",
      "hex": "#00BFFF"
    },
    {
      "name": "Crimson",
      "hex": "#DC143C"
    },
    {

... (truncated, 102 chars omitted)

together-ai/deepseek-ai/DeepSeek-V4-Pro — json-output (success)

Output
{
  "colors": [
    {
      "name": "Coral",
      "hex": "#FF7F50"
    },
    {
      "name": "Turquoise",
      "hex": "#40E0D0"
    },
    {
      
... (truncated, 89 chars omitted)

together-ai/MiniMaxAI/MiniMax-M2.7 — json-output:stream (success)

Output
{
  "colors": [
    {
      "name": "red",
      "hex": "#FF0000"
    },
    {
      "name": "green",
      "hex": "#00FF00"
    },
    {
      "name"
... (truncated, 84 chars omitted)

together-ai/MiniMaxAI/MiniMax-M2.7 — tool-call (success)

Output
Function: get_weather
Arguments: {"location":"London"}
VALIDATION: tool-call SUCCESS

together-ai/MiniMaxAI/MiniMax-M2.7 — json-output (success)

Output
{
  "colors": [
    {
      "name": "Red",
      "hex": "#FF0000"
    },
    {
      "name": "Green",
      "hex": "#00FF00"
    },
    {
      "name"
... (truncated, 77 chars omitted)

together-ai/MiniMaxAI/MiniMax-M2.7 — params:stream (success)

Output
The capital of France is Paris.

together-ai/MiniMaxAI/MiniMax-M2.7 — params (success)

Output
The capital of France is **Paris**. It is located on the Seine River and is the country’s political, cultural, and economic hub.

@github-actions

Copy link
Copy Markdown
Contributor

/test-models

@harshiv-26 harshiv-26 merged commit 122b8b3 into main Jun 10, 2026
8 checks passed
@harshiv-26 harshiv-26 deleted the bot/update-together-ai-20260609-105520 branch June 10, 2026 06:22

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 9af9e6b. Configure here.

region: "*"
features:
- function_calling
- structured_output

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed structured output capability flag

Medium Severity

This change drops structured_output from features for MiniMaxAI/MiniMax-M2.7 while keeping json_output. In this registry, those flags are distinct: structured_output signals JSON-schema-constrained responses. Together’s serverless model documentation still lists structured outputs for this model, and other Together MiniMax entries that support schema output declare both flags.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 9af9e6b. Configure here.

@harshiv-26

Copy link
Copy Markdown
Collaborator

Gateway test results

  • Total: 18
  • Passed: 12
  • Failed: 0
  • Validation failed: 6
  • Errored: 0
  • Skipped: 0
  • Success rate: 66.67%
Provider Model Scenarios
together-ai MiniMaxAI/MiniMax-M2.7 success: json-output, tool-call, params:stream, json-output:stream, params

validation_failure: tool-call:stream, reasoning, reasoning:stream
together-ai deepseek-ai/DeepSeek-V4-Pro success: params:stream, params, structured-output:stream, json-output:stream, json-output, structured-output, tool-call

validation_failure: tool-call:stream, reasoning, reasoning:stream
Failures (6)

together-ai/deepseek-ai/DeepSeek-V4-Pro — tool-call:stream (validation_failure)

Error
Traceback (most recent call last):
  File "/tmp/tmp5_6cb90s/snippet.py", line 49, in <module>
    raise Exception("VALIDATION FAILED: tool-call stream - no tool calls received")
Exception: VALIDATION FAILED: tool-call stream - no tool calls received
Code snippet
from openai import OpenAI

client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")

tools = [
    {
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "Get the current weather for a location.",
            "parameters": {
                "type": "object",
                "properties": {
                    "location": {
                        "type": "string",
                        "description": "The city name, e.g. London",
                    },
                },
                "required": ["location"],
                "additionalProperties": False,
            },
            "strict": True,
        },
    },
]

response = client.chat.completions.create(
    model="test-v2-together-ai/deepseek-ai-DeepSeek-V4-Pro",
    messages=[
        {"role": "user", "content": "Use the get_weather tool to check the weather in London. You must call the tool, do not respond with plain text."},
    ],
    tools=tools,
    tool_choice="auto",
    stream=True,
)
_tool_calls_made = False
for chunk in response:
    if chunk.choices and len(chunk.choices) > 0:
        delta = chunk.choices[0].delta
        if delta.content is not None:
            print(delta.content, end="", flush=True)
        if delta.tool_calls:
            _tool_calls_made = True
            for _tc in delta.tool_calls:
                if _tc.function:
                    print(_tc.function.arguments or "", end="", flush=True)

if not _tool_calls_made:
    raise Exception("VALIDATION FAILED: tool-call stream - no tool calls received")
print("\nVALIDATION: tool-call stream SUCCESS")

together-ai/deepseek-ai/DeepSeek-V4-Pro — reasoning (validation_failure)

Error
Traceback (most recent call last):
  File "/tmp/tmp77bg_12v/snippet.py", line 39, in <module>
    raise Exception("VALIDATION FAILED: reasoning - no reasoning information in response")
Exception: VALIDATION FAILED: reasoning - no reasoning information in response
Code snippet
from openai import OpenAI

client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")

response = client.chat.completions.create(
    model="test-v2-together-ai/deepseek-ai-DeepSeek-V4-Pro",
    messages=[
        {"role": "user", "content": "How to calculate 3^3^3^3? Think step by step and show all reasoning."},
    ],
    reasoning_effort="medium",
    stream=False,
)
_usage = getattr(response, "usage", None)
_reasoning_detected = False

_choices = getattr(response, "choices", None)
if _choices and len(_choices) > 0:
    _message = getattr(_choices[0], "message", None)
else:
    _message = None

if _message and getattr(_message, "content", None) is not None:
    print(_message.content)

if _usage is not None:
    _output_token_details = getattr(_usage, "completion_tokens_details", None)
    if _output_token_details and getattr(_output_token_details, "reasoning_tokens", 0) > 0:
        _reasoning_detected = True
    elif getattr(_usage, "reasoning", None) is not None:
        _reasoning_detected = True

if getattr(_message, "reasoning_content", None) is not None:
    _reasoning_detected = True
elif getattr(_message, "reasoning", None) is not None:
    _reasoning_detected = True

if not _reasoning_detected:
    print("Response: ", response)
    raise Exception("VALIDATION FAILED: reasoning - no reasoning information in response")
print("VALIDATION: reasoning SUCCESS")
Output
Alright — let’s break this down step by step.

---

**Step 1 – Understanding the notation**  
When we have something like \( 3^{3^{3^3}} \), the standard convention in mathematics is to evaluate exponents **from right to left** (top to bottom), because exponentiation is right-associative.  
So:

\[
3^{3^{3^3}} = 3^{\left(3^{(3^3)}\right)}
\]

---

**Step 2 – Start from the topmost exponent**  
We first calculate \( 3^3 \):

\[
3^3 = 27
\]

Now we have:

\[
3^{(3^{27})}
\]

---

**Step 3 – Next exponent**  
We now calculate \( 3^{27} \):

- \( 3^3 = 27 \)  
- \( 3^6 = (3^3)^2 = 27^2 = 729 \)  
- \( 3^9 = 3^3 \times 3^6 = 27 \times 729 = 19683 \)  
- \( 3^{18} = (3^9)^2 \approx 19683^2 \)  

Let’s do it step by step:

\( 19683^2 \):  
\( 20000^2 = 400,000,000 \) but we need the exact product:  
\( 19683 \times 19683 \)  
\( = (20000 - 317)^2 \)  
\( = 20000^2 - 2 \cdot 20000 \cdot 317 + 317^2 \)  
\( = 400,000,000 - 12,680,000 + 100,489 \)  
\( = 387,420,489 \)

So \( 3^{18} = 387,420,489 \).

Now \( 3^{27} = 3^{18} \times 3^9 \)  
\( = 387,420,489 \times 19,683 \)  

We can compute that:  
- \( 387,420,489 \times 20000 = 7,748,409,780,000 \)  
- Subtract \( 387,420,489 \times 317 = 122,812,295,013 \)  

This gives:

\[
7,748,409,780,000 - 122,812,295,013 = 7,625,597,484,987
\]

So:

\[
3^{27} = 7,625,597,484,987
\]

---

**Step 4 – The final number**  
Now we have:

\[
3^{7,625,597,484,987}
\]

This is astronomically huge — far beyond the number of atoms in the observable universe. It’s a number with *about* \( \log_{10}(3) \times 7.6 \times 10^{12} \) decimal digits.

We can calculate:

\[
\log_{10}(3) \approx 0.4771
\]

So number of digits:

\[
0.4771 \times 7,625,597,484,987 \approx 3.64 \times 10^{12}
\]

About **3.6 trillion digits**.

---

**Step 5 – Summary**

\[
3^{3^{3^3}} = 3^{7,625,597,484,987}
\]

This is a number with roughly \( 3.64 \times 10^{12} \) decimal digits — one of the largest numbers one can reasonably write in this exponential form.

---

\[
\boxed{3^{7,625,597,484,987}}
\]
Response:  ChatCompletion(id='onaHbVX-gBAtS-a096493e29da16de', choices=[Choice(finish_reason='stop', index=0, logprobs=None, message=ChatCompletionMessage(content='Alright — let’s break this down step by step.\n\n---\n\n**Step 1 – Understanding the notation**  \nWhen we have something like \\( 3^{3^{3^3}} \\), the standard convention in mathematics is to evaluate exponents **from right to left** (top to bottom), because exponentiation is right-associative.  \nSo:\n\n\\[\n3^{3^{3^3}} = 3^{\\left(3^{(3^3)}\\right)}\n\\]\n\n---\n\n**Step 2 – Start from the topmost exponent**  \nWe first calculate \\( 3^3 \\):\n\n\\[\n3^3 = 27\n\\]\n\nNow we have:\n\n\\[\n3^{(3^{27})}\n\\]\n\n---\n\n**Step 3 – Next exponent**  \nWe now calculate \\( 3^{27} \\):\n\n- \\( 3^3 = 27 \\)  \n- \\( 3^6 = (3^3)^2 = 27^2 = 729 \\)  \n- \\( 3^9 = 3^3 \\times 3^6 = 27 \\times 729 = 19683 \\)  \n- \\( 3^{18} = (3^9)^2 \\approx 19683^2 \\)  \n\nLet’s do it step by step:\n\n\\( 19683^2 \\):  \n\\( 20000^2 = 400,000,000 \\) but we need the exact product:  \n\\( 19683 \\times 19683 \\)  \n\\( = (20000 - 317)^2 \\)  \n\\( = 20000^2 - 2 \\cdot 20000 \\cdot 317 + 317^2 \\)  \n\\( = 400,000,000 - 12,680,000 + 100,489 \\)  \n\\( = 387,420,489 \\)\n\nSo \\( 3^{18} = 387,420,489 \\).\n\nNow \\( 3^{27} = 3^{18} \\times 3^9 \\)  \n\\( = 387,420,489 \\times 19,683 \\)  \n\nWe can compute that:  \n- \\( 387,420,489 \\times 20000 = 7,748,409,780,000 \\)  \n- Subtract \\( 387,420,489 \\times 317 = 122,812,295,013 \\)  \n\nThis gives:\n\n\\[\n7,748,409,780,000 - 122,812,295,013 = 7,625,597,484,987\n\\]\n\nSo:\n\n\\[\n3^{27} = 7,625,597,484,987\n\\]\n\n---\n\n**Step 4 – The final number**  \nNow we have:\n\n\\[\n3^{7,625,597,484,987}\n\\]\n\nThis is astronomically huge — far beyond the number of atoms in the observable universe. It’s a number with *about* \\( \\log_{10}(3) \\times 7.6 \\times 10^{12} \\) decimal digits.\n\nWe can calculate:\n\n\\[\n\\log_{10}(3) \\approx 0.4771\n\\]\n\nSo number of digits:\n\n\\[\n0.4771 \\times 7,625,597,484,987 \\approx 3.64 \\times 10^{12}\n\\]\n\nAbout **3.6 trillion digits**.\n\n---\n\n**Step 5 – Summary**\n\n\\[\n3^{3^{3^3}} = 3^{7,625,597,484,987}\n\\]\n\nThis is a number with roughly \\( 3.64 \\times 10^{12} \\) decimal digits — one of the largest numbers one can reasonably write in this exponential form.\n\n---\n\n\\[\n\\boxed{3^{7,625,597,484,987}}\n\\]', refusal=None, role='assistant', annotations=None, audio=None, function_call=None, tool_calls=[]))], created=1781072593, model='deepseek-ai/DeepSeek-V4-Pro', object='chat.completion', service_tier=None, system_fingerprint=None, usage=CompletionUsage(completion_tokens=777, prompt_tokens=25, total_tokens=802, completion_tokens_details=None, prompt_tokens_details=None), provider='together-ai')

together-ai/deepseek-ai/DeepSeek-V4-Pro — reasoning:stream (validation_failure)

Error
Traceback (most recent call last):
  File "/tmp/tmp9xhv8_x8/snippet.py", line 31, in <module>
    raise Exception("VALIDATION FAILED: reasoning stream - no reasoning information in stream")
Exception: VALIDATION FAILED: reasoning stream - no reasoning information in stream
Code snippet
from openai import OpenAI

client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")

response = client.chat.completions.create(
    model="test-v2-together-ai/deepseek-ai-DeepSeek-V4-Pro",
    messages=[
        {"role": "user", "content": "How to calculate 3^3^3^3? Think step by step and show all reasoning."},
    ],
    reasoning_effort="medium",
    stream=True,
)
_reasoning_detected = False
for chunk in response:
    if chunk.choices and len(chunk.choices) > 0:
        delta = chunk.choices[0].delta
        if delta.content is not None:
            print(delta.content, end="", flush=True)
        if getattr(delta, "reasoning_content", None) is not None:
            _reasoning_detected = True
        if getattr(delta, "reasoning", None) is not None:
            _reasoning_detected = True

    _usage = getattr(chunk, "usage", None)
    if _usage is not None:
        _details = getattr(_usage, "completion_tokens_details", None)
        if _details and getattr(_details, "reasoning_tokens", 0) > 0:
            _reasoning_detected = True

if not _reasoning_detected:
    raise Exception("VALIDATION FAILED: reasoning stream - no reasoning information in stream")
print("\nVALIDATION: reasoning stream SUCCESS")
Output
Alright — let’s go step-by-step.  

---

### **Step 1 – Understanding the notation**

The expression is:

\[
3^{3^{3^3}}
\]

Because exponentiation is **right-associative**, we evaluate from the top down:

\[
3^{3^{3^3}} = 3^{\left(3^{\left(3^3\right)}\right)}
\]

So the exponent tower is:

\[
3^{(3^{(3^3)})}
\]

---

### **Step 2 – Evaluate the innermost exponent**

We start from the top exponent:

\[
3^3 = 27
\]

Thus:

\[
3^{3^3} = 3^{27}
\]

---

### **Step 3 – Compute \( 3^{27} \)**

Let’s find \( 3^{27} \):

- \( 3^3 = 27 \)  
- \( 3^9 = 27^3 = 19683 \)  
- \( 3^{27} = 19683^3 \)

We can calculate:

- \( 19683^2 = 19683 \times 19683 \)  
First: \( 19683 \times 20000 = 393,660,000 \) → adjust  
Better: square it:

\[
19683^2 = (20000 - 317)^2 = 400,000,000 - 2 \cdot 20000 \cdot 317 + 317^2
\]
\[
= 400,000,000 - 12,680,000 + 100,489
\]
\[
= 387,420,489
\]

This matches the known result: \( 19683^2 = 387,420,489 \).

Now multiply by 19683 again:

\[
387,420,489 \times 19683
\]

Break it: multiply \( 387,420,489 \times (20000 - 317) \):

- \( 387,420,489 \times 20000 = 7,748,409,780,000 \)  
- \( 387,420,489 \times 317 = 387,420,489 \times (300 + 17) \)  
  \( = 116,226,146,700 + 6,586,148,313 = 122,812,295,013 \)

Subtract:

\[
7,748,409,780,000 - 122,812,295,013 = 7,625,597,484,987
\]

So:

\[
3^{27} = 7,625,597,484,987
\]

---

### **Step 4 – What about the full tower?**

Now, we have:

\[
3^{3^{3^3}} = 3^{7,625,597,484,987}
\]

This is a number with about  
\( 7.6 \times 10^{12} \times \log_{10}(3) \) digits,  
\(\log_{10}(3) \approx 0.4771\), so digits ≈ \( 3.64 \times 10^{12} \) —  
way too big to write in full.

---

**Final answer:**  
\[
\boxed{3^{7,625,597,484,987}}
\]
represents the exact value, but it is astronomically large.

together-ai/MiniMaxAI/MiniMax-M2.7 — tool-call:stream (validation_failure)

Error
Traceback (most recent call last):
  File "/tmp/tmpun_rg9eh/snippet.py", line 49, in <module>
    raise Exception("VALIDATION FAILED: tool-call stream - no tool calls received")
Exception: VALIDATION FAILED: tool-call stream - no tool calls received
Code snippet
from openai import OpenAI

client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")

tools = [
    {
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "Get the current weather for a location.",
            "parameters": {
                "type": "object",
                "properties": {
                    "location": {
                        "type": "string",
                        "description": "The city name, e.g. London",
                    },
                },
                "required": ["location"],
                "additionalProperties": False,
            },
            "strict": True,
        },
    },
]

response = client.chat.completions.create(
    model="test-v2-together-ai/MiniMaxAI-MiniMax-M2.7",
    messages=[
        {"role": "user", "content": "Use the get_weather tool to check the weather in London. You must call the tool, do not respond with plain text."},
    ],
    tools=tools,
    tool_choice="auto",
    stream=True,
)
_tool_calls_made = False
for chunk in response:
    if chunk.choices and len(chunk.choices) > 0:
        delta = chunk.choices[0].delta
        if delta.content is not None:
            print(delta.content, end="", flush=True)
        if delta.tool_calls:
            _tool_calls_made = True
            for _tc in delta.tool_calls:
                if _tc.function:
                    print(_tc.function.arguments or "", end="", flush=True)

if not _tool_calls_made:
    raise Exception("VALIDATION FAILED: tool-call stream - no tool calls received")
print("\nVALIDATION: tool-call stream SUCCESS")

together-ai/MiniMaxAI/MiniMax-M2.7 — reasoning (validation_failure)

Error
Traceback (most recent call last):
  File "/tmp/tmpnh6jp6r_/snippet.py", line 39, in <module>
    raise Exception("VALIDATION FAILED: reasoning - no reasoning information in response")
Exception: VALIDATION FAILED: reasoning - no reasoning information in response
Code snippet
from openai import OpenAI

client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")

response = client.chat.completions.create(
    model="test-v2-together-ai/MiniMaxAI-MiniMax-M2.7",
    messages=[
        {"role": "user", "content": "How to calculate 3^3^3^3? Think step by step and show all reasoning."},
    ],
    reasoning_effort="medium",
    stream=False,
)
_usage = getattr(response, "usage", None)
_reasoning_detected = False

_choices = getattr(response, "choices", None)
if _choices and len(_choices) > 0:
    _message = getattr(_choices[0], "message", None)
else:
    _message = None

if _message and getattr(_message, "content", None) is not None:
    print(_message.content)

if _usage is not None:
    _output_token_details = getattr(_usage, "completion_tokens_details", None)
    if _output_token_details and getattr(_output_token_details, "reasoning_tokens", 0) > 0:
        _reasoning_detected = True
    elif getattr(_usage, "reasoning", None) is not None:
        _reasoning_detected = True

if getattr(_message, "reasoning_content", None) is not None:
    _reasoning_detected = True
elif getattr(_message, "reasoning", None) is not None:
    _reasoning_detected = True

if not _reasoning_detected:
    print("Response: ", response)
    raise Exception("VALIDATION FAILED: reasoning - no reasoning information in response")
print("VALIDATION: reasoning SUCCESS")
Output
Response:  ChatCompletion(id='onaHr43-2byqsH-a0964a70be9f38fb', choices=[Choice(finish_reason='length', index=0, logprobs=None, message=ChatCompletionMessage(content='', refusal=None, role='assistant', annotations=None, audio=None, function_call=None, tool_calls=[]))], created=1781072642, model='MiniMaxAI/MiniMax-M2.7', object='chat.completion', service_tier=None, system_fingerprint=None, usage=CompletionUsage(completion_tokens=2048, prompt_tokens=59, total_tokens=2107, completion_tokens_details=None, prompt_tokens_details=None), provider='together-ai')

together-ai/MiniMaxAI/MiniMax-M2.7 — reasoning:stream (validation_failure)

Error
Traceback (most recent call last):
  File "/tmp/tmpm7ij97w7/snippet.py", line 31, in <module>
    raise Exception("VALIDATION FAILED: reasoning stream - no reasoning information in stream")
Exception: VALIDATION FAILED: reasoning stream - no reasoning information in stream
Code snippet
from openai import OpenAI

client = OpenAI(api_key="***", base_url="https://internal.devtest.truefoundry.tech/api/llm")

response = client.chat.completions.create(
    model="test-v2-together-ai/MiniMaxAI-MiniMax-M2.7",
    messages=[
        {"role": "user", "content": "How to calculate 3^3^3^3? Think step by step and show all reasoning."},
    ],
    reasoning_effort="medium",
    stream=True,
)
_reasoning_detected = False
for chunk in response:
    if chunk.choices and len(chunk.choices) > 0:
        delta = chunk.choices[0].delta
        if delta.content is not None:
            print(delta.content, end="", flush=True)
        if getattr(delta, "reasoning_content", None) is not None:
            _reasoning_detected = True
        if getattr(delta, "reasoning", None) is not None:
            _reasoning_detected = True

    _usage = getattr(chunk, "usage", None)
    if _usage is not None:
        _details = getattr(_usage, "completion_tokens_details", None)
        if _details and getattr(_details, "reasoning_tokens", 0) > 0:
            _reasoning_detected = True

if not _reasoning_detected:
    raise Exception("VALIDATION FAILED: reasoning stream - no reasoning information in stream")
print("\nVALIDATION: reasoning stream SUCCESS")
Output
**Understanding the problem**

The expression  

\[
3^{3^{3^{3}}}
\]

uses only exponentiation.  
In ordinary mathematical notation exponentiation is **right‑associative**, i.e.

\[
a^{b^{c}} = a^{\,\bigl(b^{c}\bigr)} .
\]

So

\[
3^{3^{3^{3}}}=3^{\bigl(3^{\bigl(3^{3}\bigr)}\bigr)} .
\]

The whole “tower’’ has height 4 (this construction is called a *power tower* or *tetration*).

---

## Step‑by‑step evaluation  

We evaluate the tower from the **top** downwards.

### 1️⃣  Compute the innermost exponent  

\[
3^{3}=3\times3\times3=27 .
\]

Thus the tower becomes  

\[
3^{3^{3^{3}}}=3^{3^{\,\bigl(3^{3}\bigr)}} = 3^{3^{27}} .
\]

---

### 2️⃣  Compute the next exponent  

Now we need \(3^{27}\).  
Using repeated squaring (or a calculator) gives the exact integer

\[
3^{27}=7\,625\,597\,484\,987 .
\]

So the expression is now

\[
3^{3^{3^{3}}}=3^{\,\bigl(3^{27}\bigr)} = 3^{\,7\,625\,597\,484\,987}.
\]

---

### 3️⃣  The final exponent  

We would have to evaluate  

\[
3^{\,7\,625\,597\,484\,987},
\]

which is astronomically large.  

- **Number of decimal digits**  

  The number of digits of a power \(a^{b}\) equals  

  \[
  \bigl\lfloor b\log_{10}a\bigr\rfloor+1 .
  \]

  Here \(a=3\) and \(b=7\,625\,597\,484\,987\).  
  Using \(\log_{10}3\approx0.47712125472\),

  \[
  \begin{aligned}
  \text{digits}
  &\approx\bigl\lfloor 7\,625\,597\,484\,987\times0.47712125472\bigr\rfloor+1\\[2mm]
  &\approx\bigl\lfloor 3\,637\,717\,220\,213.6\bigr\rfloor+1\\[2mm]
  &\approx 3\,637\,717\,220\,214\ \text{ decimal digits}.
  \end{aligned}
  \]

  So the final result would occupy **more than 3.6 trillion digits**—far beyond any practical storage.

- **Exact form**  

  Because we cannot write out the entire decimal expansion, the answer is normally left in exponent form:

  \[
  \boxed{\,3^{\,7\,625\,597\,484\,987}\,}.
  \]

---

## Why we stop at that step  

Computer algebra systems (e.g
Successes (12)

together-ai/deepseek-ai/DeepSeek-V4-Pro — params:stream (success)

Output
The capital of France is Paris.

together-ai/deepseek-ai/DeepSeek-V4-Pro — params (success)

Output
The capital of France is **Paris**.

together-ai/deepseek-ai/DeepSeek-V4-Pro — structured-output:stream (success)

Output
{
  "name": "Science Fair",
  "date": "Friday"
  ,"participants": ["Alice", "Bob"]
}
VALIDATION: structured-output stream SUCCESS

together-ai/deepseek-ai/DeepSeek-V4-Pro — json-output:stream (success)

Output
{
  "colors": [
    {
      "name": "Cornflower Blue",
      "hex": "#6495ED"
    },
    {
      "name": "Crimson",
      "hex": "#DC143C"
    },
    
... (truncated, 110 chars omitted)

together-ai/deepseek-ai/DeepSeek-V4-Pro — json-output (success)

Output
{
  "colors": [
    {
      "name": "Ocean Blue",
      "hex": "#005A9C"
    },
    {
      "name": "Coral Pink",
      "hex": "#FF7F50"
    },
    {

... (truncated, 97 chars omitted)

together-ai/deepseek-ai/DeepSeek-V4-Pro — structured-output (success)

Output
{
  "name": "science fair",
  "date": "Friday",
  "participants": ["Alice", "Bob"]
}
VALIDATION: structured-output SUCCESS

together-ai/deepseek-ai/DeepSeek-V4-Pro — tool-call (success)

Output
Function: get_weather
Arguments: {"location":"London"}
VALIDATION: tool-call SUCCESS

together-ai/MiniMaxAI/MiniMax-M2.7 — json-output (success)

Output
{
  "colors": [
    {
      "name": "Red",
      "hex": "#FF0000"
    },
    {
      "name": "Green",
      "hex": "#00FF00"
    },
    {
      "name"
... (truncated, 77 chars omitted)

together-ai/MiniMaxAI/MiniMax-M2.7 — tool-call (success)

Output
Function: get_weather
Arguments: {"location":"London"}
VALIDATION: tool-call SUCCESS

together-ai/MiniMaxAI/MiniMax-M2.7 — params:stream (success)

Output
The capital of France is **Paris**.

together-ai/MiniMaxAI/MiniMax-M2.7 — json-output:stream (success)

Output
{
  "colors": [
    {
      "name": "Red",
      "hex": "#FF0000"
    },
    {
      "name": "Green",
      "hex": "#00FF00"
    },
    {
      "name"
... (truncated, 84 chars omitted)

together-ai/MiniMaxAI/MiniMax-M2.7 — params (success)

Output
The capital of France is **Paris**.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant