Understanding the Differences When Using OpenAI "o1" Models
If you’re integrating OpenAI’s REST API and plan to use the "o1" series models, it’s essential to be aware of some key differences compared to other models like the "gpt" series. This blog post highlights two notable changes and provides examples to help you adjust your implementation.
No "system" Role
The "o1" models only recognize the "assistant" and "model" roles in the conversation format. The "system" role, commonly used in the "gpt" series to define behavior, is not applicable when using these models. Instead, the functionality and behavior are implied by the model itself or managed through the prompt and conversation context.
No "temperature" Setting
Unlike other models where you can adjust the randomness of responses using the "temperature" setting, the "o1" models do not allow this parameter. This means you cannot modify the deterministic or creative nature of responses for these models. Instead, responses will have default behavior based on the model’s configuration.
These differences are detailed in OpenAI’s documentation, which you can find in the documentation .
Practical Examples Using "curl"
Here are two examples to illustrate how to call the API when using "o1" models.
Example 1: Basic Chat Request
curl https://api.openai.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "o1-preview",
"messages": [
{"role": "assistant", "content": "What can I help you with today?"},
{"role": "model", "content": "Can you summarize the latest news about AI?"}
]
}'
In this example:
-
The "model" field specifies an "o1" model.
-
The conversation includes messages with only "assistant" and "model" roles.
Example 2: Chain of Thought Reasoning
curl https://api.openai.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "o1-preview",
"messages": [
{"role": "assistant", "content": "Let’s solve a math problem together."},
{"role": "model", "content": "Sure! What problem do you have in mind?"},
{"role": "assistant", "content": "What is the sum of 23 and 45?"}
]
}'