Aracılığıyla paylaş


Azure OpenAI mantık modelleri

Azure OpenAI akıl yürütme modelleri, artan odak ve yetenekle akıl yürütme ve sorun çözme görevlerini ele almak için tasarlanmıştır. Bu modeller kullanıcının isteğini işlemek ve anlamak için daha fazla zaman harcar ve bu da onları önceki yinelemelerle karşılaştırıldığında bilim, kodlama ve matematik gibi alanlarda son derece güçlü hale getirir.

Akıl yürütme modellerinin temel özellikleri:

  • Karmaşık Kod Oluşturma: Algoritmalar oluşturabilen ve geliştiricileri desteklemek için gelişmiş kodlama görevlerini işleyebilen.
  • Gelişmiş Sorun Çözme: Kapsamlı beyin fırtınası oturumları ve çok yönlü zorlukları ele almak için idealdir.
  • Karmaşık Belge Karşılaştırması: Küçük farkları belirlemek için sözleşmeleri, servis talebi dosyalarını veya yasal belgeleri analiz etmek için idealdir.
  • Yönerge Takip ve İş Akışı Yönetimi: Özellikle daha kısa bağlamlar gerektiren iş akışlarını yönetmek için etkilidir.

Önkoşullar

  • Azure OpenAI akıl yürütme modeli dağıtıldı.

  • REST örneklerini kullanıyorsanız:

    • Azure CLI yükleyin. Daha fazla bilgi için bkz. Azure CLI yükleme.

    • ile az loginoturum açın, ardından taşıyıcı belirteci oluşturun ve ortam değişkeninde AZURE_OPENAI_AUTH_TOKEN depolayın.

      az account get-access-token --resource https://cognitiveservices.azure.com --query accessToken -o tsv
      

Usage

Bu modeller şu anda sohbet tamamlama API'sini kullanan diğer modellerle aynı parametre kümesini desteklememektedir.

Sohbet tamamlama API'si

using Azure.Identity;
using OpenAI;
using OpenAI.Chat;
using System.ClientModel.Primitives;

#pragma warning disable OPENAI001 //currently required for token based authentication

BearerTokenPolicy tokenPolicy = new(
    new DefaultAzureCredential(),
    "https://ai.azure.com/.default");

ChatClient client = new(
    model: "o4-mini",
    authenticationPolicy: tokenPolicy,
    options: new OpenAIClientOptions()
    {

        Endpoint = new Uri("https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1")
    }
);

ChatCompletionOptions options = new ChatCompletionOptions
{
    MaxOutputTokenCount = 100000
};

ChatCompletion completion = client.CompleteChat(
         new DeveloperChatMessage("You are a helpful assistant"),
         new UserChatMessage("Tell me about the bitter lesson")
    );

Console.WriteLine($"[ASSISTANT]: {completion.Content[0].Text}");

Akıl yürütme çabası

Uyarı

Model yanıtında, reasoning_tokens akıl yürütme modellerinin bir parçası olarak completion_tokens_details vardır. Bunlar, ileti yanıtı içeriğinin bir parçası olarak döndürülmeyen ancak model tarafından isteğinize son yanıtın oluşturulmasına yardımcı olmak için kullanılan gizli belirteçlerdir. reasoning_effort, low, veya medium için tüm mantık modellerinde ayarlanabilir, high hariç. Efor ayarı ne kadar yüksek olursa, model isteği işlemek için o kadar uzun zaman harcar ve bu da genellikle daha fazla sayıda reasoning_tokensile sonuçlanır.

Geliştirici iletileri

Geliştirici iletileri ("role": "developer") sistem iletileriyle işlevsel olarak aynıdır.

Önceki kod örneğine geliştirici iletisi eklemek aşağıdaki gibi görünür:


using Azure.Identity;
using OpenAI;
using OpenAI.Chat;
using System.ClientModel.Primitives;

#pragma warning disable OPENAI001 //currently required for token based authentication

BearerTokenPolicy tokenPolicy = new(
    new DefaultAzureCredential(),
    "https://ai.azure.com/.default");

ChatClient client = new(
    model: "o4-mini",
    authenticationPolicy: tokenPolicy,
    options: new OpenAIClientOptions()
    {

        Endpoint = new Uri("https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1")
    }
);

ChatCompletionOptions options = new ChatCompletionOptions
{
    ReasoningEffortLevel = ChatReasoningEffortLevel.Low,
    MaxOutputTokenCount = 100000
};

ChatCompletion completion = client.CompleteChat(
         new DeveloperChatMessage("You are a helpful assistant"),
         new UserChatMessage("Tell me about the bitter lesson")
    );

Console.WriteLine($"[ASSISTANT]: {completion.Content[0].Text}");

Akıl yürütme özeti

Yanıtlar API'siyle en son akıl yürütme modellerini kullanırken, modelin düşünce mantığı zincirinin özetlerini almak için reasoning summary parametresini kullanabilirsiniz.

Önemli

Muhakeme özeti parametresi dışındaki yöntemler aracılığıyla ham mantığı ayıklamaya çalışmak desteklenmez, Kabul Edilebilir Kullanım İlkesi'ni ihlal edebilir ve algılandığında azaltma veya askıya alma ile sonuçlanabilir.

using OpenAI;
using OpenAI.Responses;
using System.ClientModel.Primitives;
using Azure.Identity;

#pragma warning disable OPENAI001 //currently required for token based authentication

BearerTokenPolicy tokenPolicy = new(
    new DefaultAzureCredential(),
    "https://ai.azure.com/.default");

OpenAIResponseClient client = new(
    model: "o4-mini",
    authenticationPolicy: tokenPolicy,
    options: new OpenAIClientOptions()
    {
        Endpoint = new Uri("https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1")
    }
);

OpenAIResponse response = await client.CreateResponseAsync(
    userInputText: "What's the optimal strategy to win at poker?",
    new ResponseCreationOptions()
    {
        ReasoningOptions = new ResponseReasoningOptions()
        {
            ReasoningEffortLevel = ResponseReasoningEffortLevel.High,
            ReasoningSummaryVerbosity = ResponseReasoningSummaryVerbosity.Auto,
        },
    });

// Get the reasoning summary from the first OutputItem (ReasoningResponseItem)
Console.WriteLine("=== Reasoning Summary ===");
foreach (var item in response.OutputItems)
{
    if (item is ReasoningResponseItem reasoningItem)
    {
        foreach (var summaryPart in reasoningItem.SummaryParts)
        {
            if (summaryPart is ReasoningSummaryTextPart textPart)
            {
                Console.WriteLine(textPart.Text);
            }
        }
    }
}

Console.WriteLine("\n=== Assistant Response ===");
// Get the assistant's output
Console.WriteLine(response.GetOutputText());

Uyarı

Etkinleştirildiğinde bile, her adım/istek için akıl yürütme özetlerinin oluşturulması garanti değildir. Bu beklenen bir davranıştır.

Python lark

GPT-5 serisi akıl yürütme modelleri, yeni bir custom_tool çağrısını lark_tool olarak adlandırma yeteneğine sahiptir. Bu araç Python lark tabanlıdır ve model çıkışının daha esnek şekilde kısıtlanması için kullanılabilir.

Yanıtlar API'si

{
  "model": "gpt-5-2025-08-07",
  "input": "please calculate the area of a circle with radius equal to the number of 'r's in strawberry",
  "tools": [
    {
      "type": "custom",
      "name": "lark_tool",
      "format": {
        "type": "grammar",
        "syntax": "lark",
        "definition": "start: QUESTION NEWLINE ANSWER\nQUESTION: /[^\\n?]{1,200}\\?/\nNEWLINE: /\\n/\nANSWER: /[^\\n!]{1,200}!/"
      }
    }
  ],
  "tool_choice": "required"
}

Microsoft Entra ID:

from openai import OpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider

token_provider = get_bearer_token_provider(
    DefaultAzureCredential(), "https://ai.azure.com/.default"
)

client = OpenAI(  
  base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",  
  api_key=token_provider,
)

response = client.responses.create(  
    model="gpt-5",  # replace with your model deployment name  
    tools=[  
        {  
            "type": "custom",
            "name": "lark_tool",
            "format": {
                "type": "grammar",
                "syntax": "lark",
                "definition": "start: QUESTION NEWLINE ANSWER\nQUESTION: /[^\\n?]{1,200}\\?/\nNEWLINE: /\\n/\nANSWER: /[^\\n!]{1,200}!/"
            }
        }  
    ],  
    input=[{"role": "user", "content": "Please calculate the area of a circle with radius equal to the number of 'r's in strawberry"}],  
)  

print(response.model_dump_json(indent=2))  

API Anahtarı:

import os
from openai import OpenAI

client = OpenAI(  
  base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
  api_key=os.getenv("AZURE_OPENAI_API_KEY")  
)

response = client.responses.create(  
    model="gpt-5",  # replace with your model deployment name  
    tools=[  
        {  
            "type": "custom",
            "name": "lark_tool",
            "format": {
                "type": "grammar",
                "syntax": "lark",
                "definition": "start: QUESTION NEWLINE ANSWER\nQUESTION: /[^\\n?]{1,200}\\?/\nNEWLINE: /\\n/\nANSWER: /[^\\n!]{1,200}!/"
            }
        }  
    ],  
    input=[{"role": "user", "content": "Please calculate the area of a circle with radius equal to the number of 'r's in strawberry"}],  
)  

print(response.model_dump_json(indent=2))  
  

Çıktı:

{
  "id": "resp_689a0cf927408190b8875915747667ad01c936c6ffb9d0d3",
  "created_at": 1754926332.0,
  "error": null,
  "incomplete_details": null,
  "instructions": null,
  "metadata": {},
  "model": "gpt-5",
  "object": "response",
  "output": [
    {
      "id": "rs_689a0cfd1c888190a2a67057f471b5cc01c936c6ffb9d0d3",
      "summary": [],
      "type": "reasoning",
      "encrypted_content": null,
      "status": null
    },
    {
      "id": "msg_689a0d00e60c81908964e5e9b2d6eeb501c936c6ffb9d0d3",
      "content": [
        {
          "annotations": [],
          "text": "“strawberry” has 3 r’s, so the radius is 3.\nArea = πr² = π × 3² = 9π ≈ 28.27 square units.",
          "type": "output_text",
          "logprobs": null
        }
      ],
      "role": "assistant",
      "status": "completed",
      "type": "message"
    }
  ],
  "parallel_tool_calls": true,
  "temperature": 1.0,
  "tool_choice": "auto",
  "tools": [
    {
      "name": "lark_tool",
      "parameters": null,
      "strict": null,
      "type": "custom",
      "description": null,
      "format": {
        "type": "grammar",
        "definition": "start: QUESTION NEWLINE ANSWER\nQUESTION: /[^\\n?]{1,200}\\?/\nNEWLINE: /\\n/\nANSWER: /[^\\n!]{1,200}!/",
        "syntax": "lark"
      }
    }
  ],
  "top_p": 1.0,
  "background": false,
  "max_output_tokens": null,
  "max_tool_calls": null,
  "previous_response_id": null,
  "prompt": null,
  "prompt_cache_key": null,
  "reasoning": {
    "effort": "medium",
    "generate_summary": null,
    "summary": null
  },
  "safety_identifier": null,
  "service_tier": "default",
  "status": "completed",
  "text": {
    "format": {
      "type": "text"
    }
  },
  "top_logprobs": null,
  "truncation": "disabled",
  "usage": {
    "input_tokens": 139,
    "input_tokens_details": {
      "cached_tokens": 0
    },
    "output_tokens": 240,
    "output_tokens_details": {
      "reasoning_tokens": 192
    },
    "total_tokens": 379
  },
  "user": null,
  "content_filters": null,
  "store": true
}

Sohbet Sonuçları

{
  "messages": [
    {
      "role": "user",
      "content": "Which one is larger, 42 or 0?"
    }
  ],
  "tools": [
    {
      "type": "custom",
      "name": "custom_tool",
      "custom": {
        "name": "lark_tool",
        "format": {
          "type": "grammar",
          "grammar": {
            "syntax": "lark",
            "definition": "start: QUESTION NEWLINE ANSWER\nQUESTION: /[^\\n?]{1,200}\\?/\nNEWLINE: /\\n/\nANSWER: /[^\\n!]{1,200}!/"
          }
        }
      }
    }
  ],
  "tool_choice": "required",
  "model": "gpt-5-2025-08-07"
}

Availability

Bölgesel kullanılabilirlik

Model Bölge Sınırlı erişim
gpt-5.4-mini Genel Standart:
Doğu ABD2
Orta İsveç
ABD'nin Güney Merkez Bölgesi
Orta Polonya
Erişim isteği gerekmez.
gpt-5.4.nano Genel Standart:
Doğu ABD2
Orta İsveç
ABD'nin Güney Merkez Bölgesi
Orta Polonya

Datazone Standard:
Doğu ABD2
ABD'nin Güney Merkez Bölgesi
Erişim isteği gerekmez.
gpt-5.4-pro Model kullanılabilirliği Erişim isteme: Sınırlı erişim modeli uygulaması. Sınırlı erişim modeline zaten erişiminiz varsa istek gerekmez.
gpt-5.4 Model kullanılabilirliği Erişim isteme: Sınırlı erişim modeli uygulaması. Sınırlı erişim modeline zaten erişiminiz varsa istek gerekmez.
gpt-5.3-codex Model kullanılabilirliği Erişim isteme: Sınırlı erişim modeli uygulaması. Sınırlı erişim modeline zaten erişiminiz varsa istek gerekmez.
gpt-5.2-codex Model kullanılabilirliği Erişim isteme: Sınırlı erişim modeli uygulaması. Sınırlı erişim modeline zaten erişiminiz varsa istek gerekmez.
gpt-5.2 Model kullanılabilirliği Erişim isteme: Sınırlı erişim modeli uygulaması. Sınırlı erişim modeline zaten erişiminiz varsa istek gerekmez.
gpt-5.1-codex-max Model kullanılabilirliği Erişim artık bu model için kısıtlanmaz.
gpt-5.1 Model kullanılabilirliği Erişim artık bu model için kısıtlanmaz.
gpt-5.1-chat Model kullanılabilirliği Erişim isteği gerekmez.
gpt-5.1-codex Model kullanılabilirliği Erişim artık bu model için kısıtlanmaz.
gpt-5.1-codex-mini Model kullanılabilirliği Erişim isteği gerekmez.
gpt-5-pro Model kullanılabilirliği Erişim artık bu model için kısıtlanmaz.
gpt-5-codex Model kullanılabilirliği Erişim artık bu model için kısıtlanmaz.
gpt-5 Model kullanılabilirliği Erişim artık bu model için kısıtlanmaz.
gpt-5-mini Model kullanılabilirliği Erişim isteği gerekmez.
gpt-5-nano Model kullanılabilirliği Erişim isteği gerekmez.
o3-pro Model kullanılabilirliği Erişim isteme: Sınırlı erişim modeli uygulaması. Sınırlı erişim modeline zaten erişiminiz varsa istek gerekmez.
codex-mini Model kullanılabilirliği Erişim isteği gerekmez.
o4-mini Model kullanılabilirliği Bu modelin temel özelliklerini kullanmak için erişim isteği gerekmez.

Erişim isteme: o4 mini akıl yürütme özeti özelliği
o3 Model kullanılabilirliği Erişim isteme: Sınırlı erişim modeli uygulaması
o3-mini Model kullanılabilirliği. Erişim artık bu model için kısıtlanmaz.
o1 Model kullanılabilirliği. Erişim artık bu model için kısıtlanmaz.

API ve özellik desteği

Özellik gpt-5.4-nano, 2026-03-17 gpt-5.4-mini, 2026-03-17 gpt-5.4-pro gpt-5.4, 2026-03-05 gpt-5.3-codex, 2026-02-24 gpt-5.2-codex, 2026-01-14 gpt-5.2, 2025-12-11 gpt-5.1-codex-max, 2025-12-04 gpt-5.1, 2025-11-13 gpt-5.1-chat, 2025-11-13 gpt-5.1-codex, 2025-11-13 gpt-5.1-codex-mini, 2025-11-13 gpt-5-pro, 2025-10-06 gpt-5-codex, 2025-09-011 gpt-5, 2025-08-07 gpt-5-mini, 2025-08-07 gpt-5-nano, 2025-08-07
Geliştirici İletileri
Yapısal Çıktılar
Bağlam Penceresi 400,000

Giriş: 272.000
Çıkış: 128.000
400,000

Giriş: 272.000
Çıkış: 128.000
1,050,000

Giriş:
922,000
Çıktı:
128,000
1,050,000

Giriş:
922,000
Çıktı:
128,000
400,000

Giriş: 272.000
Çıkış: 128.000
400,000

Giriş: 272.000
Çıkış: 128.000
400,000

Giriş: 272.000
Çıkış: 128.000
400,000

Giriş: 272.000
Çıkış: 128.000
400,000

Giriş: 272.000
Çıkış: 128.000
128,000

Giriş: 111.616
Çıkış: 16.384
400,000

Giriş: 272.000
Çıkış: 128.000
400,000

Giriş: 272.000
Çıkış: 128.000
400,000

Giriş: 272.000
Çıkış: 128.000
400,000

Giriş: 272.000
Çıkış: 128.000
400,000

Giriş: 272.000
Çıkış: 128.000
400,000

Giriş: 272.000
Çıkış: 128.000
400,000

Giriş: 272.000
Çıkış: 128.000
Akıl yürütme çalışması7 6 4 5
Görüntü girişi
Sohbet Tamamlamaları API'si - - - - - - - -
Yanıtlar API'si
İşlevler/Araçlar
Paralel Araç Çağrıları1 - -
max_completion_tokens 2 - - - - - - - -
Sistem İletileri 3
Akıl yürütme özeti
Yayın -

1 Paralel araç çağrıları, reasoning_effortminimal olarak ayarlandığında desteklenmez.

2 Akıl yürütme modelleri yalnızca Sohbet Tamamlamaları API'si kullanılırken max_completion_tokens parametresiyle çalışır. Yanıtlar API'siyle max_output_tokens kullanın.

3 En son akıl yürütme modelleri, geçişi kolaylaştırmak için sistem iletilerini destekler. Aynı API isteğinde hem geliştirici iletisi hem de sistem iletisi kullanmamalısınız.

4gpt-5.1reasoning_effort varsayılan değeridir none. Önceki mantık modellerinden gpt-5.1 yükseltme yaparken, düşünme_çabası'nı (reasoning_effort) devreye sokmak istiyorsanız, kodunuzu açıkça bir düşünme_çabası düzeyi geçirecek şekilde güncellemeniz gerekebilir.

5gpt-5-pro yalnızca destekler reasoning_efforthigh, modele açıkça geçirilmese bile bu varsayılan değerdir.

6gpt-5.1-codex-max, akıl yürütme çabasının ayarlanabileceği reasoning_effort en yüksek düzey olan yeni xhigh bir düzey için destek ekler.

7gpt-5.2, gpt-5.1, gpt-5.1-codex, gpt-5.1-codex-max ve gpt-5.1-codex-mini parametresi için değer olarak 'None' desteği. Bu modelleri mantık yürütmeden yanıt oluşturmak için kullanmak istiyorsanız ayarlayın reasoning_effort='None'. Bu ayar hızı artırabilir.

YENİ GPT-5 akıl yürütme özellikleri

Özellik Description
reasoning_effort xhigh yalnızca gpt-5.1-codex-max ile desteklenir
minimal yalnızca özgün GPT-5 akıl yürütme modellerinde desteklenir. minimal gpt-5.1 veya daha büyük * ile desteklenmiyor

Seçenekler: none, minimal, low, medium, high, , xhigh
verbosity Modelin çıktısının daha özlü olmasını daha hassas bir şekilde kontrol eden yeni bir parametre.

Seçenekler:low, medium, high.
preamble GPT-5 serisi akıl yürütme modelleri, bir işlev/araç çağrısı yürütmeden önce "düşünmek" için fazladan zaman harcayabilme özelliğine sahiptir.

Bu planlama gerçekleştiğinde model, preamble nesnesi adındaki yeni bir nesne aracılığıyla model yanıtında planlama adımları hakkında içgörü sağlayabilir.

Model yanıtında önsözlerin oluşturulması garanti edilmemektedir, ancak instructions parametresini kullanarak ve "Her işlev çağrısından önce kapsamlı bir şekilde planlamanız GEREKİR" gibi bir içerik geçirerek modeli teşvik edebilirsiniz. Herhangi bir işlevi çağırmadan önce planınızın her ZAMAN çıkışını kullanıcıya verin"
izin verilen araçlar tool_choice ifadesi altında yalnızca bir araç yerine birden çok araç belirtebilirsiniz.
özel araç türü Ham metin (json olmayan) çıkışlarını etkinleştirir
lark_tool Model yanıtlarının daha esnek şekilde kısıtlanması için Python lark özelliklerinden bazılarını kullanmanıza olanak tanır

* gpt-5-codex ayrıca desteklemez reasoning_effortminimal.

Daha fazla bilgi için OpenAI'nin GPT-5 komut yemek kitabı kılavuzunu ve GPT-5 özellik kılavuzunu okumanızı öneririz.

Uyarı

  • zaman aşımlarından kaçınmak için arka plan modu kullanımı önerilir.
  • o3-pro şu anda görüntü oluşturmayı desteklememektedir.

Desteklenmiyor

Aşağıdakiler şu anda akıl yürütme modelleriyle desteklenmemektedir:

  • temperature, top_p, presence_penalty, , frequency_penalty, logprobs, top_logprobs, logit_bias, max_tokens

Markdown çıktısı

Varsayılan olarak o3-mini ve o1 modelleri markdown biçimlendirmesi içeren bir çıkış üretmeye çalışmaz. Bu davranışın istenmediği yaygın bir durum, modelin markdown kod bloğu içindeki kodu çıktıda vermesini istemenizdir. Model markdown biçimlendirmesi olmadan çıkış oluşturduğunda, etkileşimli oyun alanı deneyimlerinde söz dizimi vurgulama ve kopyalanabilir kod blokları gibi özellikleri kaybedersiniz. Bu yeni varsayılan davranışı geçersiz kılmak ve model yanıtlarına markdown eklenmesini teşvik etmek için dizeyi Formatting re-enabled geliştirici iletinizin başına ekleyin.

Geliştirici iletinizin başına eklemek Formatting re-enabled , modelin yanıtında markdown biçimlendirmesi içereceğini garanti etmez, yalnızca olasılığı artırır. İç testlerden yaptığımız sonuçlara göre, Formatting re-enabled, o1 modeline kıyasla o3-mini modeli ile tek başına daha az etkilidir.

Formatting re-enabled performansını artırmak için geliştirici mesajının başını daha da genişletebilir ve bu genellikle istenen çıktıyı elde etmenizi sağlar. Geliştirici iletinizin başına eklemek Formatting re-enabled yerine, aşağıdaki örneklerden biri gibi daha açıklayıcı bir başlangıç yönergesi eklemeyi deneyebilirsiniz:

  • Formatting re-enabled - please enclose code blocks with appropriate markdown tags.
  • Formatting re-enabled - code output should be wrapped in markdown.

Beklenen çıkışınıza bağlı olarak, ilk geliştirici iletinizi özel kullanım örneğinizi hedeflemek için daha fazla özelleştirmeniz gerekebilir.