Aracılığıyla paylaş


Yeniden üretilebilir çıkışı kullanmayı öğrenin (önizleme)

Varsayılan olarak bir Azure OpenAI Sohbet Tamamlama modeline aynı soruyu birden çok kez sorarsanız farklı bir yanıt almanız olasıdır. Bu nedenle yanıtlar belirlenemeyen olarak kabul edilir. Yeniden üretilebilir çıktı, ürünün daha belirleyici çıkışlarına yardımcı olmak için varsayılan davranışı seçmeli olarak değiştirmenize olanak tanıyan yeni bir önizleme özelliğidir.

Yeniden üretilebilir çıkış desteği

Yeniden üretilebilir çıkış şu anda yalnızca aşağıdakilerle desteklenmektedir:

Desteklenen modeller

API Sürümü

Yeniden üretilebilir çıkış desteği ilk olarak API sürümünde eklendi 2023-12-01-preview

Örnek

İlk olarak, diğer parametreler aynı olsa bile Sohbet Tamamlama yanıtlarında ortak olan değişkenliği göstermek için aynı soruya üç yanıt oluşturacağız:

import os
from openai import AzureOpenAI

client = AzureOpenAI(
  azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT"), 
  api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
  api_version="2024-02-01"
)

for i in range(3):
  print(f'Story Version {i + 1}\n---')
    
  response = client.chat.completions.create(
    model="gpt-35-turbo-0125", # Model = should match the deployment name you chose for your 0125-preview model deployment
    #seed=42,
    temperature=0.7,
    max_tokens =50, 
    messages=[
      {"role": "system", "content": "You are a helpful assistant."},
      {"role": "user", "content": "Tell me a story about how the universe began?"}
    ]
  )
  
  print(response.choices[0].message.content)
  print("---\n")
  
  del response

Çıktı

Story Version 1
---
Once upon a time, before there was time, there was nothing but a vast emptiness. In this emptiness, there existed a tiny, infinitely dense point of energy. This point contained all the potential for the universe as we know it. And
---

Story Version 2
---
Once upon a time, long before the existence of time itself, there was nothing but darkness and silence. The universe lay dormant, a vast expanse of emptiness waiting to be awakened. And then, in a moment that defies comprehension, there
---

Story Version 3
---
Once upon a time, before time even existed, there was nothing but darkness and stillness. In this vast emptiness, there was a tiny speck of unimaginable energy and potential. This speck held within it all the elements that would come

Her hikayede benzer öğeler ve bazı ayrıntılı yinelemeler olsa da yanıt ne kadar uzun sürerse o kadar fazla sapma eğilimine sahip olduklarına dikkat edin.

Şimdi öncekiyle aynı kodu çalıştıracağız ancak bu kez parametresinin şu şekilde ifade eden satırını açın: seed=42

import os
from openai import AzureOpenAI

client = AzureOpenAI(
  azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT"), 
  api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
  api_version="2024-02-01"
)

for i in range(3):
  print(f'Story Version {i + 1}\n---')
    
  response = client.chat.completions.create(
    model="gpt-35-turbo-0125", # Model = should match the deployment name you chose for your 0125-preview model deployment
    seed=42,
    temperature=0.7,
    max_tokens =50, 
    messages=[
      {"role": "system", "content": "You are a helpful assistant."},
      {"role": "user", "content": "Tell me a story about how the universe began?"}
    ]
  )
  
  print(response.choices[0].message.content)
  print("---\n")
  
  del response

Çıktı

Story Version 1
---
In the beginning, there was nothing but darkness and silence. Then, suddenly, a tiny point of light appeared. This point of light contained all the energy and matter that would eventually form the entire universe. With a massive explosion known as the Big Bang
---

Story Version 2
---
In the beginning, there was nothing but darkness and silence. Then, suddenly, a tiny point of light appeared. This point of light contained all the energy and matter that would eventually form the entire universe. With a massive explosion known as the Big Bang
---

Story Version 3
---
In the beginning, there was nothing but darkness and silence. Then, suddenly, a tiny point of light appeared. This was the moment when the universe was born.

The point of light began to expand rapidly, creating space and time as it grew.
---

Üç isteğimizin her biri için aynı seed 42 parametresini kullanarak diğer tüm parametreleri aynı tutarak çok daha tutarlı sonuçlar elde edebiliyoruz.

Önemli

Determinizm, yeniden üretilebilir çıkış ile garanti değildir. Tohum parametresinin ve system_fingerprint API çağrıları arasında aynı olduğu durumlarda bile yanıtlarda değişkenlik derecesini gözlemlemek şu anda nadir değildir. Daha büyük max_tokens değerlere sahip özdeş API çağrıları genellikle tohum parametresi ayarlandığında bile daha az belirleyici yanıtlara neden olur.

Parametre ayrıntıları

seed , bir tamsayı veya null olarak ayarlanabilen isteğe bağlı bir parametredir.

Bu özellik Önizleme aşamasındadır. Belirtilirse sistemimiz, aynı tohuma ve parametrelere sahip yinelenen isteklerin aynı sonucu döndürmesi için belirleyici bir şekilde örneklemek için en iyi çabayı gösterir. Determinizm garanti değildir ve arka uçtaki system_fingerprint değişiklikleri izlemek için yanıt parametresine başvurmanız gerekir.

system_fingerprint bir dizedir ve sohbet tamamlama nesnesinin bir parçasıdır.

Bu parmak izi, modelin birlikte çalıştığı arka uç yapılandırmasını temsil eder.

Determinizmi etkileyebilecek arka uç değişikliklerinin ne zaman yapıldığını anlamak için seed istek parametresiyle birlikte kullanılabilir.

ile system_fingerprinttam sohbet tamamlama nesnesini görüntülemek için, mevcut yazdırma deyiminin yanına veya $response | convertto-json -depth 5 PowerShell örneğinin sonuna önceki Python koduna ekleyebilirsiniz print(response.model_dump_json(indent=2)). Bu değişiklik, aşağıdaki ek bilgilerin çıkışın bir parçası olmasına neden olur:

Çıktı

{
  "id": "chatcmpl-8LmLRatZxp8wsx07KGLKQF0b8Zez3",
  "choices": [
    {
      "finish_reason": "length",
      "index": 0,
      "message": {
        "content": "In the beginning, there was nothing but a vast emptiness, a void without form or substance. Then, from this nothingness, a singular event occurred that would change the course of existence forever—The Big Bang.\n\nAround 13.8 billion years ago, an infinitely hot and dense point, no larger than a single atom, began to expand at an inconceivable speed. This was the birth of our universe, a moment where time and space came into being. As this primordial fireball grew, it cooled, and the fundamental forces that govern the cosmos—gravity, electromagnetism, and the strong and weak nuclear forces—began to take shape.\n\nMatter coalesced into the simplest elements, hydrogen and helium, which later formed vast clouds in the expanding universe. These clouds, driven by the force of gravity, began to collapse in on themselves, creating the first stars. The stars were crucibles of nuclear fusion, forging heavier elements like carbon, nitrogen, and oxygen",
        "role": "assistant",
        "function_call": null,
        "tool_calls": null
      },
      "content_filter_results": {
        "hate": {
          "filtered": false,
          "severity": "safe"
        },
        "self_harm": {
          "filtered": false,
          "severity": "safe"
        },
        "sexual": {
          "filtered": false,
          "severity": "safe"
        },
        "violence": {
          "filtered": false,
          "severity": "safe"
        }
      }
    }
  ],
  "created": 1700201417,
  "model": "gpt-4",
  "object": "chat.completion",
  "system_fingerprint": "fp_50a4261de5",
  "usage": {
    "completion_tokens": 200,
    "prompt_tokens": 27,
    "total_tokens": 227
  },
  "prompt_filter_results": [
    {
      "prompt_index": 0,
      "content_filter_results": {
        "hate": {
          "filtered": false,
          "severity": "safe"
        },
        "self_harm": {
          "filtered": false,
          "severity": "safe"
        },
        "sexual": {
          "filtered": false,
          "severity": "safe"
        },
        "violence": {
          "filtered": false,
          "severity": "safe"
        }
      }
    }
  ]
}

Dikkat edilecek diğer noktalar

Yeniden üretilebilir çıkışları kullanmak istediğinizde, sohbet tamamlama çağrıları arasında öğesini aynı tamsayıya ayarlamanız seed gerekir. Ayrıca , max_tokensvb. gibi temperaturediğer parametrelerle de eşleşmeniz gerekir.