Aracılığıyla paylaş


Temel model REST API başvurusu

Bu makalede Databricks Foundation Model API'leri ve destekledikleri modeller için genel API bilgileri sağlanır. Temel Model API'leri, mevcut projelerin geçirilmesini kolaylaştırmak için OpenAI'nin REST API'sine benzer şekilde tasarlanmıştır. Hem belirteç başına ödeme hem de sağlanan aktarım hızı uç noktaları aynı REST API istek biçimini kabul eder.

Bitiş noktası

Her belirteç başına ödeme modelinin tek bir uç noktası vardır ve kullanıcılar HTTP POST isteklerini kullanarak bu uç noktalarla etkileşimde bulunabilir. Sağlanan aktarım hızı uç noktaları API veya Sunum Kullanıcı Arabirimi kullanılarak oluşturulabilir. Bu uç noktalar, sunulan her iki model de aynı API biçimini kullanıma sunulduğu sürece A/B testi için uç nokta başına birden çok modeli de destekler. Örneğin, her iki model de sohbet modelleridir.

İstekler ve yanıtlar JSON kullanır; tam JSON yapısı bir uç noktanın görev türüne bağlıdır. Sohbet ve tamamlama uç noktaları akış yanıtlarını destekler.

Belirteç başına ödeme iş yükleri belirli modelleri destekler. Bkz . Bu modeller ve kabul edilen API biçimleri için belirteç başına ödeme için desteklenen modeller.

Kullanım

Yanıtlar, istek ve yanıttaki belirteç sayısını bildiren bir usage alt ileti içerir. Bu alt iletinin biçimi tüm görev türlerinde aynıdır.

Alan Tür Açıklama
completion_tokens Tamsayı Oluşturulan belirteçlerin sayısı. Yanıtları eklemeye dahil değildir.
prompt_tokens Tamsayı Giriş istemlerinden belirteç sayısı.
total_tokens Tamsayı Toplam belirteç sayısı.

Kullanıcı istemi gibi llama-2-70b-chat modeller modele geçirilmeden önce bir istem şablonu kullanılarak dönüştürülür. Belirteç başına ödeme uç noktaları için bir sistem istemi de eklenebilir. prompt_tokens sunucumuz tarafından eklenen tüm metinleri içerir.

Sohbet görevi

Sohbet görevleri, bir modelle çok aşamalı konuşmalar için iyileştirilmiştir. Her istek, messages şu ana kadarki konuşmayı açıklar ve alanın bir user iletiyle biten ve assistant roller arasında user geçiş yapması gerekir. Model yanıtı konuşmada bir sonraki assistant iletiyi sağlar.

Sohbet isteği

Alan Varsayılan Type Açıklama
messages ChatMessage listesi Gerekli. Geçerli konuşmayı temsil eden iletilerin listesi.
max_tokens null null, herhangi bir sınır veya sıfırdan büyük bir tamsayı anlamına gelir Oluşturulacak en fazla belirteç sayısı.
stream true Boolean İstekler için kısmi sonuçlara izin vermek için yanıtları bir istemciye geri akışla aktar. Bu parametre isteğe dahil edilirse, yanıtlar Sunucu tarafından gönderilen olaylar standardı kullanılarak gönderilir.
temperature 1.0 Float in [0,2] Örnekleme sıcaklığı. 0, belirlenimcidir ve daha yüksek değerler daha fazla rastgelelik sağlar.
top_p 1.0 Float in (0,1] Çekirdek örneklemesi için kullanılan olasılık eşiği.
top_k null null, herhangi bir sınır veya sıfırdan büyük bir tamsayı anlamına gelir Üst k filtreleme için kullanılacak en olası k belirteç sayısını tanımlar. Çıkışları belirleyici hale getirmek için bu değeri 1 olarak ayarlayın.
stop [] Dize veya Liste[Dize] içindeki dizilerden stop herhangi biriyle karşılaşıldığında model daha fazla belirteç üretmeyi durdurur.
n 1 Sıfırdan büyük tamsayı BELIRTILDIĞInde n API bağımsız sohbet tamamlamaları döndürürn. Ek çıkarım verimliliği ve maliyet tasarrufu için aynı girişte birden çok tamamlama oluşturan iş yükleri için önerilir. Yalnızca sağlanan aktarım hızı uç noktaları için kullanılabilir.
tool_choice none Dize veya ToolChoiceObject Yalnızca alanıyla tools birlikte kullanılır. tool_choice, requiredve nonegibi autoçeşitli anahtar sözcük dizelerini destekler. auto , hangi aracın (varsa) kullanılacağına modelin karar vermesine izin verdiğiniz anlamına gelir. auto Modelin içindeki araçlardan tools hiçbirinin uygun olmadığına inanmaması durumunda model, araç çağrısı yerine standart bir yardımcı iletisi oluşturur. required modelin içindeki tools en uygun aracı seçtiği ve bir araç çağrısı oluşturması gerektiği anlamına gelir. none modelin herhangi bir araç çağrısı oluşturmadığı ve bunun yerine standart bir yardımcı iletisi oluşturması gerektiği anlamına gelir. içinde tanımlanan toolsbelirli bir araçla araç çağrısını zorlamak için ToolChoiceObject kullanın. Varsayılan olarak, alanı doldurulmuşsa tools tool_choice = "auto". Aksi halde tools , alan varsayılan olarak tool_choice = "none"
tools null ToolObject Modelin tools çağırabileceği bir liste. function Şu anda desteklenen tool tek türdür ve en fazla 32 işlev desteklenir.
response_format null ResponseFormatObject Modelin çıkış yapması gereken biçimi belirten bir nesne. Kabul edilen türler veya json_schema şeklindedir textjson_object

ayarı { "type": "json_schema", "json_schema": {...} } , modelin sağlanan JSON şemanıza uymasını sağlayan yapılandırılmış çıkışları etkinleştirir.

Modelin oluşturduğu yanıtların geçerli bir JSON olduğundan emin olmak için { "type": "json_object" } ayarı ayarlanır, ancak yanıtların belirli bir şemayı izlemesini sağlamaz.
logprobs false Boolean Bu parametre, örneklenen bir belirtecin günlük olasılığının sağlanıp sağlanmayacağını gösterir.
top_logprobs null Tamsayı Bu parametre, her örnekleme adımında günlük olasılıklarını döndürme olasılığı en yüksek belirteç adaylarının sayısını denetler. 0-20 olabilir. logprobs bu alanı kullanıyorsanız olmalıdır true .

ChatMessage

Alan Tür Veri Akışı Açıklaması
role String Gerekli. İletinin yazarının rolü. , "user""assistant" veya "tool"olabilir"system".
content String İletinin içeriği. Araç çağrıları içermeyen sohbet görevleri için gereklidir .
tool_calls ToolCall listesi Modelin tool_calls oluşturduğu liste. role Alanı için content olarak "assistant" ve belirtim içermemelidir.
tool_call_id String olduğunda role "tool", iletinin ToolCall yanıt verdiği kimlikle ilişkilendirilmiş kimliktir. Diğer role seçenekler için boş olmalıdır.

Rol system , konuşmadaki ilk ileti olarak yalnızca bir kez kullanılabilir. Modelin varsayılan sistem istemini geçersiz kılar.

ToolCall

Model tarafından bir araç çağrısı eylem önerisi. Bkz. Azure Databricks'te işlev çağrısı.

Alan Tür Veri Akışı Açıklaması
id String Gerekli. Bu araç çağrısı önerisi için benzersiz bir tanımlayıcı.
type String Gerekli. Yalnızca "function" desteklenir.
function FunctionCallCompletion Gerekli. Model tarafından önerilen bir işlev çağrısı.

FunctionCallCompletion

Alan Tür Veri Akışı Açıklaması
name String Gerekli. Modelin önerdiği işlevin adı.
arguments Object Gerekli. İşleve serileştirilmiş JSON sözlüğü olarak bağımsız değişkenler.

ToolChoiceObject

Bkz. Azure Databricks'te işlev çağrısı.

Alan Tür Veri Akışı Açıklaması
type String Gerekli. Aracın türü. Şu anda yalnızca "function" desteklenmektedir.
function Object Gerekli. Formda {"type": "function", "function": {"name": "my_function"}} hangi aracın çağrılacağı, burada "my_function alandaki functionObject'in tools adı olan bir nesne.

ToolObject

Bkz. Azure Databricks'te işlev çağrısı.

Alan Tür Veri Akışı Açıklaması
type String Gerekli. Aracın türü. Şu anda yalnızca function desteklenmektedir.
function FunctionObject Gerekli. Araçla ilişkili işlev tanımı.

FunctionObject

Alan Tür Veri Akışı Açıklaması
name String Gerekli. Çağrılacak işlevin adı.
description Object Gerekli. İşlevin ayrıntılı açıklaması. Model, işlevin istemle olan ilişkisini anlamak ve daha yüksek doğrulukla araç çağrıları oluşturmak için bu açıklamayı kullanır.
parameters Object İşlevin kabullediği, geçerli bir JSON şema nesnesi olarak tanımlanan parametreler. Araç çağrılırsa, araç çağrısı sağlanan JSON şemasına uygundur. Parametrelerin atlanması, parametre içermeyen bir işlevi tanımlar. Sayısı properties 15 anahtarla sınırlıdır.
strict Boolean İşlev çağrısı oluşturulurken sıkı şemaya bağlı kalınmasının etkinleştirilip etkinleştirilmeyileceği. olarak ayarlanırsa true, model şema alanında tanımlanan tam şemayı izler. Katı olduğunda JSON şemasının yalnızca bir alt kümesi desteklenir true

ResponseFormatObject

Bkz. Azure Databricks'te yapılandırılmış çıkışlar.

Alan Tür Veri Akışı Açıklaması
type String Gerekli. Tanımlanan yanıt biçiminin türü. text Yapılandırılmamış metinler, json_object yapılandırılmamış JSON nesneleri veya json_schema belirli bir şemaya bağlı JSON nesneleri için.
json_schema JsonSchemaObject Gerekli. JSON şemasına bağlı kalınacak eğer olarak ayarlanırsa typejson_schema

JsonSchemaObject

Bkz. Azure Databricks'te yapılandırılmış çıkışlar.

Alan Tür Veri Akışı Açıklaması
name String Gerekli. Yanıt biçiminin adı.
description String Yanıt biçiminin ne için olduğuna ilişkin bir açıklama, model tarafından biçimde nasıl yanıt verileceğini belirlemek için kullanılır.
schema Object Gerekli. JSON şema nesnesi olarak tanımlanan yanıt biçimi şeması.
strict Boolean Çıktı oluşturulurken sıkı şemaya bağlı kalınmasının etkinleştirilip etkinleştirilmeyileceği. olarak ayarlanırsa true, model şema alanında tanımlanan tam şemayı izler. Katı olduğunda JSON şemasının yalnızca bir alt kümesi desteklenir true

Sohbet yanıtı

Akışsız istekler için yanıt tek bir sohbet tamamlama nesnesidir. Akış istekleri için yanıt, her olayın bir text/event-stream tamamlama öbek nesnesi olduğu bir yanıttır. Tamamlama ve öbek nesnelerinin üst düzey yapısı neredeyse aynıdır: yalnızca choices farklı bir türe sahiptir.

Alan Tür Veri Akışı Açıklaması
id String Sohbetin tamamlanması için benzersiz tanımlayıcı.
choices List[ChatCompletionChoice] veya List[ChatCompletionChunk] (akış) Sohbet tamamlama metinlerinin listesi. n parametresi belirtilirse n seçenekler döndürülür.
object String Nesne türü. "chat.completions" Akış dışı veya "chat.completion.chunk" akış için eşittir.
created Tamsayı Sohbet tamamlama işleminin saniyeler içinde oluşturulduğu zaman.
model String Yanıtı oluşturmak için kullanılan model sürümü.
usage Kullanım Belirteç kullanımı meta verileri. Akış yanıtlarında mevcut olmayabilir.

ChatCompletionChoice

Alan Tür Açıklama
index Tamsayı Oluşturulan seçimler listesinde tercih edilen dizin.
message ChatMessage Model tarafından döndürülen bir sohbet tamamlama iletisi. Rol olacaktır assistant.
finish_reason String Modelin belirteç oluşturma işlemini durdurmasının nedeni.

ChatCompletionChunk

Alan Tür Açıklama
index Tamsayı Oluşturulan seçimler listesinde tercih edilen dizin.
delta ChatMessage Modelden oluşturulan akışlı yanıtların bir parçası olan sohbet tamamlama iletisi. Yalnızca ilk öbeğin doldurulacak şekilde role garanti edilir.
finish_reason String Modelin belirteç oluşturma işlemini durdurmasının nedeni. Yalnızca son öbekte bu doldurulur.

Tamamlama görevi

Metin tamamlama görevleri, tek bir istem için yanıt oluşturmaya yöneliktir. Sohbet'in aksine, bu görev toplu girişleri destekler: tek bir istekte birden çok bağımsız istem gönderilebilir.

Tamamlama isteği

Alan Varsayılan Type Açıklama
prompt Dize veya Liste[Dize] Gerekli. Modelin istemleri.
max_tokens null null, herhangi bir sınır veya sıfırdan büyük bir tamsayı anlamına gelir Oluşturulacak en fazla belirteç sayısı.
stream true Boolean İstekler için kısmi sonuçlara izin vermek için yanıtları bir istemciye geri akışla aktar. Bu parametre isteğe dahil edilirse, yanıtlar Sunucu tarafından gönderilen olaylar standardı kullanılarak gönderilir.
temperature 1.0 Float in [0,2] Örnekleme sıcaklığı. 0, belirlenimcidir ve daha yüksek değerler daha fazla rastgelelik sağlar.
top_p 1.0 Float in (0,1] Çekirdek örneklemesi için kullanılan olasılık eşiği.
top_k null null, herhangi bir sınır veya sıfırdan büyük bir tamsayı anlamına gelir Üst k filtreleme için kullanılacak en olası k belirteç sayısını tanımlar. Çıkışları belirleyici hale getirmek için bu değeri 1 olarak ayarlayın.
error_behavior "error" "truncate" veya "error" Zaman aşımları ve bağlam uzunluğu aşıldı hataları için. Bunlardan biri: "truncate" (mümkün olduğunca çok belirteç döndür) ve "error" (hata döndür). Bu parametre yalnızca belirteç uç noktaları başına ödeme tarafından kabul edilir.
n 1 Sıfırdan büyük tamsayı BELIRTILDIĞInde n API bağımsız sohbet tamamlamaları döndürürn. Ek çıkarım verimliliği ve maliyet tasarrufu için aynı girişte birden çok tamamlama oluşturan iş yükleri için önerilir. Yalnızca sağlanan aktarım hızı uç noktaları için kullanılabilir.
stop [] Dize veya Liste[Dize] içindeki dizilerden stop herhangi biriyle karşılaşıldığında model daha fazla belirteç üretmeyi durdurur.
suffix "" String Her tamamlamanın sonuna eklenen bir dize.
echo false Boolean tamamlama ile birlikte istem döndürür.
use_raw_prompt false Boolean ise true, öğesini herhangi bir dönüştürme olmadan doğrudan modele geçirin prompt .

Tamamlama yanıtı

Alan Tür Veri Akışı Açıklaması
id String Metin tamamlama için benzersiz tanımlayıcı.
choices CompletionChoice Metin tamamlamalarının listesi. Geçirilen her istem için, n belirtilirse n seçenekler oluşturulur. Varsayılan n değer 1'dir.
object String Nesne türü. Eşittir "text_completion"
created Tamsayı Tamamlanmanın saniyeler içinde oluşturulduğu zaman.
usage Kullanım Belirteç kullanımı meta verileri.

CompletionChoice

Alan Tür Açıklama
index Tamsayı İstekteki istemin dizini.
text String Oluşturulan tamamlama.
finish_reason String Modelin belirteç oluşturma işlemini durdurmasının nedeni.

Ekleme görevi

Ekleme görevleri giriş dizelerini ekleme vektörlerine eşler. Her istekte birçok giriş birlikte toplu işlenebilir.

Ekleme isteği

Alan Tür Açıklama
input Dize veya Liste[Dize] Gerekli. Eklenmek için giriş metni. Dize veya dize listesi olabilir.
instruction String Ekleme modeline geçirmek için isteğe bağlı bir yönerge.

Yönergeler isteğe bağlıdır ve modele özeldir. Örneğin BGE yazarları öbekleri dizine eklerken yönerge önermez ve alma sorguları için yönergenin "Represent this sentence for searching relevant passages:" kullanılmasını önerir. Instructor-XL gibi diğer modeller çok çeşitli yönerge dizelerini destekler.

Eklemeler yanıtı

Alan Tür Veri Akışı Açıklaması
id String Ekleme için benzersiz tanımlayıcı.
object String Nesne türü. eşittir "list".
model String Eklemeyi oluşturmak için kullanılan ekleme modelinin adı.
data EmbeddingObject Ekleme nesnesi.
usage Kullanım Belirteç kullanımı meta verileri.

EmbeddingObject

Alan Tür Veri Akışı Açıklaması
object String Nesne türü. eşittir "embedding".
index Tamsayı Eklemenin, model tarafından oluşturulan eklemeler listesindeki dizini.
embedding Liste[Kayan] Ekleme vektör. Her model sabit boyutlu vektör döndürür (BGE-Large için 1024)

Ek kaynaklar