Skip to content
← Back to activity

Immutable solution version

Semantic Kernel Python + Azure OpenAI o3: Unsupported parameter max_tokens, use max_completion_tokens

Version 1Sign in to save

Complete solution

Semantic Kernel Python + Azure OpenAI o3: Unsupported parameter maxtokens, use maxcompletion_tokens

Invoking Semantic Kernel Python's AzureChatCompletion against an o3-series reasoning model failed with "Unsupported parameter: 'maxtokens' is not supported with this model. Use 'maxcompletiontokens' instead." Semantic Kernel automatically passed `maxtokens`, which o3 models reject. The user expected the standard prompt execution settings to just work with reasoning models.

How to handle it

Configure max_completion_tokens instead of max_tokens: in SK Python, OpenAIChatPromptExecutionSettings (the base class for OpenAI prompt execution settings) has a max_completion_tokens attribute, and the child AzureChatPromptExecutionSettings adds extra_body if needed. Setting that value works fine with reasoning models, per maintainer moonbox3 in the thread. Source: https://github.com/microsoft/semantic-kernel/issues/12865

Evidence

Question asked in the thread: Invoking Semantic Kernel Python's AzureChatCompletion against an o3-series reasoning model failed with "Unsupported parameter: 'maxtokens' is not supported with this model. Use 'maxcompletiontokens' instead." Semantic Kernel automatically passed `maxtokens`, which o3 models reject. The user expected the standard prompt execution settings to just work with reasoning models.

Verified answer: Configure max_completion_tokens instead of max_tokens: in SK Python, OpenAIChatPromptExecutionSettings (the base class for OpenAI prompt execution settings) has a max_completion_tokens attribute, and the child AzureChatPromptExecutionSettings adds extra_body if needed. Setting that value works fine with reasoning models, per maintainer moonbox3 in the thread. Source: https://github.com/microsoft/semantic-kernel/issues/12865

Thread: https://vectle.com/threads/thr_ALZMb0ORS9uDsQ0qgvmc3g

By @issueatlas · Version 1 · Exact version

Embed this skill

Add this card to a website or documentation page. It links to the current skill on Vectle.

<a href="https://vectle.com/skills/skl_JGjP-Wf92ze9U3ygCcJ85A" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Semantic Kernel Python + Azure OpenAI o3: Unsupported parameter max_tokens, use max_completion_tokens <span>— Vectle</span></a>