Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Önemli
- Foundry Local önizleme aşamasındadır. Genel önizleme sürümleri, etkin dağıtımdaki özelliklere erken erişim sağlar.
- Özellikler, yaklaşımlar ve işlemler, Genel Kullanılabilirlik (GA) öncesinde değişebilir veya sınırlı özelliklere sahip olabilir.
Dikkat
Bu API, DökümHane Yerel CLI'sında bulunan REST API'yi ifade eder. Bu API etkin geliştirme aşamasındadır ve bildirimde bulunmaksızın önemli değişiklikler içerebilir. Üretim uygulamaları oluşturmadan önce değişiklik günlüğü izlemenizi kesinlikle öneririz.
POST /v1/sohbet/tamamlamalar
Bu uç nokta, sohbet tamamlama isteklerini işler.
OpenAI Sohbet Tamamlamaları API'siyle tamamen uyumludur.
İstek Gövdesi:
---Standard OpenAI Özellikleri---
-
model(dize)
Tamamlamayı sağlamak için kullanılacak belirli model. -
messages(dizi)
İleti listesi olarak konuşma geçmişi.- Her ileti şunları gerektirir:
-
role(dize)
İletiyi gönderenin rolü. Şu olmalıdır:system,userveyaassistant. -
content(dize)
Gerçek ileti metni.
-
- Her ileti şunları gerektirir:
-
temperature(sayı, isteğe bağlı)
0 ile 2 arasında değişen rastgeleliği denetler. Daha yüksek değerler (0,8) çeşitli çıkışlar oluştururken, daha düşük değerler (0,2) odaklanmış ve tutarlı çıkışlar oluşturur. -
top_p(sayı, isteğe bağlı)
Belirteç seçimi çeşitliliğini 0'dan 1'e kadar denetler. 0,1 değeri yalnızca ilk 10% olasılığındaki belirteçlerin dikkate alınıyor olduğu anlamına gelir. -
n(tamsayı, isteğe bağlı)
Her giriş iletisi için oluşturulacak alternatif tamamlama sayısı. -
stream(boole, isteğe bağlı)
Gerçek olduğunda, kısmi mesaj yanıtlarınıdata: [DONE]mesajı ile biten, sunucu tarafından gönderilen olaylar olarak gönderir. -
stop(dize veya dizi, isteğe bağlı)
Modelin daha fazla belirteç üretmeyi durdurmasına neden olacak en fazla 4 dizi. -
max_tokens(tamsayı, isteğe bağlı)
Oluşturulacak maksimum jeton sayısı. Yeni modeller içinmax_completion_tokenskullanın. -
max_completion_tokens(tamsayı, isteğe bağlı)
Görünür çıkış ve muhakeme belirteçleri dahil olmak üzere modelin oluşturabileceği en fazla belirteç sayısı. -
presence_penalty(sayı, isteğe bağlı)
-2,0 ile 2,0 arasındaki değer. Pozitif değerler, zaten görünen belirteçleri cezalandırarak modelin yeni konuları tartışmasına katkıda bulunur. -
frequency_penalty(sayı, isteğe bağlı)
-2,0 ile 2,0 arasındaki değer. Pozitif değerler, metindeki sıklıklarına göre belirteçleri cezalandırarak yinelemeyi caydırır. -
logit_bias(harita, isteğe bağlı)
Tamamlanmada belirli belirteçlerin görünme olasılığını ayarlar. -
user(dize, isteğe bağlı)
İzleme ve kötüye kullanımı önlemeye yardımcı olan son kullanıcınız için benzersiz bir tanımlayıcı. -
functions(dizi, isteğe bağlı)
Modelin JSON girişleri oluşturabileceği kullanılabilir işlevler.- Her işlev şunları içermelidir:
-
name(dize)
İşlev adı. -
description(dize)
İşlev açıklaması. -
parameters(nesne)
JSON Şeması nesnesi olarak tanımlanan işlev parametreleri.
-
- Her işlev şunları içermelidir:
-
function_call(dize veya nesne, isteğe bağlı)
Modelin işlev çağrılarına nasıl yanıt vereceğini denetler.- Nesne ise şunları içerebilir:
-
name(dize, isteğe bağlı)
Çağrılacak işlevin adı. -
arguments(nesne, isteğe bağlı)
Fonksiyona iletilecek argümanlar.
-
- Nesne ise şunları içerebilir:
-
metadata(nesne, isteğe bağlı)
Meta veri anahtar-değer çiftlerinin sözlüğü. -
top_k(sayı, isteğe bağlı)
En yüksek k filtreleme için tutulacak en yüksek olasılıklı kelime belirteçlerinin sayısı. -
random_seed(tamsayı, isteğe bağlı)
Yeniden üretilebilir rastgele sayı oluşturma için tohum. -
ep(dize, isteğe bağlı)
ONNX modeller için sağlayıcıyı değiştirin. Destekler:"dml","cuda","qnn","cpu","webgpu". -
ttl(tamsayı, isteğe bağlı)
Bellekteki modelin saniye cinsinden yaşam süresi. -
tools(nesne, isteğe bağlı)
İstek için hesaplanan araçlar.
Yanıt gövdesi:
-
id(dize)
Sohbetin tamamlanması için benzersiz tanımlayıcı. -
object(dize)
Nesne türü, her zaman"chat.completion". -
created(tamsayı)
Epoch saniyelerinde oluşturma zaman damgası. -
model(dize)
Tamamlanmak için kullanılan model. -
choices(dizi)
Her biri şunları içeren tamamlama seçeneklerinin listesi:-
index(tamsayı)
Bu seçeneğin dizini. -
message(nesne)
Aşağıdakilerle oluşturulan ileti:-
role(dize)
Yanıtlar için her zaman"assistant". -
content(dize)
Oluşturulan gerçek metin.
-
-
finish_reason(dize)
Oluşturma neden durduruldu (örneğin,"stop","length","function_call").
-
-
usage(nesne)
Belirteç kullanımı istatistikleri:-
prompt_tokens(tamsayı)
İstemdeki belirteçler. -
completion_tokens(tamsayı)
Tamamlanmadaki belirteçler. -
total_tokens(tamsayı)
Kullanılan toplam belirteç sayısı.
-
Example:
İstek içeriği
{
"model": "qwen2.5-0.5b-instruct-generic-cpu",
"messages": [
{
"role": "user",
"content": "Hello, how are you?"
}
],
"temperature": 0.7,
"top_p": 1,
"n": 1,
"stream": false,
"stop": null,
"max_tokens": 100,
"presence_penalty": 0,
"frequency_penalty": 0,
"logit_bias": {},
"user": "user_id_123",
"functions": [],
"function_call": null,
"metadata": {}
}
Yanıt gövdesi
{
"id": "chatcmpl-1234567890",
"object": "chat.completion",
"created": 1677851234,
"model": "qwen2.5-0.5b-instruct-generic-cpu",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "I'm doing well, thank you! How can I assist you today?"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 10,
"completion_tokens": 20,
"total_tokens": 30
}
}
GET /openai/status
Sunucu durum bilgilerini alın.
Yanıt gövdesi:
-
Endpoints(dize dizisi)
HTTP sunucusu bağlama uç noktaları. -
ModelDirPath(dize)
Yerel modellerin depolandığı dizin. -
PipeName(dize)
Geçerli NamedPipe sunucu ismi.
Example:
Yanıt gövdesi
{
"Endpoints": ["http://localhost:5272"],
"ModelDirPath": "/path/to/models",
"PipeName": "inference_agent"
}
GET /foundry/list
Katalogdaki kullanılabilir Foundry Yerel modellerinin listesini alın.
Yanıt:
-
models(dizi)
Model nesneleri dizisi. Her model şunları içerir:-
name: Modelin benzersiz tanımlayıcısı. -
displayName: Model için insanlar tarafından okunabilir bir ad, genellikle isimle aynıdır. -
providerType: Modeli barındıran sağlayıcı türü (örneğin, AzureFoundry). -
uri: Modelin kayıt defterindeki konumuna işaret eden kaynak URI'si. -
version: Modelin sürüm numarası. -
modelType: Modelin biçimi veya türü (örneğin, ONNX). -
promptTemplate:-
assistant: Yardımcının yanıtı için şablon. -
prompt: Kullanıcı yardımcısı etkileşimi için şablon.
-
-
publisher: Modeli yayımlayan varlık veya kuruluş. -
task: Modelin gerçekleştirmek üzere tasarlandığı birincil görev (örneğin, sohbet tamamlama). -
runtime:-
deviceType: Modelin üzerinde çalışmak üzere tasarlandığı donanım türü (örneğin, CPU). -
executionProvider: Modeli çalıştırmak için kullanılan yürütme sağlayıcısı.
-
-
fileSizeMb: Model dosyasının megabayt cinsinden boyutu. -
modelSettings:-
parameters: Model için yapılandırılabilir parametrelerin listesi.
-
-
alias: Model için alternatif bir ad veya kısaltma -
supportsToolCalling: Modelin araç çağırma işlevini destekleyip desteklemediğini gösterir. -
license: Modelin altında dağıtıldığı lisans türü. -
licenseDescription: Ayrıntılı bir açıklama veya lisans koşullarının bağlantısı. -
parentModelUri: Bu modelin türetildiği üst modelin URI'si.
-
GET /openai/models
Yerel ve kayıtlı dış modeller de dahil olmak üzere önbelleğe alınmış modellerin listesini alın.
Yanıt:
- 200 Tamam
Model adları bir dizi olarak "string" formatında verilmiştir.
Example:
Yanıt gövdesi
["Phi-4-mini-instruct-generic-cpu", "phi-3.5-mini-instruct-generic-cpu"]
POST /openai/download
Modeli katalogdan yerel depolama alanına indirin.
Uyarı
Büyük model indirme işlemleri uzun sürebilir. Erken sonlandırmayı önlemek için bu istek için yüksek bir zaman aşımı ayarlayın.
İstek Gövdesi:
-
model(WorkspaceInferenceModelnesne)-
Uri(dize)
İndirilmesi gereken model URI'si. -
Name(metin) Model adı. -
ProviderType(dize, isteğe bağlı)
Sağlayıcı türü (örneğin,"AzureFoundryLocal","HuggingFace"). -
Path(dize, isteğe bağlı)
Model dosyalarının uzak yolu. Örneğin, Yüz Tanıma deposunda bu, model dosyalarının yoludur. -
PromptTemplate(Dictionary<string, string>, isteğe bağlı)
Şunları içerir:-
system(dize, isteğe bağlı)
Sistem iletisinin şablonu. -
user(dize, isteğe bağlı) Kullanıcının iletisinin şablonu. -
assistant(dize, isteğe bağlı)
Yardımcının yanıtı için şablon. -
prompt(dize, isteğe bağlı)
Kullanıcı yardımcısı etkileşimi için şablon.
-
-
Publisher(dize, isteğe bağlı)
Modelin yayıncısı.
-
-
token(dize, isteğe bağlı)
Korumalı modeller için kimlik doğrulama belirteci (GitHub veya Hugging Face). -
progressToken(nesne, isteğe bağlı)
Yalnızca AITK için. İndirme ilerlemesini takip etmek için bir belirteç. -
customDirPath(dize, isteğe bağlı)
Özel indirme dizini (CLI için kullanılır, AITK için gerekli değildir). -
bufferSize(tamsayı, isteğe bağlı)
KB olarak HTTP indirme arabellek boyutu. NIM veya Azure Foundry modelleri üzerinde hiçbir etkisi yoktur. -
ignorePipeReport(boole, isteğe bağlı)
Eğertrueise, ilerleme raporlamayı boru hattı yerine HTTP akışı üzerinden zorlar. Varsayılan olarak AITK içinfalseve Dökümhane Yerel içintruekullanılır.
Akış Yanıtı:
İndirme sırasında sunucu, ilerleme durumunu şu biçimde güncelleştirir:
("file name", percentage_complete)
Son Yanıt gövdesi:
-
Success(boole)
İndirme işleminin başarıyla tamamlanıp tamamlanmadığı. -
ErrorMessage(dize, isteğe bağlı)
İndirme başarısız olursa hata ayrıntıları.
Example:
İstenilen URI
POST /openai/download
İstek içeriği
Sürüm son ekinin model adında sağlanması gerektiğini unutmayın.
{
"model": {
"Uri": "azureml://registries/azureml/models/Phi-4-mini-instruct-generic-cpu/versions/4",
"ProviderType": "AzureFoundryLocal",
"Name": "Phi-4-mini-instruct-generic-cpu:4",
"Publisher": "",
"PromptTemplate": {
"system": "<|system|>{Content}<|end|>",
"user": "<|user|>{Content}<|end|>",
"assistant": "<|assistant|>{Content}<|end|>",
"prompt": "<|user|>{Content}<|end|><|assistant|>"
}
}
}
Yanıt akışı
("genai_config.json", 0.01)
("genai_config.json", 0.2)
("model.onnx.data", 0.5)
("model.onnx.data", 0.78)
...
("", 1)
Son yanıt
{
"Success": true,
"ErrorMessage": null
}
GET /openai/load/{name}
Daha hızlı çıkarım için bir modeli belleğe yükleyin.
URI Parametreleri:
-
name(dize)
Yüklenecek model adı.
Sorgu Parametreleri:
-
unload(boole, isteğe bağlı)
Boşta kalma süresinden sonra modelin otomatik olarak kaldırılıp kaldırılmayacağı. Varsayılan olaraktruedeğerini alır. -
ttl(tamsayı, isteğe bağlı)
Yaşam süresi, saniye cinsinden. 0'dan büyükse, bu değer parametresiniunloadgeçersiz kılar. -
ep(dize, isteğe bağlı)
Modeli çalıştıracak yürütme sağlayıcısı. Destekler:"dml","cuda","qnn","cpu","webgpu".
Belirtilmezse,genai_config.jsonüzerindeki ayarları kullanır.
Yanıt:
- 200 Tamam
Boş yanıt gövdesi
Example:
İstenilen URI
GET /openai/load/Phi-4-mini-instruct-generic-cpu?ttl=3600&ep=dml
GET /openai/unload/{name}
Modeli bellekten kaldırın.
URI Parametreleri:
-
name(dize) Kaldırılan model adı.
Sorgu Parametreleri:
-
force(boole, isteğe bağlı) isetrue, TTL ayarlarını yoksayar ve hemen kaldırır.
Yanıt:
- 200 Tamam Boş yanıt gövdesi
Example:
İstenilen URI
GET /openai/unload/Phi-4-mini-instruct-generic-cpu?force=true
GET /openai/unloadall
Tüm modelleri bellekten boşaltır.
Yanıt:
- 200 Tamam
Boş yanıt gövdesi
GET /openai/loadedmodels
Yüklü olan modellerin listesini alın.
Yanıt:
- 200 Tamam
Model adları bir dizi olarak "string" formatında verilmiştir.
Example:
Yanıt gövdesi
["Phi-4-mini-instruct-generic-cpu", "phi-3.5-mini-instruct-generic-cpu"]
GET /openai/getgpudevice
Geçerli GPU cihaz kimliğini alın.
Yanıt:
- 200 Tamam
Geçerli GPU cihaz kimliğini temsil eden bir tamsayı.
GET /openai/setgpudevice/{deviceId}
Etkin GPU cihazını ayarlayın.
URI Parametreleri:
-
deviceId(tamsayı)
Kullanılacak GPU cihaz kimliği.
Yanıt:
- 200 Tamam
Boş yanıt gövdesi
Example:
- İstek URI'si
GET /openai/setgpudevice/1
POST /v1/chat/completions/tokenizer/encode/count
Çıkarım yapmadan belirli bir sohbet tamamlama isteği için belirteçleri sayar.
İstek Gövdesi:
- İçerik Türü: application/json
- JSON nesnesi şu
ChatCompletionCreateRequestşekilde biçimlendirilir:-
model(dize)
Belirteç oluşturma için kullanılacak model. -
messages(dizi)
rolevecontentile ileti nesnelerinin dizisi.
-
Yanıt Gövdesi:
- İçerik Türü: application/json
- Belirteç sayısı olan JSON nesnesi:
-
tokenCount(tamsayı)
İstekteki belirteç sayısı.
-
Example:
İstek içeriği
{
"messages": [
{
"role": "system",
"content": "This is a system message"
},
{
"role": "user",
"content": "Hello, what is Microsoft?"
}
],
"model": "Phi-4-mini-instruct-cuda-gpu"
}
Yanıt gövdesi
{
"tokenCount": 23
}