Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Important
- Foundry Local CLI är tillgängligt som förhandsversion. Offentliga förhandsversioner ger tidiga access till funktioner som är i aktiv distribution.
- Funktioner, metoder och processer kan ändra eller ha begränsade funktioner, före allmän tillgänglighet (GA).
Caution
Det här API:et refererar till rest-API:et som är tillgängligt i Foundry Local CLI. Det här API:et är under aktiv utveckling och kan innehålla icke-bakåtkompatibla ändringar utan föregående meddelande. Vi rekommenderar starkt att du övervakar ändringsloggen innan du skapar produktionsprogram.
POST /v1/chat/completions
Den här slutpunkten bearbetar begäranden om chattens slutförande.
Det är fullt kompatibelt med OpenAI Chat Completions API.
Request Body:
---Standard OpenAI-egenskaper---
-
model(sträng)
Den specifika modell som ska användas för slutförande. -
messages(matris)
Konversationshistoriken som en lista över meddelanden.- Varje meddelande kräver:
-
role(sträng)
Meddelandesändarrollen. Måste varasystem,userellerassistant. -
content(sträng)
Den faktiska meddelandetexten.
-
- Varje meddelande kräver:
-
temperature(tal, valfritt)
Styr slumpmässighet, från 0 till 2. Högre värden (0,8) skapar olika utdata, medan lägre värden (0,2) skapar fokuserade och konsekventa utdata. -
top_p(tal, valfritt)
Styr tokenvalsdiversitet från 0 till 1. Ett värde på 0,1 innebär att endast de token med de 10 högsta%-sannolikheterna beaktas. -
n(heltal, valfritt)
Antal alternativa slutföranden som ska genereras för varje indatameddelande. -
stream(booleskt, valfritt)
När det är sant skickar du partiella meddelandesvar som serversända händelser och slutar med ettdata: [DONE]meddelande. -
stop(sträng eller matris, valfritt)
Upp till 4 sekvenser som gör att modellen slutar generera ytterligare token. -
max_tokens(heltal, valfritt)
Maximalt antal token som ska genereras. Använd i stället för nyare modellermax_completion_tokens. -
max_completion_tokens(heltal, valfritt)
Maximalt antal token som modellen kan generera, inklusive synliga utdata och resonemangstoken. -
presence_penalty(tal, valfritt)
Värde mellan -2.0 och 2.0. Positiva värden uppmuntrar modellen att diskutera nya ämnen genom att nedsätta tecken som redan har dykt upp. -
frequency_penalty(tal, valfritt)
Värde mellan -2.0 och 2.0. Positiva värden motverkar upprepning genom att bestraffa tokens baserat på deras frekvens i texten. -
logit_bias(karta, valfritt)
Justerar sannolikheten för specifika tecken som visas i resultatet. -
user(sträng, valfritt)
En unik identifierare för slutanvändaren som hjälper till med övervakning och förebyggande av missbruk. -
functions(matris, valfritt)
Tillgängliga funktioner som modellen kan generera JSON-indata för.- Varje funktion måste innehålla:
-
name(sträng)
Function name. -
description(sträng)
Function description. -
parameters(objekt)
Funktionsparametrar som beskrivs som ett JSON-schemaobjekt.
-
- Varje funktion måste innehålla:
-
function_call(sträng eller objekt, valfritt)
Styr hur modellen svarar på funktionsanrop.- Om det är ett objekt kan följande inkluderas:
-
name(sträng, valfritt)
Namnet på funktionen som ska anropas. -
arguments(objekt, valfritt)
Argumenten som ska skickas till funktionen.
-
- Om det är ett objekt kan följande inkluderas:
-
metadata(objekt, valfritt)
En ordlista med nyckel/värde-par för metadata. -
top_k(tal, valfritt)
Antalet vokabulärstoken med högsta sannolikhet som ska behållas för top-k-filtrering. -
random_seed(heltal, valfritt)
Frö för reproducerbar slumptalsgenerering. -
ep(sträng, valfritt)
Skriv över leverantören för ONNX-modeller. Stödjer:"dml","cuda","qnn","cpu","webgpu". -
ttl(heltal, valfritt)
Livslängd för modellen i minnet, angiven i sekunder. -
tools(objekt, valfritt)
Verktyg har beräknats för begäran.
Response body:
-
id(sträng)
Unik identifierare för chattens slutförande. -
object(sträng)
Objekttypen, alltid"chat.completion". -
created(heltal)
Tidsstämpel för skapande i epoksekunder. -
model(sträng)
Den modell som används för slutförande. -
choices(matris)
Lista över slutförandealternativ som var och en innehåller:-
index(heltal)
Det här alternativets index. -
message(objekt)
Det genererade meddelandet med:-
role(sträng)
Alltid"assistant"för svar. -
content(sträng)
Den faktiska genererade texten.
-
-
finish_reason(sträng)
Varför genereringen stoppades (t.ex."stop","length","function_call").
-
-
usage(objekt)
Tokenanvändningsstatistik:-
prompt_tokens(heltal)
Token i prompten. -
completion_tokens(heltal)
Token i genereringen. -
total_tokens(heltal)
Totalt antal token som används.
-
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
Den här slutpunkten transkriberar ljudfiler till text. Det är kompatibelt med API:et för OpenAI-ljudavskrifter.
Format för begäran:multipart/form-data
Request fields:
-
file(fil, krävs)
Ljudfilen som ska transkriberas. Format som stöds är MP3, WAV, FLAC, OGG och WebM. -
model(sträng, krävs)
Modell-ID:t som ska användas för transkription. Använd det ID som returneras när du läser in en Whisper-modell (till exempel efter inläsningwhisper-tiny). -
language(sträng, valfritt)
Språket för ljudet i ISO 639-1-format (till exempel"en"). Genom att tillhandahålla detta förbättras noggrannheten och hastigheten. -
temperature(tal, valfritt)
Samplingstemperatur mellan 0 och 1. Lägre värden ger mer deterministiska resultat. -
response_format(sträng, valfritt)
Formatet på svaret. Alternativ:json(standard),text,verbose_json.
Response body:
-
text(sträng)
Den transkriberade texten.
Example:
Request
curl -X POST http://localhost:<PORT>/v1/audio/transcriptions \
-F "file=@recording.wav" \
-F "model=<MODEL_ID>" \
-F "language=en"
Important
Ersätt <PORT> med den dynamiska porten för den lokala foundry-tjänsten och <MODEL_ID> med modell-ID:t som returnerades när modellen lästes in. I SDK använder du manager.endpoint (JS) eller config.Web.Urls (C#) för att hämta slutpunkten – hårdkoda aldrig porten.
Response body
{
"text": "This is the transcribed text from the audio file."
}
Tip
Tillgängliga Whisper-modellalias är whisper-tiny, whisper-baseoch whisper-small. Använd dessa alias med SDK för att ladda ned och läsa in modeller , till exempel manager.catalog.getModel("whisper-tiny") i JavaScript.
GET /openai/status
Hämta information om serverstatus.
Response body:
-
Endpoints(matris med strängar)
HTTP-serverbindningsslutpunkterna. -
ModelDirPath(sträng)
Katalog där lokala modeller lagras. -
PipeName(sträng)
Det aktuella namnet på NamedPipe-servern.
Example:
Response body
{
"Endpoints": ["http://localhost:5272"],
"ModelDirPath": "/path/to/models",
"PipeName": "inference_agent"
}
GET /foundry/list
Hämta en lista över tillgängliga lokala Foundry-modeller i katalogen.
Response:
-
models(matris)
Matris med modellobjekt. Varje modell innehåller:-
name: Den unika identifieraren för modellen. -
displayName: Ett läsbart namn för modellen, ofta samma som namnet. -
providerType: Den typ av leverantör som är värd för modellen (till exempel AzureFoundry). -
uri: Resurs-URI:n som pekar på modellens plats i registret. -
version: Modellens versionsnummer. -
modelType: Modellens format eller typ (till exempel ONNX). -
promptTemplate:-
assistant: Mallen för assistentens svar. -
prompt: Mallen för interaktionen mellan användarassistenten och användaren.
-
-
publisher: Entiteten eller organisationen som publicerade modellen. -
task: Den primära uppgift som modellen är utformad för att utföra (till exempel slutförande av chatt). -
runtime:-
deviceType: Den typ av maskinvara som modellen är utformad för att köras på (till exempel CPU). -
executionProvider: Körningsprovidern som används för att köra modellen.
-
-
fileSizeMb: Storleken på modellfilen i megabyte. -
modelSettings:-
parameters: En lista över konfigurerbara parametrar för modellen.
-
-
alias: Ett alternativt namn eller en förkortning för modellen -
supportsToolCalling: Indikerar om modellen stödjer funktionalitet för att anropa verktyg. -
license: Licenstypen som modellen distribueras under. -
licenseDescription: En detaljerad beskrivning eller länk till licensvillkoren. -
parentModelUri: URI:n för den överordnade modellen som modellen härleds från.
-
GET /openai/models
Hämta en lista över cachelagrade modeller, inklusive lokala och registrerade externa modeller.
Response:
- 200 OK
En matris med modellnamn som strängar.
Example:
Response body
["Phi-4-mini-instruct-generic-cpu", "phi-3.5-mini-instruct-generic-cpu"]
POST /openai/download
Ladda ned en modell från katalogen till lokala storage.
Note
Det kan ta lång tid att ladda ned stora modeller. Ange en hög tidsgräns för den här begäran för att undvika tidig uppsägning.
Request Body:
-
model(WorkspaceInferenceModelobjekt)-
Uri(sträng)
Modell-URI:n som ska laddas ned. -
Name(sträng) Modellnamnet. -
ProviderType(sträng, valfritt)
Providertypen (till exempel"AzureFoundryLocal","HuggingFace"). -
Path(sträng, valfritt)
Fjärrsökväg till modellfilerna. I en lagringsplats för kramande ansikten är det till exempel sökvägen till modellfilerna. -
PromptTemplate(Dictionary<string, string>valfritt)
Includes:-
system(sträng, valfritt)
Mallen för systemmeddelandet. -
user(sträng, valfritt) Mallen för användarens meddelande. -
assistant(sträng, valfritt)
Mallen för assistentens svar. -
prompt(sträng, valfritt)
Mallen för interaktionen mellan användarassistenten och användaren.
-
-
Publisher(sträng, valfritt)
Modellens publisher.
-
-
token(sträng, valfritt)
Autentiseringstoken för skyddade modeller (GitHub eller Hugging Face). -
progressToken(objekt, valfritt)
Endast för AITK. Token för att spåra nedladdningsstatus. -
customDirPath(sträng, valfritt)
Anpassad nedladdningskatalog (används för CLI, behövs inte för AITK). -
bufferSize(heltal, valfritt)
HTTP-nedladdningsbuffertstorlek i KB. Ingen effekt på NIM- eller Azure Foundry-modeller. -
ignorePipeReport(booleskt, valfritt)
Omtruetvingar fram förloppsrapportering via HTTP-ström i stället för pipe. Standardvärdet ärfalseför AITK ochtrueför Foundry Local.
Streaming Response:
Under nedladdningen strömmar servern förloppsuppdateringar i formatet:
("file name", percentage_complete)
Slutsvarstext:
-
Success(boolesk)
Om nedladdningen har slutförts. -
ErrorMessage(sträng, valfritt)
Felinformation om nedladdningen misslyckades.
Example:
Request URI
POST /openai/download
Request body
Observera att versionssuffixet måste anges i modellnamnet.
{
"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}
Läs in en modell i minnet för snabbare slutsatsdragning.
URI Parameters:
-
name(sträng)
Modellnamnet som ska läsas in.
Query Parameters:
-
unload(booleskt, valfritt)
Huruvida modellen automatiskt ska avlastas efter inaktiv tid. Standardinställningen ärtrue. -
ttl(heltal, valfritt)
Livslängd i sekunder. Om det är större än 0 åsidosätter det här värdet parameternunload. -
ep(sträng, valfritt)
Utförandetjänst för att köra den här modellen. Stödjer:"dml","cuda","qnn","cpu","webgpu".
Om det inte anges använder du inställningar frångenai_config.json.
Response:
- 200 OK
Tom svarskropp
Example:
Request URI
GET /openai/load/Phi-4-mini-instruct-generic-cpu?ttl=3600&ep=dml
GET /openai/unload/{name}
Ta bort en modell från minnet.
URI Parameters:
-
name(sträng) Modellnamnet som ska tas bort.
Query Parameters:
-
force(booleskt, valfritt) Omtrueignorerar du TTL-inställningar och tas bort omedelbart.
Response:
- 200 OK Tom svarstext
Example:
Request URI
GET /openai/unload/Phi-4-mini-instruct-generic-cpu?force=true
GET /openai/unloadall
Laddar ur alla modeller från minnet.
Response:
- 200 OK
Tom svarskropp
GET /openai/loadedmodels
Hämta listan över för närvarande laddade modeller.
Response:
- 200 OK
En matris med modellnamn som strängar.
Example:
Response body
["Phi-4-mini-instruct-generic-cpu", "phi-3.5-mini-instruct-generic-cpu"]
GET /openai/getgpudevice
Hämta det aktuella GPU-enhets-ID:t.
Response:
- 200 OK
Ett heltal som representerar det aktuella GPU-enhets-ID:t.
GET /openai/setgpudevice/{deviceId}
Ange den aktiva GPU-enheten.
URI Parameters:
-
deviceId(heltal)
GPU-enhets-ID som ska användas.
Response:
- 200 OK
Tom svarskropp
Example:
- Request URI
GET /openai/setgpudevice/1
POST /v1/chat/completions/tokenizer/encode/count
Räknar token för en viss begäran om chattavslut utan att utföra slutsatsdragning.
Request Body:
- Content-Type: application/json
- JSON-objekt i
ChatCompletionCreateRequestformat med:-
model(sträng)
Modell som ska användas för tokenisering. -
messages(matris)
Matris med meddelandeobjekt medroleochcontent.
-
Response Body:
- Content-Type: application/json
- JSON-objekt med tokenantal:
-
tokenCount(heltal)
Antal token i begäran.
-
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
}