Azure OpenAI-redeneringsmodellen
Azure OpenAI o1
en o1-mini
modellen zijn ontworpen om redenerings- en probleemoplossingstaken aan te pakken met meer focus en mogelijkheden. Deze modellen besteden meer tijd aan het verwerken en begrijpen van de aanvraag van de gebruiker, waardoor ze uitzonderlijk sterk zijn op gebieden als wetenschap, codering en wiskunde in vergelijking met eerdere iteraties.
Belangrijkste mogelijkheden van de o1-serie:
- Complexe codegeneratie: geschikt voor het genereren van algoritmen en het verwerken van geavanceerde coderingstaken ter ondersteuning van ontwikkelaars.
- Geavanceerde probleemoplossing: ideaal voor uitgebreide brainstormsessies en het aanpakken van uitdagingen met meerdere facetten.
- Complexe documentvergelijking: perfect voor het analyseren van contracten, casebestanden of juridische documenten om subtiele verschillen te identificeren.
- Instructies volgen en werkstroombeheer: met name effectief voor het beheren van werkstromen waarvoor kortere contexten nodig zijn.
Beschikbaarheid
De o1-seriemodellen zijn nu beschikbaar voor API-toegang en modelimplementatie. Registratie is vereist en toegang wordt verleend op basis van de geschiktheidscriteria van Microsoft. Klanten die eerder toegang hebben toegepast en toegang o1-preview
hebben gekregen, hoeven niet opnieuw toe te passen omdat ze automatisch op de wachtlijst staan voor het nieuwste model.
Toegang aanvragen: beperkte toegangsmodeltoepassing
Zodra toegang is verleend, moet u voor elk model een implementatie maken. Als u een bestaande o1-preview
implementatie hebt, wordt een in-place upgrade momenteel niet ondersteund, moet u een nieuwe implementatie maken.
Regionale beschikbaarheid
Modelleren | Regio |
---|---|
o1 |
VS - oost 2 (Global Standard) Zweden - centraal (Global Standard) |
o1-preview |
Zie de pagina Modellen. |
o1-mini |
Zie de pagina Modellen. |
API en functieondersteuning
Functie | o1, 2024-12-17 | o1-preview, 2024-09-12 | o1-mini, 2024-09-12 |
---|---|---|---|
API-versie | 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 |
Berichten voor ontwikkelaars | ✅ | - | - |
Gestructureerde uitvoer | ✅ | - | - |
Contextvenster | Invoer: 200.000 Uitvoer: 100.000 |
Invoer: 128.000 Uitvoer: 32.768 |
Invoer: 128.000 Uitvoer: 65.536 |
Redeneringsinspanning | ✅ | - | - |
Systeemberichten | - | - | - |
Functies/hulpprogramma's | ✅ | - | - |
max_completion_tokens |
✅ | ✅ | ✅ |
o1-seriemodellen werken alleen met de max_completion_tokens
parameter.
Belangrijk
Er is een bekend probleem met het o1
model en de tool_choice
parameter. Op dit moment mislukken functie-aanroepen die de optionele tool_choice
parameter bevatten. Deze pagina wordt bijgewerkt zodra het probleem is opgelost.
Niet ondersteund
De volgende modellen worden momenteel niet ondersteund met modellen uit de o1-serie:
- Systeemberichten
- Streaming
- Parallel aanroepen van hulpprogramma's
temperature
, ,top_p
presence_penalty
,frequency_penalty
, ,logprobs
, ,top_logprobs
logit_bias
max_tokens
Gebruik
Deze modellen ondersteunen momenteel niet dezelfde set parameters als andere modellen die gebruikmaken van de API voor het voltooien van chats.
U moet uw OpenAI-clientbibliotheek upgraden voor toegang tot de meest recente parameters.
pip install openai --upgrade
Als u geen toegang hebt tot Microsoft Entra ID voor verificatie, raadpleegt u Azure OpenAI-service configureren met Microsoft Entra ID-verificatie.
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))
Uitvoer:
{
"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"
}
}
}
]
}
Redeneringsinspanning
Notitie
Redeneringsmodellen maken reasoning_tokens
deel uit van completion_tokens_details
het modelantwoord. Dit zijn verborgen tokens die niet worden geretourneerd als onderdeel van de inhoud van het berichtantwoord, maar worden door het model gebruikt om een definitief antwoord op uw aanvraag te genereren. 2024-12-01-preview
voegt een extra nieuwe parameter reasoning_effort
toe die kan worden ingesteld op low
, medium
of high
met het nieuwste o1
model. Hoe hoger de inspanningsinstelling, hoe langer het model de aanvraag verwerkt, wat meestal resulteert in een groter aantal reasoning_tokens
.
Berichten voor ontwikkelaars
Functioneel ontwikkelaarsberichten "role": "developer"
zijn hetzelfde als systeemberichten.
- Systeemberichten worden niet ondersteund met de o1-serie redeneringsmodellen.
o1-2024-12-17
met API-versie:2024-12-01-preview
en voegt later ondersteuning toe voor ontwikkelaarsberichten.
Het toevoegen van een ontwikkelaarsbericht aan het vorige codevoorbeeld ziet er als volgt uit:
U moet uw OpenAI-clientbibliotheek upgraden voor toegang tot de meest recente parameters.
pip install openai --upgrade
Als u geen toegang hebt tot Microsoft Entra ID voor verificatie, raadpleegt u Azure OpenAI-service configureren met Microsoft Entra ID-verificatie.
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))