Megosztás a következőn keresztül:


Megtudhatja, hogyan használhatja a reprodukálható kimenetet (előzetes verzió)

Alapértelmezés szerint, ha ugyanazt a kérdést teszi fel egy Azure OpenAI-csevegés befejező modelljében, akkor valószínűleg többször is más választ kap. A válaszok ezért nem determinisztikusnak minősülnek. A reprodukálható kimenet egy új előzetes verziójú funkció, amellyel szelektíven módosíthatja az alapértelmezett viselkedést, hogy a termék determinisztikusabb kimeneteket kapjon.

Reprodukálható kimenet támogatása

A reprodukálható kimenet jelenleg csak a következőkkel támogatott:

Támogatott modellek

API-verzió

A reprodukálható kimenet támogatása először az API-verzióban lett hozzáadva 2023-12-01-preview

Példa

Először három választ hozunk létre ugyanarra a kérdésre, hogy bemutassuk a csevegés befejezésére adott válaszokban gyakori variabilitást, még akkor is, ha más paraméterek azonosak:

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

Hozam

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

Figyelje meg, hogy bár minden történetnek lehetnek hasonló elemei és néhány szó szerinti ismétlése, annál tovább folytatódik a válasz, annál inkább eltérnek egymástól.

Most ugyanazt a kódot fogjuk futtatni, mint korábban, de ezúttal feloldjuk a paraméter azon sorának kibontását, amely azt jelzi, hogy 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

Hozam

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

Ha mindhárom kérésünkhöz ugyanazt seed a 42 paramétert használjuk, és az összes többi paraméter változatlan marad, sokkal konzisztensebb eredményeket tudunk elérni.

Fontos

A determinizmus nem garantált reprodukálható kimenettel. Még azokban az esetekben sem ritka, ha a magparaméter system_fingerprint azonos az API-hívásokban, a válaszok bizonyos fokú variabilitását továbbra sem lehet megfigyelni. A nagyobb max_tokens értékekkel rendelkező azonos API-hívások általában kevésbé determinisztikus válaszokat eredményeznek még akkor is, ha a magparaméter be van állítva.

Paraméter részletei

seed nem kötelező paraméter, amely egész számra vagy null értékre állítható be.

Ez a funkció előzetes verzióban érhető el. Ha meg van adva, a rendszerünk mindent megtesz annak érdekében, hogy determinisztikus mintát hozzon létre, így az azonos maggal és paraméterekkel rendelkező ismétlődő kérelmeknek ugyanazt az eredményt kell visszaadnia. A determinizmus nem garantált, és a háttérrendszer változásainak figyeléséhez tekintse meg a system_fingerprint válaszparamétert.

system_fingerprint egy sztring, és a csevegés befejező objektumának része.

Ez az ujjlenyomat azt a háttérkonfigurációt jelöli, amellyel a modell fut.

A magkérelem paraméterrel használható annak megértéséhez, hogy mikor történtek olyan háttérbeli módosítások, amelyek hatással lehetnek a determinizmusra.

A teljes csevegés-befejezési objektum system_fingerprintmegtekintéséhez hozzáadhatja print(response.model_dump_json(indent=2)) az előző Python-kódot a meglévő nyomtatási utasítás mellett, vagy $response | convertto-json -depth 5 a PowerShell-példa végén. Ez a változás az alábbi további információkat eredményezi a kimenetben:

Hozam

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

További szempontok

Ha reprodukálható kimeneteket szeretne használni, ugyanazt az seed egész számot kell beállítania a csevegés befejezésekor. Minden más paraméternek is meg kell egyeznie, például temperature, max_tokensstb.