Başvuru: Sohbet Tamamlamaları | Azure Machine Learning

Verilen sohbet konuşması için bir model yanıtı oluşturur.

POST /chat/completions?api-version=2024-04-01-preview

URI Parametreleri

Veri Akışı Adı İçinde Zorunlu Türü Açıklama
api-sürümü query Doğru Dize API'nin "YYYY-AA-GG" veya "YYYY-AA-GG-önizleme" biçimindeki sürümü.

İstek Başlığı

Veri Akışı Adı Zorunlu Türü Açıklama
ek parametreler Dize Yükte ek parametreler belirtildiğinde API'nin davranışı. kullanarak pass-through api parametresini temel alınan modele geçirir. Temel alınan modelin destekleyebileceğinizi bildiğiniz parametreleri geçirmek istediğinizde bu değeri kullanın. komutunun kullanılması ignore , DESTEKLENMEYEn herhangi bir parametreyi bırakmak için API'yi yapar. Farklı modellerde aynı yükü kullanmanız gerektiğinde bu değeri kullanın, ancak ek parametrelerden biri desteklenmediğinde modelin hata vermesine neden olabilir. kullanmak error , yükteki ek parametreleri reddetmek için API'yi yapar. Yalnızca bu API'de belirtilen parametreler gösterilebilir veya 400 hatası döndürülür.
azureml-model-deployment Dize İsteği yönlendirmek istediğiniz dağıtımın adı. Birden çok dağıtımı destekleyen uç noktalar için desteklenir.

İstek Gövdesi

Veri Akışı Adı Zorunlu Türü Açıklama
iletiler True ChatCompletionRequestMessage Şu ana kadarki konuşmayı içeren iletilerin listesi. model tarafından iletilerden en az bir kısmı anlaşılamıyorsa 422 hatası döndürür.
frequency_penalty Numara Zaten kullanılmış bir sözcüğün seçilme olasılığını azaltarak sözcük yinelemelerini önlemeye yardımcı olur. Sıklık cezası ne kadar yüksek olursa, modelin çıktısında aynı sözcükleri tekrarlama olasılığı o kadar düşüktür. Değer veya parametre model tarafından desteklenmiyorsa 422 hatası döndürür.
max_tokens integer Sohbet tamamlandığında oluşturulabilecek en fazla belirteç sayısı.

Giriş belirteçlerinin ve oluşturulan belirteçlerin toplam uzunluğu modelin bağlam uzunluğuyla sınırlıdır. Null değerinin geçirilmesi, modelin maksimum bağlam uzunluğunu kullanmasına neden olur.
presence_penalty Numara Aynı konuların, yalnızca bir kez bile olsa, tamamlanmada zaten varsa, bir sözcüğün cezasını alarak tekrarlanmasını önlemeye yardımcı olur. Değer veya parametre model tarafından desteklenmiyorsa 422 hatası döndürür.
response_format ChatCompletionResponseFormat
tohum integer Belirtilirse sistemimiz, aynı ve parametrelere sahip yinelenen isteklerin aynı seed 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.
durmak API'nin başka belirteçler üretmeyi durduracağı diziler.
akış boolean Ayarlanırsa kısmi ileti değişimleri gönderilir. Belirteçler, kullanılabilir hale geldikçe yalnızca veri sunucu tarafından gönderilen olaylar olarak gönderilir ve akış bir data: [DONE] ileti tarafından sonlandırılır.
sıcaklık Numara Negatif olmayan sayı. Değer modele göre desteklenmiyorsa 422 döndürür.
tool_choice ChatCompletionToolChoiceOption Model tarafından çağrılan (varsa) işlevi denetler. none modelin bir işlevi çağırmayacağı ve bunun yerine bir ileti oluşturduğu anlamına gelir. auto , modelin ileti oluşturma veya işlev çağırma arasında seçim yapabileceğiniz anlamına gelir. aracılığıyla {"type": "function", "function": {"name": "my_function"}} belirli bir işlevin belirtilmesi, modeli bu işlevi çağırmaya zorlar.

none , hiçbir işlev mevcut olmadığında varsayılan değerdir. auto , işlevler varsa varsayılan değerdir. Araç model tarafından desteklenmiyorsa 422 hatası döndürür.
araçlar ChatCompletionTool[] Modelin çağırabileceği araçların listesi. Şu anda araç olarak yalnızca işlevler desteklenmektedir. Modelin JSON girişleri oluşturabileceği işlevlerin listesini sağlamak için bunu kullanın. Araç model tarafından desteklenmiyorsa 422 hatası döndürür.
top_p Numara Modelin top_p olasılık kütlesine sahip belirteçlerin sonuçlarını dikkate aldığı, çekirdek örneklemesi olarak adlandırılan sıcaklıkla örneklemeye alternatiftir. Bu nedenle 0,1 yalnızca ilk %10 olasılık kütlesinden oluşan belirteçlerin dikkate alınması anlamına gelir.

Genellikle bunu değiştirmenizi öneririz temperature ancak ikisini birden değiştirmemenizi öneririz.

Yanıtlar

Adı Tür Açıklama
200 Tamam CreateChatCompletionResponse Tamam
401 Yetkisiz UnauthorizedError Erişim belirteci eksik veya geçersiz

Üst Bilgiler

x-ms-error-code: dize
404 Bulunamadı NotFoundError Model tarafından desteklenmeyen modalite. Hangi yolların kullanılabilir olduğunu görmek için modelin belgelerine bakın.

Üst Bilgiler

x-ms-error-code: dize
422 İşlenemeyen Varlık UnprocessableContentError İstek işlenemez içerik içeriyor

Üst Bilgiler

x-ms-error-code: dize
429 Çok Fazla İstek Var TooManyRequestsError Atanan hız sınırınıza ulaştınız ve isteğinizin ilerlemesi gerekiyor.

Üst Bilgiler

x-ms-error-code: dize
Diğer Durum Kodları ContentFilterError Hatalı istek

Üst Bilgiler

x-ms-error-code: dize

Güvenlik

Yetkilendirme

Ön eki olan Bearer: belirteç, örneğin. Bearer abcde12345

Tür: apiKey
Içinde: üst bilgi

AADToken

Azure Active Directory OAuth2 kimlik doğrulaması

Tür: oauth2
Akış: uygulama
Belirteç URL'si: https://login.microsoftonline.com/common/oauth2/v2.0/token

Örnekler

Verilen sohbet konuşması için model yanıtı oluşturur

Örnek İstek

POST /chat/completions?api-version=2024-04-01-preview

{
  "messages": [
    {
      "role": "system",
      "content": "You are a helpful assistant"
    },
    {
      "role": "user",
      "content": "Explain Riemann's conjecture"
    },
    {
      "role": "assistant",
      "content": "The Riemann Conjecture is a deep mathematical conjecture around prime numbers and how they can be predicted. It was first published in Riemann's groundbreaking 1859 paper. The conjecture states that the Riemann zeta function has its zeros only at the negative even integers and complex numbers with real part 1/21. Many consider it to be the most important unsolved problem in pure mathematics. The Riemann hypothesis is a way to predict the probability that numbers in a certain range are prime that was also devised by German mathematician Bernhard Riemann in 18594."
    },
    {
      "role": "user",
      "content": "Ist it proved?"
    }
  ],
  "frequency_penalty": 0,
  "presence_penalty": 0,
  "max_tokens": 256,
  "seed": 42,
  "stop": "<|endoftext|>",
  "stream": false,
  "temperature": 0,
  "top_p": 1,
  "response_format": { "type": "text" }
}

Örnek Yanıtı

Durum kodu: 200

{
  "id": "1234567890",
  "model": "llama2-70b-chat",
  "choices": [
    {
      "index": 0,
      "finish_reason": "stop",
      "message": {
        "role": "assistant",
        "content": "No, it has never been proved"
      }
    }
  ],
  "created": 1234567890,
  "object": "chat.completion",
  "usage": {
    "prompt_tokens": 205,
    "completion_tokens": 5,
    "total_tokens": 210
  }
}

Tanımlar

Veri Akışı Adı Açıklama
ChatCompletionRequestMessage
ChatCompletionMessageContentPart
ChatCompletionMessageContentPartType
ChatCompletionToolChoiceOption Model tarafından çağrılan (varsa) işlevi denetler. none modelin bir işlevi çağırmayacağı ve bunun yerine bir ileti oluşturduğu anlamına gelir. auto , modelin ileti oluşturma veya işlev çağırma arasında seçim yapabileceğiniz anlamına gelir. aracılığıyla {"type": "function", "function": {"name": "my_function"}} belirli bir işlevin belirtilmesi, modeli bu işlevi çağırmaya zorlar.

none , hiçbir işlev mevcut olmadığında varsayılan değerdir. auto , işlevler varsa varsayılan değerdir. Araç model tarafından desteklenmiyorsa 422 hatası döndürür.
ChatCompletionFinishReason Modelin belirteç oluşturma işlemini durdurmasının nedeni. Bu, stop model bir doğal durdurma noktasına veya sağlanan bir durdurma dizisine ulaşırsa, length istekte belirtilen en fazla belirteç sayısına ulaşıldıysa, content_filter model araç olarak adlandırılıyorsa içerik filtrelerimizden tool_calls gelen bir bayrak nedeniyle içerik atlandıysa bu durum olacaktır.
ChatCompletionMessageToolCall
ChatCompletionObject Her zaman chat.completionolan nesne türü.
ChatCompletionResponseFormat Model yanıtının yanıt biçimi. ayarı json_object , modelin oluşturduğu iletinin geçerli JSON olduğunu garanti eden JSON modunu etkinleştirir. JSON modunu kullanırken, modele bir sistem veya kullanıcı iletisi aracılığıyla kendiniz JSON üretmesini de belirtmeniz gerekir . Ayrıca, neslin aşıldığını veya konuşmanın maksimum bağlam uzunluğunu aştığını max_tokens gösteren ileti finish_reason="length"içeriğinin kısmen kesilebileceğini unutmayın.
ChatCompletionResponseFormatType Yanıt biçimi türü.
ChatCompletionResponseMessage Model tarafından oluşturulan bir sohbet tamamlama iletisi.
ChatCompletionTool
ChatMessageRole Bu iletinin yazarının rolü.
Choices Sohbet tamamlama seçeneklerinin listesi.
CompletionUsage Tamamlanma isteği için kullanım istatistikleri.
ContentFilterError İstem yapılandırıldığı gibi bir içerik filtresi tetiklediğinde API çağrısı başarısız olur. İstemi değiştirin ve yeniden deneyin.
CreateChatCompletionRequest
CreateChatCompletionResponse Sağlanan girişe göre model tarafından döndürülen sohbet tamamlama yanıtını temsil eder.
Ayrıntı UnprocessableContentError hatasının ayrıntıları.
İşlev Modelin çağırdığını işlev.
FunctionObject Modelin erişimi olan bir işlevin tanımı.
ImageDetail Görüntünün ayrıntı düzeyini belirtir.
NotFoundError Yol, dağıtılan model için geçerli değil.
ToolType Aracın türü. Şu anda yalnızca function desteklenmektedir.
TooManyRequestsError Atanan hız sınırınıza ulaştınız ve isteklerinizin hızlanması gerekiyor.
UnauthorizedError Kimlik doğrulaması eksik veya geçersiz.
UnprocessableContentError İstek işlenemez içerik içeriyor. Belirtilen yük bu belirtime göre geçerli olduğunda hata döndürülür. Ancak, yükte belirtilen yönergelerden bazıları temel alınan model tarafından desteklenmez. Sorunlu parametreyi details anlamak için bölümünü kullanın.

ChatCompletionFinishReason

Modelin belirteç oluşturma işlemini durdurmasının nedeni. Bu, stop model bir doğal durdurma noktasına veya sağlanan bir durdurma dizisine ulaşırsa, length istekte belirtilen en fazla belirteç sayısına ulaşıldıysa, content_filter model araç olarak adlandırılıyorsa içerik filtrelerimizden tool_calls gelen bir bayrak nedeniyle içerik atlandıysa bu durum olacaktır.

Adı Tür Açıklama
content_filter Dize
uzunluk Dize
durmak Dize
tool_calls Dize

ChatCompletionMessageToolCall

Adı Tür Açıklama
function İşlev Modelin çağırdığını işlev.
Kimlik dize Araç çağrısının kimliği.
Tür ToolType Aracın türü. Şu anda yalnızca function desteklenmektedir.

ChatCompletionObject

Her zaman chat.completionolan nesne türü.

Adı Tür Açıklama
chat.completion Dize

ChatCompletionResponseFormat

Model yanıtının yanıt biçimi. ayarı json_object , modelin oluşturduğu iletinin geçerli JSON olduğunu garanti eden JSON modunu etkinleştirir. JSON modunu kullanırken, modele bir sistem veya kullanıcı iletisi aracılığıyla kendiniz JSON üretmesini de belirtmeniz gerekir . Ayrıca, neslin aşıldığını veya konuşmanın maksimum bağlam uzunluğunu aştığını max_tokens gösteren ileti finish_reason="length"içeriğinin kısmen kesilebileceğini unutmayın.

Adı Tür Açıklama
Tür ChatCompletionResponseFormatType Yanıt biçimi türü.

ChatCompletionResponseFormatType

Yanıt biçimi türü.

Adı Tür Açıklama
json_object Dize
text Dize

ChatCompletionResponseMessage

Model tarafından oluşturulan bir sohbet tamamlama iletisi.

Adı Tür Açıklama
content Dize İletinin içeriği.
rol ChatMessageRole Bu iletinin yazarının rolü.
tool_calls ChatCompletionMessageToolCall[] Araç, işlev çağrıları gibi model tarafından oluşturulan çağrılar.

ChatCompletionTool

Adı Tür Açıklama
function FunctionObject
Tür ToolType Aracın türü. Şu anda yalnızca function desteklenmektedir.

ChatMessageRole

Bu iletinin yazarının rolü.

Adı Tür Açıklama
asistan Dize
sistem Dize
alet Dize
kullanıcı Dize

Seçenekler

Sohbet tamamlama seçeneklerinin listesi. 1'den büyükse n birden fazla olabilir.

Adı Tür Açıklama
finish_reason ChatCompletionFinishReason Modelin belirteç oluşturma işlemini durdurmasının nedeni. Bu, stop model bir doğal durdurma noktasına veya sağlanan bir durdurma dizisine ulaşırsa, length istekte belirtilen en fazla belirteç sayısına ulaşıldıysa, content_filter model araç olarak adlandırılıyorsa içerik filtrelerimizden tool_calls gelen bir bayrak nedeniyle içerik atlandıysa bu durum olacaktır.
dizin integer Seçim listesindeki tercihin dizini.
ileti ChatCompletionResponseMessage Model tarafından oluşturulan bir sohbet tamamlama iletisi.

CompletionUsage

Tamamlanma isteği için kullanım istatistikleri.

Adı Tür Açıklama
completion_tokens integer Oluşturulan tamamlamadaki belirteçlerin sayısı.
prompt_tokens integer İstemdeki belirteç sayısı.
total_tokens integer İstekte kullanılan toplam belirteç sayısı (istem + tamamlama).

ContentFilterError

İstem yapılandırıldığı gibi bir içerik filtresi tetiklediğinde API çağrısı başarısız olur. İstemi değiştirin ve yeniden deneyin.

Adı Tür Açıklama
kod Dize Hata kodu.
hata Dize Hata açıklaması.
ileti Dize Hata iletisi.
param Dize İçerik filtresini tetikleyen parametre.
durum integer HTTP durum kodu.

CreateChatCompletionRequest

Adı Türü Varsayılan Değer Açıklama
frequency_penalty Numara 0 Zaten kullanılmış bir sözcüğün seçilme olasılığını azaltarak sözcük yinelemelerini önlemeye yardımcı olur. Sıklık cezası ne kadar yüksek olursa, modelin çıktısında aynı sözcükleri tekrarlama olasılığı o kadar düşüktür. Değer veya parametre model tarafından desteklenmiyorsa 422 hatası döndürür.
max_tokens integer Sohbet tamamlandığında oluşturulabilecek en fazla belirteç sayısı.

Giriş belirteçlerinin ve oluşturulan belirteçlerin toplam uzunluğu modelin bağlam uzunluğuyla sınırlıdır. Null değerinin geçirilmesi, modelin maksimum bağlam uzunluğunu kullanmasına neden olur.
iletiler ChatCompletionRequestMessage[] Şu ana kadarki konuşmayı içeren iletilerin listesi. model tarafından iletilerden en az bir kısmı anlaşılamıyorsa 422 hatası döndürür.
presence_penalty Numara 0 Aynı konuların, yalnızca bir kez bile olsa, tamamlanmada zaten varsa, bir sözcüğün cezasını alarak tekrarlanmasını önlemeye yardımcı olur. Değer veya parametre model tarafından desteklenmiyorsa 422 hatası döndürür.
response_format ChatCompletionResponseFormat text
tohum integer Belirtilirse sistemimiz, aynı ve parametrelere sahip yinelenen isteklerin aynı seed 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.
durmak API'nin başka belirteçler üretmeyi durduracağı diziler.
akış boolean False Ayarlanırsa kısmi ileti değişimleri gönderilir. Belirteçler, kullanılabilir hale geldikçe yalnızca veri sunucu tarafından gönderilen olaylar olarak gönderilir ve akış bir data: [DONE] ileti tarafından sonlandırılır.
sıcaklık Numara 1 Negatif olmayan sayı. Değer modele göre desteklenmiyorsa 422 döndürür.
tool_choice ChatCompletionToolChoiceOption Model tarafından çağrılan (varsa) işlevi denetler. none modelin bir işlevi çağırmayacağı ve bunun yerine bir ileti oluşturduğu anlamına gelir. auto , modelin ileti oluşturma veya işlev çağırma arasında seçim yapabileceğiniz anlamına gelir. aracılığıyla {"type": "function", "function": {"name": "my_function"}} belirli bir işlevin belirtilmesi, modeli bu işlevi çağırmaya zorlar.

none , hiçbir işlev mevcut olmadığında varsayılan değerdir. auto , işlevler varsa varsayılan değerdir. Araç model tarafından desteklenmiyorsa 422 hatası döndürür.
araçlar ChatCompletionTool[] Modelin çağırabileceği araçların listesi. Şu anda araç olarak yalnızca işlevler desteklenmektedir. Modelin JSON girişleri oluşturabileceği işlevlerin listesini sağlamak için bunu kullanın. Araç model tarafından desteklenmiyorsa 422 hatası döndürür.
top_p Numara 1 Modelin top_p olasılık kütlesine sahip belirteçlerin sonuçlarını dikkate aldığı, çekirdek örneklemesi olarak adlandırılan sıcaklıkla örneklemeye alternatiftir. Bu nedenle 0,1 yalnızca ilk %10 olasılık kütlesinden oluşan belirteçlerin dikkate alınması anlamına gelir.

Genellikle bunu değiştirmenizi öneririz temperature ancak ikisini birden değiştirmemenizi öneririz.

ChatCompletionRequestMessage

Adı Tür Açıklama
content string veya ChatCompletionMessageContentPart[] İletinin içeriği.
rol ChatMessageRole Bu iletinin yazarının rolü.
tool_calls ChatCompletionMessageToolCall[] Araç, işlev çağrıları gibi model tarafından oluşturulan çağrılar.

ChatCompletionMessageContentPart

Adı Tür Açıklama
content Dize Görüntünün URL'si veya base64 kodlanmış görüntü verileri.
ayrıntı ImageDetail Görüntünün ayrıntı düzeyini belirtir.
Tür ChatCompletionMessageContentPartType İçerik bölümünün türü.

ChatCompletionMessageContentPartType

Adı Tür Açıklama
text Dize
görüntü Dize
image_url Dize

ChatCompletionToolChoiceOption

Model tarafından çağrılan aracı (varsa) denetler.

Adı Tür Açıklama
yok Dize Model herhangi bir aracı çağırmaz ve bunun yerine bir ileti oluşturur.
auto Dize Model, ileti oluşturma veya bir veya daha fazla araç çağırma arasında seçim yapabilir.
gerekli Dize Modelin bir veya daha fazla araç çağırması gerekir.
Dize aracılığıyla {"type": "function", "function": {"name": "my_function"}} belirli bir aracın belirtilmesi, modeli söz konusu aracı çağırmaya zorlar.

ImageDetail

Görüntünün ayrıntı düzeyini belirtir.

Adı Tür Açıklama
auto Dize
Iowa Dize
yüksek Dize

CreateChatCompletionResponse

Sağlanan girişe göre model tarafından döndürülen sohbet tamamlama yanıtını temsil eder.

Adı Tür Açıklama
Seçenek Seçenekler[] Sohbet tamamlama seçeneklerinin listesi. 1'den büyükse n birden fazla olabilir.
oluşturulan integer Sohbet tamamlamanın oluşturulduğu Unix zaman damgası (saniye olarak).
Kimlik dize Sohbetin tamamlanması için benzersiz bir tanımlayıcı.
model Dize Sohbetin tamamlanması için kullanılan model.
nesne ChatCompletionObject Her zaman chat.completionolan nesne türü.
system_fingerprint Dize 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 istek parametresiyle seed birlikte kullanılabilir.
kullanım CompletionUsage Tamamlanma isteği için kullanım istatistikleri.

Ayrıntı

UnprocessableContentError hatasının ayrıntıları.

Adı Tür Açıklama
loc string[] Soruna neden olan parametre
değer Dize Parametreye geçirilen değer sorunlara neden oluyor.

İşlev

Modelin çağırdığını işlev.

Adı Tür Açıklama
Bağımsız değişken Dize JSON biçiminde model tarafından oluşturulan işlevi çağırmak için bağımsız değişkenler. Modelin her zaman geçerli JSON oluşturmadığını ve işlev şemanız tarafından tanımlanmayan yanlış parametreler oluşturabileceğini unutmayın. İşlevinizi çağırmadan önce kodunuzdaki bağımsız değişkenleri doğrulayın.
Adı Dize Çağrılacak işlevin adı.

FunctionObject

Modelin erişimi olan bir işlevin tanımı.

Adı Tür Açıklama
açıklama Dize İşlevin ne zaman ve nasıl çağrıldığını seçmek için model tarafından kullanılan işlevin ne yaptığının açıklaması.
Adı Dize Çağrılacak işlevin adı. En fazla uzunluğu 64 olan a-z, A-Z, 0-9 veya alt çizgi ve kısa çizgi içermelidir.
parametreler nesne İşlevlerin kabullediği, JSON Şeması nesnesi olarak tanımlanan parametreler. Atlama parameters , boş parametre listesi olan bir işlevi tanımlar.

NotFoundError

Adı Tür Açıklama
hata Dize Hata açıklaması.
ileti Dize Hata iletisi.
durum integer HTTP durum kodu.

ToolType

Aracın türü. Şu anda yalnızca function desteklenmektedir.

Adı Tür Açıklama
function Dize

TooManyRequestsError

Adı Tür Açıklama
hata Dize Hata açıklaması.
ileti Dize Hata iletisi.
durum integer HTTP durum kodu.

UnauthorizedError

Adı Tür Açıklama
hata Dize Hata açıklaması.
ileti Dize Hata iletisi.
durum integer HTTP durum kodu.

UnprocessableContentError

İstek işlenemez içerik içeriyor. Belirtilen yük bu belirtime göre geçerli olduğunda hata döndürülür. Ancak, yükte belirtilen yönergelerden bazıları temel alınan model tarafından desteklenmez. Sorunlu parametreyi details anlamak için bölümünü kullanın.

Adı Tür Açıklama
kod Dize Hata kodu.
ayrıntı Ayrıntı
hata Dize Hata açıklaması.
ileti Dize Hata iletisi.
durum integer HTTP durum kodu.