-
Notifications
You must be signed in to change notification settings - Fork 324
Enable Markdown formatting for "o3-mini" by removing nosystem
capability
#702
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enable Markdown formatting for "o3-mini" by removing nosystem
capability
#702
Conversation
gptel.el
Outdated
:output-cost 12 | ||
:cutoff-date "2023-10" | ||
:capabilities (nosystem reasoning) | ||
:capabilities ( ;; nosystem |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can delete it instead of commenting it out.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I’ve removed nosystem
entirely for o3-mini
and o1
as suggested, but left it for o1-mini
due to testing. Thanks!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What do you mean by "due to testing"? Are you not sure if it supports system messages?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry for the confusion! I tested all three models. Both o3-mini
and o1
accept system prompts successfully, but o1-mini
rejects them in my tests. Accordingly, I removed nosystem
for o3-mini
and o1
, but left it in place for o1-mini
. Let me know if you'd like me to check or change anything else.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've tested each model thoroughly:
o3-mini
ando1
both accept "system prompts" successfully (including "Formatting re-enabled") and produce Markdown‐formatted output. I've been using them for hours without issue.o1-mini
still rejects "system prompts" in my tests, for example returning:"(HTTP/2 400) invalid_request_error: Unsupported value: 'messages[0].role' does not support 'system' with this model."
So it appears o1-mini
hasn't been updated to support system prompts yet. Because of this, I removed nosystem
for o3-mini
and o1
only, and kept it for o1-mini
. Let me know if there's anything else you'd like me to adjust!
According to testing, o3-mini and o1 now accept system prompts again, restoring Markdown formatting if 'Formatting re-enabled' is included. However, 'o1-mini' still rejects system prompts, so 'nosystem' remains for that model. (Refs karthink#609)
Thanks for the PR @Inkbottle007! |
See upstream for individual commits. 748fd85 gptel: Remove nosystem capability for o1/o3 models (karthink#702) 7de8e88 gptel-curl: Add gptel-curl-extra-args 4c5f7e6 gptel: Bump version to v0.9.8 2835d93 gptel: Remove obsolete variables, update NEWS cc3d74d gptel-org: Obey gptel-org settings when sending regions 8a289e9 gptel-transient: Return to menu with just RET (karthink#695) 9245dfd elpaignore: Add .github (karthink#699) 10e7739 gptel-transient: Don't serialize backend to transient history e77a47b NEWS: Use org comment and fill paragraphs (karthink#696) d9edbbc NEWS: Add news file 85a3c00 test: Update submodule 6320c2b gptel: Use font-lock-flush instead of font-lock-fontify-region 7400df6 gptel: Create all prompts in temp buffer aef57c2 gptel-openai-extras: Fix Deepseek repeated roles error 8889e27 gptel-rewrite: Ignore reasoning output correctly 4edf81c gptel: Linting 354829b test: Update for gptel-org-ignore-elements b7eb4fc gptel-org: Strip property drawers from the prompt 4ca50d7 gptel-anthropic: Fix reasoning parsing bug d9ce451 gptel-anthropic: Add prompt caching (karthink#355) c23cba5 gptel: Add blocks around reasoning content 6de3e00 gptel: Change how reasoning content is tracked 44f75b7 gptel-transient: Fix key collision in gptel-menu 95eefe4 gptel-org: Fix typo from refactoring 8e0d682 gptel-openai: Fix collision with openrouter parsing (karthink#669) 0a2fcb9 gptel-curl: Handle end of reasoning stream in other buffer 3963aff gptel-org: Use gptel-org- prefix consistently
* * Fix: restore markdown formatting for o3-mini by commenting out nosystem capability (karthink#609) * Delete nosystem capability for o3-mini and o1 According to testing, o3-mini and o1 now accept system prompts again, restoring Markdown formatting if 'Formatting re-enabled' is included. However, 'o1-mini' still rejects system prompts, so 'nosystem' remains for that model. (Refs karthink#609) --------- Co-authored-by: chris <[email protected]>
Description:
Previously, the "o3-mini" model stopped accepting system prompts, leading to the introduction of the
nosystem
capability in gptel. However, OpenAI once again allows system prompts (with function equivalently to "developer messages") allowing to restore Markdown formatting by including "Formatting re-enabled" at the start of the system prompt.Removing the
nosystem
capability from “o3-mini” allows gptel to once again send system prompts, and in turn re-enable Markdown output for users who prepend instructions like “Formatting re-enabled” to their prompts.Changes
nosystem
capability for “o3-mini.”Testing
Verified locally by sending a system prompt containing “Formatting re-enabled” to “o3-mini,” which produced Markdown-formatted responses. This aligns with the Azure OpenAI docs.