Aracılığıyla paylaş


Azure OpenAI akıl yürütme modelleri

Azure OpenAI o-series modelleri, daha fazla 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.

O serisi modellerin 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.

Kullanılabilirlik

, ve o1-previewkayıtlarına o1o3-minierişim için kayıt gereklidir ve Microsoft'un uygunluk ölçütlerine göre erişim verilir.

Veya uygulamasına o1o1-previewdaha önce uygulanan ve erişim alan müşterilerin, en son modelin bekleme listesinde otomatik olarak bulunduklarından yeniden uygulaması gerekmez.

Erişim isteme: sınırlı erişim modeli uygulaması

Bölgesel kullanılabilirlik

Model Bölge Sınırlı erişim
o3-mini Model kullanılabilirliği. Sınırlı erişim modeli uygulaması
o1 Model kullanılabilirliği. Sınırlı erişim modeli uygulaması
o1-preview Model kullanılabilirliği. Bu model yalnızca özgün sınırlı erişim sürümünün bir parçası olarak erişim izni verilen müşteriler tarafından kullanılabilir. Şu anda erişimi o1-previewgenişletmiyor.
o1-mini Model kullanılabilirliği. Genel Standart dağıtımları için erişim isteği gerekmez.

Standart (bölgesel) dağıtımlar şu anda yalnızca sürüm kapsamında o1-preview daha önce erişim izni verilmiş olan belirli müşteriler tarafından kullanılabilir.

API ve özellik desteği

Özellik o3-mini, 2025-01-31 o1, 2024-12-17 o1-preview, 2024-09-12 o1-mini, 2024-09-12
API Sürümü 2024-12-01-preview
2025-01-01-preview
2024-12-01-preview
2025-01-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
Geliştirici İletileri - -
Yapılandırılmış Çıkışlar - -
Bağlam Penceresi Giriş: 200.000
Çıkış: 100.000
Giriş: 200.000
Çıkış: 100.000
Giriş: 128.000
Çıkış: 32.768
Giriş: 128.000
Çıkış: 65.536
Akıl yürütme çabası - -
Görüntü İşleme Desteği - - -
İşlevler/Araçlar - -
max_completion_tokens*
Sistem İletileri** - -
Akışlar - - -

* Akıl yürütme modelleri yalnızca parametresiyle max_completion_tokens çalışır.

**En son o* serisi modeli, geçişi kolaylaştırmak için sistem iletilerini destekler. ile o3-mini bir sistem iletisi kullandığınızda ve o1 bu ileti geliştirici iletisi olarak ele alınacaktır. Aynı API isteğinde hem geliştirici iletisi hem de sistem iletisi kullanmamalısınız.

Desteklenmiyor

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

  • Paralel araç çağrısı
  • temperature, top_p, presence_penalty, , frequency_penalty, logprobs, top_logprobs, logit_bias, max_tokens

Kullanım

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

En son parametrelere erişmek için OpenAI istemci kitaplığınızı yükseltmeniz gerekir.

pip install openai --upgrade

Kimlik doğrulaması için Microsoft Entra Id kullanmaya yeniyseniz bkz . Microsoft Entra Id kimlik doğrulaması ile Azure OpenAI Hizmetini yapılandırma.

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))

Çıktı:

{
  "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"
        }
      }
    }
  ]
}

Akıl yürütme çabası

Not

Model yanıtının bir parçası olarak model oluşturma modellerinin bir parçası completion_tokens_details vardırreasoning_tokens. 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. 2024-12-01-preview, veya en son o1 modelle ayarlanabilen lowek bir yeni parametre reasoning_effort ekler.highmedium 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

İşlevsel olarak geliştirici iletileri "role": "developer" sistem iletileriyle aynıdır.

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

En son parametrelere erişmek için OpenAI istemci kitaplığınızı yükseltmeniz gerekir.

pip install openai --upgrade

Kimlik doğrulaması için Microsoft Entra Id kullanmaya yeniyseniz bkz . Microsoft Entra Id kimlik doğrulaması ile Azure OpenAI Hizmetini yapılandırma.

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))

Markdown çıkışı

Varsayılan olarak o3-mini ve o1 modelleri markdown biçimlendirmesi içeren bir çıkış üretmeye çalışmaz. Bu davranışın istenmeyen bir durum olduğu yaygın kullanım örneklerinden biri, modelin markdown kod bloğunun içinde bulunan kodun çıkışını oluşturmasını 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, modeli ile o1 olandan daha o3-miniaz etkili olduğunu Formatting re-enabled bulduk.

Performansını Formatting re-enabled artırmak için geliştirici iletisinin başlangıcını daha da artırabilir ve bu da genellikle istenen çıkışın elde olmasını 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.