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 , required ve none gibi 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 tools belirli 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 text json_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 type json_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) |