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.
Important
- Foundry Local CLI önizleme aşamasındadır. Genel önizleme sürümleri, etkin dağıtımdaki özelliklere erken access sağlar.
- Özellikler, yaklaşımlar ve işlemler, Genel Kullanılabilirlik (GA) öncesinde değişebilir veya sınırlı özelliklere sahip olabilir.
Caution
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/chat/completions
Bu uç nokta, sohbet tamamlama isteklerini işler.
OpenAI Sohbet Tamamlamaları API'siyle tamamen uyumludur.
Request Body:
---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)
Function name. -
description(dize)
Function description. -
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.
Response body:
-
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:
Request body
{
"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": {}
}
Response body
{
"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
}
}
POST /v1/audio/transcriptions
Bu uç nokta ses dosyalarını metne dönüştürmektedir. OpenAI Ses Transkripsiyonları API'siyle uyumludur.
İstek biçimi:multipart/form-data
Request fields:
-
file(dosya, gerekli)
Dökümü yapılan ses dosyası. Desteklenen biçimler MP3, WAV, FLAC, OGG ve WebM'dir. -
model(dize, gerekli)
Transkripsiyon için kullanılacak model kimliği. Whisper modeli yüklenirken döndürülen kimliği kullanın (örneğin, yüklendiktenwhisper-tinysonra). -
language(dize, isteğe bağlı)
Iso 639-1 biçimindeki ses dili (örneğin,"en"). Bunun sağlanması doğruluğu ve hızı artırır. -
temperature(sayı, isteğe bağlı)
0 ile 1 arasında örnekleme sıcaklığı. Düşük değerler daha belirleyici sonuçlar üretir. -
response_format(dize, isteğe bağlı)
Yanıtın biçimi. Seçenekler:json(varsayılan),text,verbose_json.
Response body:
-
text(dize)
Dökümü alınmış metin.
Example:
Request
curl -X POST http://localhost:<PORT>/v1/audio/transcriptions \
-F "file=@recording.wav" \
-F "model=<MODEL_ID>" \
-F "language=en"
Important
değerini Foundry Local hizmetinin dinamik bağlantı noktasıyla ve <PORT> model yüklendiğinde döndürülen model kimliğiyle değiştirin<MODEL_ID>. SDK'da uç noktayı almak için (JS) veya manager.endpoint (C#) kullanın config.Web.Urls ; bağlantı noktasını asla sabit kodlamayın.
Response body
{
"text": "This is the transcribed text from the audio file."
}
Tip
Kullanılabilir Fısıltı modeli diğer adları arasında whisper-tiny, whisper-baseve whisper-smallbulunur. Modelleri indirmek ve yüklemek için SDK ile bu diğer adları kullanın; örneğin JavaScript'te manager.catalog.getModel("whisper-tiny") .
GET /openai/status
Sunucu durum bilgilerini alın.
Response body:
-
Endpoints(dize dizisi)
HTTP sunucusu bağlama uç noktaları. -
ModelDirPath(dize)
Yerel modellerin depolandığı dizin. -
PipeName(dize)
Geçerli NamedPipe sunucu ismi.
Example:
Response body
{
"Endpoints": ["http://localhost:5272"],
"ModelDirPath": "/path/to/models",
"PipeName": "inference_agent"
}
GET /foundry/list
Katalogdaki kullanılabilir Foundry Yerel modellerinin listesini alın.
Response:
-
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.
Response:
- 200 OK
Model adları bir dizi olarak "string" formatında verilmiştir.
Example:
Response body
["Phi-4-mini-instruct-generic-cpu", "phi-3.5-mini-instruct-generic-cpu"]
POST /openai/download
Modeli katalogdan yerel storage indirin.
Note
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.
Request Body:
-
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ı)
Includes:-
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 publisher.
-
-
token(dize, isteğe bağlı)
Korumalı modeller için kimlik doğrulama belirteci (GitHub veya Yüz Tanımayı Kucaklama). -
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.
Streaming Response:
İ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:
Request URI
POST /openai/download
Request body
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|>"
}
}
}
Response stream
("genai_config.json", 0.01)
("genai_config.json", 0.2)
("model.onnx.data", 0.5)
("model.onnx.data", 0.78)
...
("", 1)
Final response
{
"Success": true,
"ErrorMessage": null
}
GET /openai/load/{name}
Daha hızlı çıkarım için bir modeli belleğe yükleyin.
URI Parameters:
-
name(dize)
Yüklenecek model adı.
Query Parameters:
-
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.
Response:
- 200 OK
Boş yanıt gövdesi
Example:
Request URI
GET /openai/load/Phi-4-mini-instruct-generic-cpu?ttl=3600&ep=dml
GET /openai/unload/{name}
Modeli bellekten kaldırın.
URI Parameters:
-
name(dize) Kaldırılan model adı.
Query Parameters:
-
force(boole, isteğe bağlı) isetrue, TTL ayarlarını yoksayar ve hemen kaldırır.
Response:
- 200 Tamam Boş yanıt gövdesi
Example:
Request URI
GET /openai/unload/Phi-4-mini-instruct-generic-cpu?force=true
GET /openai/unloadall
Tüm modelleri bellekten boşaltır.
Response:
- 200 OK
Boş yanıt gövdesi
GET /openai/loadedmodels
Yüklü olan modellerin listesini alın.
Response:
- 200 OK
Model adları bir dizi olarak "string" formatında verilmiştir.
Example:
Response body
["Phi-4-mini-instruct-generic-cpu", "phi-3.5-mini-instruct-generic-cpu"]
GET /openai/getgpudevice
Geçerli GPU cihaz kimliğini alın.
Response:
- 200 OK
Geçerli GPU cihaz kimliğini temsil eden bir tamsayı.
GET /openai/setgpudevice/{deviceId}
Etkin GPU cihazını ayarlayın.
URI Parameters:
-
deviceId(tamsayı)
Kullanılacak GPU cihaz kimliği.
Response:
- 200 OK
Boş yanıt gövdesi
Example:
- Request URI
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.
Request Body:
- Content-Type: 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.
-
Response Body:
- Content-Type: application/json
- Belirteç sayısı olan JSON nesnesi:
-
tokenCount(tamsayı)
İstekteki belirteç sayısı.
-
Example:
Request body
{
"messages": [
{
"role": "system",
"content": "This is a system message"
},
{
"role": "user",
"content": "Hello, what is Microsoft?"
}
],
"model": "Phi-4-mini-instruct-cuda-gpu"
}
Response body
{
"tokenCount": 23
}