Azure OpenAI-resonemangsmodeller
Azure OpenAI o1
och o1-mini
modeller är utformade för att hantera resonemang och problemlösningsuppgifter med ökat fokus och ökad kapacitet. Dessa modeller ägnar mer tid åt att bearbeta och förstå användarens begäran, vilket gör dem exceptionellt starka inom områden som vetenskap, kodning och matematik jämfört med tidigare iterationer.
Viktiga funktioner i o1-serien:
- Komplex kodgenerering: Kan generera algoritmer och hantera avancerade kodningsuppgifter för att stödja utvecklare.
- Avancerad problemlösning: Perfekt för omfattande brainstormingsessioner och hantering av mångfacetterade utmaningar.
- Komplex dokumentjämförelse: Perfekt för att analysera kontrakt, ärendefiler eller juridiska dokument för att identifiera subtila skillnader.
- Instruktion efter och arbetsflödeshantering: Särskilt effektivt för att hantera arbetsflöden som kräver kortare kontexter.
Tillgänglighet
Modellerna i o1-serien är nu tillgängliga för API-åtkomst och modelldistribution. Registrering krävs och åtkomst beviljas baserat på Microsofts berättigandekriterier. Kunder som tidigare har tillämpat och fått åtkomst till o1-preview
behöver inte ansöka igen eftersom de automatiskt finns i väntelistan för den senaste modellen.
Begär åtkomst: program för modell för begränsad åtkomst
När åtkomsten har beviljats måste du skapa en distribution för varje modell. Om du har en befintlig o1-preview
distribution stöds för närvarande inte uppgradering på plats. Du måste skapa en ny distribution.
Region tillgänglighet
Modell | Region |
---|---|
o1 |
USA, östra 2 (global standard) Sweden Central (Global Standard) |
o1-preview |
Se sidan Modeller. |
o1-mini |
Se sidan Modeller. |
Stöd för API &-funktioner
Funktion | o1, 2024-12-17 | o1-preview, 2024-09-12 | o1-mini, 2024-09-12 |
---|---|---|---|
API-version | 2024-12-01-preview |
2024-09-01-preview 2024-10-01-preview 2024-12-01-preview |
2024-09-01-preview 2024-10-01-preview 2024-12-01-preview |
Utvecklarmeddelanden | ✅ | - | - |
Strukturerade utdata | ✅ | - | - |
Kontextfönster | Indata: 200 000 Utdata: 100 000 |
Indata: 128 000 Utdata: 32 768 |
Indata: 128 000 Utdata: 65 536 |
Resonemangsarbete | ✅ | - | - |
Systemmeddelanden | - | - | - |
Funktioner/verktyg | ✅ | - | - |
max_completion_tokens |
✅ | ✅ | ✅ |
o1-seriemodeller fungerar bara med parametern max_completion_tokens
.
Viktigt!
Det finns ett känt problem med o1
modellen och parametern tool_choice
. För närvarande misslyckas funktionsanrop som innehåller den valfria tool_choice
parametern. Den här sidan uppdateras när problemet har lösts.
Stöds inte
Följande stöds för närvarande inte med o1-seriemodeller:
- Systemmeddelanden
- Strömning
- Parallella verktygsanrop
temperature
,top_p
,presence_penalty
,frequency_penalty
,logprobs
, ,top_logprobs
, ,logit_bias
max_tokens
Förbrukning
Dessa modeller stöder för närvarande inte samma uppsättning parametrar som andra modeller som använder API:et för chattavslut.
Du måste uppgradera OpenAI-klientbiblioteket för åtkomst till de senaste parametrarna.
pip install openai --upgrade
Om du inte har använt Microsoft Entra-ID för autentisering tidigare kan du läsa Konfigurera Azure OpenAI-tjänsten med Microsoft Entra-ID-autentisering.
from openai import AzureOpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
)
client = AzureOpenAI(
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT"),
azure_ad_token_provider=token_provider,
api_version="2024-12-01-preview"
)
response = client.chat.completions.create(
model="o1-new", # replace with the model deployment name of your o1-preview, or o1-mini model
messages=[
{"role": "user", "content": "What steps should I think about when writing my first Python API?"},
],
max_completion_tokens = 5000
)
print(response.model_dump_json(indent=2))
Utdata:
{
"id": "chatcmpl-AEj7pKFoiTqDPHuxOcirA9KIvf3yz",
"choices": [
{
"finish_reason": "stop",
"index": 0,
"logprobs": null,
"message": {
"content": "Writing your first Python API is an exciting step in developing software that can communicate with other applications. An API (Application Programming Interface) allows different software systems to interact with each other, enabling data exchange and functionality sharing. Here are the steps you should consider when creating your first Python API...truncated for brevity.",
"refusal": null,
"role": "assistant",
"function_call": null,
"tool_calls": null
},
"content_filter_results": {
"hate": {
"filtered": false,
"severity": "safe"
},
"protected_material_code": {
"filtered": false,
"detected": false
},
"protected_material_text": {
"filtered": false,
"detected": false
},
"self_harm": {
"filtered": false,
"severity": "safe"
},
"sexual": {
"filtered": false,
"severity": "safe"
},
"violence": {
"filtered": false,
"severity": "safe"
}
}
}
],
"created": 1728073417,
"model": "o1-2024-12-17",
"object": "chat.completion",
"service_tier": null,
"system_fingerprint": "fp_503a95a7d8",
"usage": {
"completion_tokens": 1843,
"prompt_tokens": 20,
"total_tokens": 1863,
"completion_tokens_details": {
"audio_tokens": null,
"reasoning_tokens": 448
},
"prompt_tokens_details": {
"audio_tokens": null,
"cached_tokens": 0
}
},
"prompt_filter_results": [
{
"prompt_index": 0,
"content_filter_results": {
"custom_blocklists": {
"filtered": false
},
"hate": {
"filtered": false,
"severity": "safe"
},
"jailbreak": {
"filtered": false,
"detected": false
},
"self_harm": {
"filtered": false,
"severity": "safe"
},
"sexual": {
"filtered": false,
"severity": "safe"
},
"violence": {
"filtered": false,
"severity": "safe"
}
}
}
]
}
Resonemangsarbete
Kommentar
Resonemangsmodeller har reasoning_tokens
som en del av completion_tokens_details
i modellsvaret. Det här är dolda token som inte returneras som en del av meddelandets svarsinnehåll, men som används av modellen för att generera ett slutligt svar på din begäran. 2024-12-01-preview
lägger till ytterligare en ny parameter reasoning_effort
som kan anges till low
, medium
eller high
med den senaste o1
modellen. Ju högre ansträngningsinställning desto längre tid lägger modellen på att bearbeta begäran, vilket i allmänhet resulterar i ett större antal reasoning_tokens
.
Utvecklarmeddelanden
Funktionella utvecklarmeddelanden "role": "developer"
är samma som systemmeddelanden.
- Systemmeddelanden stöds inte med o1-seriens resonemangsmodeller.
o1-2024-12-17
med API-version:2024-12-01-preview
och lägger senare till stöd för utvecklarmeddelanden.
Om du lägger till ett utvecklarmeddelande i föregående kodexempel ser det ut så här:
Du måste uppgradera OpenAI-klientbiblioteket för åtkomst till de senaste parametrarna.
pip install openai --upgrade
Om du inte har använt Microsoft Entra-ID för autentisering tidigare kan du läsa Konfigurera Azure OpenAI-tjänsten med Microsoft Entra-ID-autentisering.
from openai import AzureOpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
)
client = AzureOpenAI(
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT"),
azure_ad_token_provider=token_provider,
api_version="2024-12-01-preview"
)
response = client.chat.completions.create(
model="o1-new", # replace with the model deployment name of your o1-preview, or o1-mini model
messages=[
{"role": "developer","content": "You are a helpful assistant."}, # optional equivalent to a system message for reasoning models
{"role": "user", "content": "What steps should I think about when writing my first Python API?"},
],
max_completion_tokens = 5000
)
print(response.model_dump_json(indent=2))