Modely zdůvodňování Azure OpenAI
Azure OpenAI o1
a o1-mini
modely jsou navržené tak, aby řešily důvody a úlohy řešení problémů se zvýšeným zaměřením a schopností. Tyto modely tráví více času zpracováním a porozuměním požadavku uživatele, což je mimořádně silné v oblastech, jako jsou věda, kódování a matematika v porovnání s předchozími iteracemi.
Klíčové funkce řady o1:
- Komplexní generování kódu: Umožňuje generovat algoritmy a zpracovávat pokročilé úlohy kódování pro podporu vývojářů.
- Pokročilé řešení problémů: Ideální pro komplexní debaty a řešení vícestranných problémů.
- Komplexní porovnání dokumentů: Ideální pro analýzu kontraktů, souborů případů nebo právních dokumentů k identifikaci drobných rozdílů.
- Instrukce Sledování a správa pracovních postupů: Zvláště efektivní pro správu pracovních postupů vyžadujících kratší kontexty.
Dostupnost
Modely řady o1 jsou nyní k dispozici pro přístup k rozhraní API a nasazení modelu. Registrace je povinná a přístup se udělí na základě kritérií způsobilosti microsoftu. Zákazníci, kteří dříve použili a obdrželi přístup , o1-preview
nemusí znovu použít, protože jsou automaticky na seznamu čekání pro nejnovější model.
Vyžádání přístupu: aplikace modelu omezeného přístupu
Po udělení přístupu budete muset pro každý model vytvořit nasazení. Pokud máte existující o1-preview
nasazení, místní upgrade se v současné době nepodporuje, budete muset vytvořit nové nasazení.
Regionální dostupnost
Model | Oblast |
---|---|
o1 |
USA – východ 2 (globální standard) Švédsko – střed (Global Standard) |
o1-preview |
Podívejte se na stránku modelů. |
o1-mini |
Podívejte se na stránku modelů. |
Podpora rozhraní API
Počáteční podpora modelů o1-preview a o1-mini preview byla přidána ve verzi 2024-09-01-preview
API .
V rámci této verze max_tokens
byl parametr zastaralý a nahrazen novým max_completion_tokens
parametrem. Modely řad o1 budou fungovat pouze s parametrem max_completion_tokens
.
Nejnovější nejschopnější model řady o1 je o1
verze: 2024-12-17. Tento obecný model dostupnosti (GA) by se měl používat s verzí 2024-12-01-preview
rozhraní API.
2024-12-01-preview
2024-12-01-preview
přidává podporu pro nový reasoning_effort
parametr, strukturované výstupy a zprávy vývojářů. Starší modely preview tyto funkce v současné době nepodporují. Z důvodu modelů jsou tyto funkce v současné době k dispozici pouze ve o1
verzi: 2024-12-17.
Využití
Tyto modely v současné době nepodporují stejnou sadu parametrů jako jiné modely, které používají rozhraní API pro dokončování chatu. V současné době se podporuje pouze omezená podmnožina. Použití standardních parametrů, jako je a temperature
top_p
bude mít za následek chyby.
Abyste měli přístup k nejnovějším parametrům, budete muset upgradovat klientskou knihovnu OpenAI.
pip install openai --upgrade
Pokud s ověřováním začínáte používat Microsoft Entra ID, přečtěte si téma Konfigurace služby Azure OpenAI s ověřováním Microsoft Entra ID.
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))
Výstup:
{
"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"
}
}
}
]
}
Poznámka:
Modely odůvodnění jsou reasoning_tokens
součástí completion_tokens_details
odpovědi modelu. Jedná se o skryté tokeny, které se nevrací jako součást obsahu odpovědi na zprávu, ale model je používá k vygenerování konečné odpovědi na vaši žádost. 2024-12-01-preview
přidá další nový parametr reasoning_effort
, který lze nastavit na low
, medium
nebo high
s nejnovějším o1
modelem. Čím vyšší je nastavení úsilí, tím déle model stráví zpracováním požadavku, což obvykle vede k většímu reasoning_tokens
počtu .
Zprávy pro vývojáře
Funkčně vývojářské zprávy "role": "developer"
jsou stejné jako systémové zprávy.
- Systémové zprávy nejsou podporovány modely odůvodnění řady o1.
o1-2024-12-17
s verzí rozhraní API:2024-12-01-preview
a novější přidává podporu pro zprávy vývojářů.
Přidání zprávy vývojáře do předchozího příkladu kódu by vypadalo takto:
Abyste měli přístup k nejnovějším parametrům, budete muset upgradovat klientskou knihovnu OpenAI.
pip install openai --upgrade
Pokud s ověřováním začínáte používat ID Microsoft Entra, přečtěte si, jak nakonfigurovat službu Azure OpenAI s ověřováním Microsoft Entra ID.
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))