Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Figyelmeztetés
Ez a hivatkozás az Öntödei helyi SDK korábbi verzióira vonatkozik, amelyek a szolgáltatásfelügyeleti Foundry helyi parancssori felületétől függnek.
Új fejlesztéshez használja az aktuális SDK-referenciát.
Az alábbi táblázat azokat az SDK-verziókat mutatja be, ahol függőség volt a parancssori felülettel kapcsolatban:
| Nyelv | Szoftvercsomag | PARANCSSOR-függő verziók |
|---|---|---|
| C# | Microsoft. AI. Foundry.Local | 0.3.0 és korábbi verziók |
| JavaScript | foundry-local-sdk | 0.5.0 és korábbi verziók |
| Python | foundry-local-sdk | 0.5.1 és korábbi verziók |
| Rust | foundry-local / foundry-local-sdk | 0.x |
A CLI-függő verziók támogatása 2026. augusztus 31-ig tart.
Python SDK-referencia
Előfeltételek
- Telepítse az Foundry helyi parancssori felületét, és győződjön meg arról, hogy a
foundryparancs elérhető az ÖnPATHszámítógépén. - Használja a Python 3.9-et vagy újabb verziót.
Installation
Telepítse a Python csomagot:
pip install foundry-local-sdk==0.5.1
gyorskonfigurálás
Ezzel a kódrészletel ellenőrizheti, hogy az SDK elindíthatja-e a szolgáltatást, és elérheti-e a helyi katalógust.
from foundry_local import FoundryLocalManager
manager = FoundryLocalManager()
manager.start_service()
catalog = manager.list_catalog_models()
print(f"Catalog models available: {len(catalog)}")
Ez a példa nem nulla számot nyomtat, amikor a szolgáltatás fut, és a katalógus elérhető.
Referenciák:
FoundryLocalManager osztály
Az FoundryLocalManager osztály metódusokat biztosít a modellek, a gyorsítótár és az Foundry Local szolgáltatás kezeléséhez.
Inicializálás
from foundry_local import FoundryLocalManager
# Initialize and optionally bootstrap with a model
manager = FoundryLocalManager(alias_or_model_id=None, bootstrap=True)
-
alias_or_model_id: (nem kötelező) Alias vagy modellazonosító, amelyet indításkor tölthet le és betölthet. -
bootstrap: (alapértelmezett értéke: igaz) Ha igaz, elindítja a szolgáltatást, ha nem fut, és betölti a megadott modellt, ha van ilyen.
Megjegyzés az aliasokról
Az ebben a hivatkozásban ismertetett számos metódus rendelkezik egy alias_or_model_id paramétersel az aláírásban. A metódusba megadhat egy aliast vagy egy modellazonosítót értékként. Alias használata esetén:
- Válassza ki az elérhető hardver legjobb modelljét . Ha például egy Nvidia CUDA GPU elérhető, a Foundry Local kiválasztja a CUDA-modellt. Ha támogatott NPU érhető el, a Foundry Local kiválasztja az NPU-modellt.
- Lehetővé teszi, hogy rövidebb nevet használjon anélkül, hogy emlékeznie kellene a modellazonosítóra.
Jótanács
Javasoljuk, hogy adjon át egy alias_or_model_id a paraméternek, mert az alkalmazás üzembe helyezésekor a Foundry Local futásidőben szerzi be a legjobb modellt a végfelhasználó gépéhez.
Megjegyzés:
Ha Intel NPU van a Windows, győződjön meg arról, hogy telepítette a Intel NPU-illesztőt az optimális NPU-gyorsításhoz.
Szolgáltatáskezelés
| Módszer | Signature | Leírás |
|---|---|---|
is_service_running() |
() -> bool |
Ellenőrzi, hogy az Foundry Local szolgáltatás fut-e. |
start_service() |
() -> None |
Elindítja az Foundry Local szolgáltatást. |
service_uri |
@property -> str |
A szolgáltatás URI-jának visszaadása. |
endpoint |
@property -> str |
A szolgáltatásvégpontot adja vissza. |
api_key |
@property -> str |
Az API-kulcsot adja vissza (az env vagy az alapértelmezett érték alapján). |
Katalóguskezelés
| Módszer | Signature | Leírás |
|---|---|---|
list_catalog_models() |
() -> list[FoundryModelInfo] |
A katalógusban elérhető összes modell listája. |
refresh_catalog() |
() -> None |
Frissíti a modellkatalógust. |
get_model_info() |
(alias_or_model_id: str, raise_on_not_found=False) -> FoundryModelInfo \| None |
Modellinformációk lekérdezése alias vagy azonosító alapján. |
Gyorsítótár-kezelés
| Módszer | Signature | Leírás |
|---|---|---|
get_cache_location() |
() -> str |
Visszaadja a modell cache könyvtár elérési útját. |
list_cached_models() |
() -> list[FoundryModelInfo] |
A helyi gyorsítótárba letöltött modellek listája. |
modellkezelés
| Módszer | Signature | Leírás |
|---|---|---|
download_model() |
(alias_or_model_id: str, token: str = None, force: bool = False) -> FoundryModelInfo |
Letölt egy modellt a helyi gyorsítótárba. |
load_model() |
(alias_or_model_id: str, ttl: int = 600) -> FoundryModelInfo |
Betölt egy modellt a következtetési kiszolgálóba. |
unload_model() |
(alias_or_model_id: str, force: bool = False) -> None |
Eltávolít egy modellt a következtetési kiszolgálóról. |
list_loaded_models() |
() -> list[FoundryModelInfo] |
Felsorolja a szolgáltatásban jelenleg betöltött összes modellt. |
FoundryModelInfo
A metódusok list_catalog_models(), list_cached_models() és list_loaded_models() egy FoundryModelInfo objektumlistát adnak vissza. Az objektumban található információk segítségével tovább finomíthatja a listát. Vagy közvetlenül a metódus meghívásával lekérheti a get_model_info(alias_or_model_id) modell adatait.
Ezek az objektumok a következő mezőket tartalmazzák:
| szakterület | Típus | Leírás |
|---|---|---|
alias |
str |
A modell aliasa. |
id |
str |
A modell egyedi azonosítója. |
version |
str |
A modell verziója. |
execution_provider |
str |
A modell futtatásához használt gyorsító (végrehajtási szolgáltató). |
device_type |
DeviceType |
A modell eszköztípusa: CPU, GPU, NPU. |
uri |
str |
A modell URI-ja. |
file_size_mb |
int |
A modell mérete a lemezen MB-ban. |
supports_tool_calling |
bool |
Azt jelzi, hogy a modell támogatja-e az eszközhívást. |
prompt_template |
dict \| None |
Sablon kérése a modellhez. |
provider |
str |
A modell szolgáltatója (ahol a modell közzé van téve). |
publisher |
str |
Publisher a modellről (aki közzétette a modellt). |
license |
str |
A modell licencének neve. |
task |
str |
A modell feladata. Az egyik chat-completions vagy automatic-speech-recognition. |
ep_override |
str \| None |
Felülbírálás a végrehajtási szolgáltatónál, ha eltér a modell alapértelmezett értékétől. |
Végrehajtási szolgáltatók
Az alábbiak egyike:
-
CPUExecutionProvider- CPU-alapú végrehajtás -
CUDAExecutionProvider- NVIDIA CUDA GPU végrehajtása -
WebGpuExecutionProvider- WebGPU végrehajtása -
QNNExecutionProvider- Qualcomm neurális hálózati végrehajtás (NPU) -
OpenVINOExecutionProvider- Intel OpenVINO végrehajtása -
NvTensorRTRTXExecutionProvider- NVIDIA TensorRT végrehajtása -
VitisAIExecutionProvider- AMD Vitis AI-végrehajtás
Használati példa
Az alábbi kód bemutatja, hogyan használhatja az osztályt modellek FoundryLocalManager kezelésére és az Foundry Local szolgáltatással való interakcióra.
from foundry_local import FoundryLocalManager
# By using an alias, the most suitable model will be selected
# to your end-user's device.
alias = "qwen2.5-0.5b"
# Create a FoundryLocalManager instance. This will start the Foundry.
manager = FoundryLocalManager()
# List available models in the catalog
catalog = manager.list_catalog_models()
print(f"Available models in the catalog: {catalog}")
# Download and load a model
model_info = manager.download_model(alias)
model_info = manager.load_model(alias)
print(f"Model info: {model_info}")
# List models in cache
local_models = manager.list_cached_models()
print(f"Models in cache: {local_models}")
# List loaded models
loaded = manager.list_loaded_models()
print(f"Models running in the service: {loaded}")
# Unload a model
manager.unload_model(alias)
Ez a példa felsorolja a modelleket, letölt és betölt egy modellt, majd eltávolítja azt.
Referenciák:
Integrálás az OpenAI SDK-val
Telepítse az OpenAI-csomagot:
pip install openai
Az alábbi kód bemutatja, hogyan integrálható az FoundryLocalManager OpenAI SDK-val egy helyi modellel való interakcióhoz.
import openai
from foundry_local import FoundryLocalManager
# By using an alias, the most suitable model will be downloaded
# to your end-user's device.
alias = "qwen2.5-0.5b"
# Create a FoundryLocalManager instance. This will start the Foundry
# Local service if it is not already running and load the specified model.
manager = FoundryLocalManager(alias)
# The remaining code uses the OpenAI Python SDK to interact with the local model.
# Configure the client to use the local Foundry service
client = openai.OpenAI(
base_url=manager.endpoint,
api_key=manager.api_key # API key is not required for local usage
)
# Set the model to use and generate a streaming response
stream = client.chat.completions.create(
model=manager.get_model_info(alias).id,
messages=[{"role": "user", "content": "Why is the sky blue?"}],
stream=True
)
# Print the streaming response
for chunk in stream:
if chunk.choices[0].delta.content is not None:
print(chunk.choices[0].delta.content, end="", flush=True)
Ez a példa egy csevegés befejezésére adott választ streamel a helyi modellből.
Referenciák:
JavaScript SDK-referencia
Előfeltételek
- Telepítse az Foundry helyi parancssori felületét, és győződjön meg arról, hogy a
foundryparancs elérhető az ÖnPATHszámítógépén.
Installation
Telepítse a csomagot az npm-ből:
npm install foundry-local-sdk@0.5.0
gyorskonfigurálás
Ezzel a kódrészletel ellenőrizheti, hogy az SDK elindíthatja-e a szolgáltatást, és elérheti-e a helyi katalógust.
import { FoundryLocalManager } from "foundry-local-sdk";
const manager = new FoundryLocalManager();
await manager.startService();
const catalogModels = await manager.listCatalogModels();
console.log(`Catalog models available: ${catalogModels.length}`);
Ez a példa nem nulla számot nyomtat, amikor a szolgáltatás fut, és a katalógus elérhető.
Referenciák:
FoundryLocalManager osztály
Az FoundryLocalManager osztály lehetővé teszi a modellek kezelését, a gyorsítótár vezérlését és az Foundry Local szolgáltatással való interakciót böngészőben és Node.js környezetekben.
Inicializálás
import { FoundryLocalManager } from "foundry-local-sdk";
const foundryLocalManager = new FoundryLocalManager();
Elérhető lehetőségek:
-
host: Az Foundry Helyi szolgáltatás alap URL-címe -
fetch: (nem kötelező) Egyéni lekéréses implementáció olyan környezetekhez, mint a Node.js
Megjegyzés az aliasokról
Az ebben a hivatkozásban ismertetett számos metódus rendelkezik egy aliasOrModelId paramétersel az aláírásban. A metódusba megadhat egy aliast vagy egy modellazonosítót értékként. Alias használata esetén:
- Válassza ki az elérhető hardver legjobb modelljét . Ha például egy Nvidia CUDA GPU elérhető, a Foundry Local kiválasztja a CUDA-modellt. Ha támogatott NPU érhető el, a Foundry Local kiválasztja az NPU-modellt.
- Lehetővé teszi, hogy rövidebb nevet használjon anélkül, hogy emlékeznie kellene a modellazonosítóra.
Jótanács
Javasoljuk, hogy adjon át egy aliasOrModelId a paraméternek, mert az alkalmazás üzembe helyezésekor a Foundry Local futásidőben szerzi be a legjobb modellt a végfelhasználó gépéhez.
Megjegyzés:
Ha Intel NPU van a Windows, győződjön meg arról, hogy telepítette a Intel NPU-illesztőt az optimális NPU-gyorsításhoz.
Szolgáltatáskezelés
| Módszer | Signature | Leírás |
|---|---|---|
init() |
(aliasOrModelId?: string) => Promise<FoundryModelInfo \| void> |
Inicializálja az SDK-t, és opcionálisan betölt egy modellt. |
isServiceRunning() |
() => Promise<boolean> |
Ellenőrzi, hogy az Foundry Local szolgáltatás fut-e. |
startService() |
() => Promise<void> |
Elindítja az Foundry Local szolgáltatást. |
serviceUrl |
string |
Az Foundry Local szolgáltatás alap URL-címe. |
endpoint |
string |
Az API-végpont (serviceUrl + /v1). |
apiKey |
string |
Az API-kulcs (nincs). |
Katalóguskezelés
| Módszer | Signature | Leírás |
|---|---|---|
listCatalogModels() |
() => Promise<FoundryModelInfo[]> |
A katalógusban elérhető összes modell listája. |
refreshCatalog() |
() => Promise<void> |
Frissíti a modellkatalógust. |
getModelInfo() |
(aliasOrModelId: string, throwOnNotFound = false) => Promise<FoundryModelInfo \| null> |
Modellinformációk lekérdezése alias vagy azonosító alapján. |
Gyorsítótár-kezelés
| Módszer | Signature | Leírás |
|---|---|---|
getCacheLocation() |
() => Promise<string> |
Visszaadja a modell cache könyvtár elérési útját. |
listCachedModels() |
() => Promise<FoundryModelInfo[]> |
A helyi gyorsítótárba letöltött modellek listája. |
modellkezelés
| Módszer | Signature | Leírás |
|---|---|---|
downloadModel() |
(aliasOrModelId: string, token?: string, force = false, onProgress?) => Promise<FoundryModelInfo> |
Letölt egy modellt a helyi gyorsítótárba. |
loadModel() |
(aliasOrModelId: string, ttl = 600) => Promise<FoundryModelInfo> |
Betölt egy modellt a következtetési kiszolgálóba. |
unloadModel() |
(aliasOrModelId: string, force = false) => Promise<void> |
Eltávolít egy modellt a következtetési kiszolgálóról. |
listLoadedModels() |
() => Promise<FoundryModelInfo[]> |
Felsorolja a szolgáltatásban jelenleg betöltött összes modellt. |
Használati példa
Az alábbi kód bemutatja, hogyan használhatja az osztályt modellek FoundryLocalManager kezelésére és az Foundry Local szolgáltatással való interakcióra.
import { FoundryLocalManager } from "foundry-local-sdk";
// By using an alias, the most suitable model will be downloaded
// to your end-user's device.
// TIP: You can find a list of available models by running the
// following command in your terminal: `foundry model list`.
const alias = "qwen2.5-0.5b";
const manager = new FoundryLocalManager();
// Initialize the SDK and optionally load a model
const modelInfo = await manager.init(alias);
console.log("Model Info:", modelInfo);
// Check if the service is running
const isRunning = await manager.isServiceRunning();
console.log(`Service running: ${isRunning}`);
// List available models in the catalog
const catalog = await manager.listCatalogModels();
// Download and load a model
await manager.downloadModel(alias);
await manager.loadModel(alias);
// List models in cache
const localModels = await manager.listCachedModels();
// List loaded models
const loaded = await manager.listLoadedModels();
// Unload a model
await manager.unloadModel(alias);
Ez a példa letölt és betölt egy modellt, majd felsorolja a gyorsítótárazott és betöltött modelleket.
Referenciák:
Integráció az OpenAI-ügyféllel
Telepítse az OpenAI-csomagot:
npm install openai
Az alábbi kód bemutatja, hogyan integrálható az FoundryLocalManager OpenAI-ügyféllel a helyi modellel való interakcióhoz.
import { OpenAI } from "openai";
import { FoundryLocalManager } from "foundry-local-sdk";
// By using an alias, the most suitable model will be downloaded
// to your end-user's device.
// TIP: You can find a list of available models by running the
// following command in your terminal: `foundry model list`.
const alias = "qwen2.5-0.5b";
// Create a FoundryLocalManager instance. This will start the Foundry
// Local service if it is not already running.
const foundryLocalManager = new FoundryLocalManager();
// Initialize the manager with a model. This will download the model
// if it is not already present on the user's device.
const modelInfo = await foundryLocalManager.init(alias);
console.log("Model Info:", modelInfo);
const openai = new OpenAI({
baseURL: foundryLocalManager.endpoint,
apiKey: foundryLocalManager.apiKey,
});
async function streamCompletion() {
const stream = await openai.chat.completions.create({
model: modelInfo.id,
messages: [{ role: "user", content: "What is the golden ratio?" }],
stream: true,
});
for await (const chunk of stream) {
if (chunk.choices[0]?.delta?.content) {
process.stdout.write(chunk.choices[0].delta.content);
}
}
}
streamCompletion();
Ez a példa egy csevegés befejezésére adott választ streamel a helyi modellből.
Referenciák:
Böngészőhasználat
Az SDK tartalmaz egy böngészőkompatibilis verziót, amelyben manuálisan kell megadnia a hoszt URL-jét.
import { FoundryLocalManager } from "foundry-local-sdk/browser";
// Specify the service URL
// Run the Foundry Local service using the CLI: `foundry server start`
// and use the URL from the CLI output
const host = "HOST";
const manager = new FoundryLocalManager({ host });
// Note: The `init`, `isServiceRunning`, and `startService` methods
// are not available in the browser version
Megjegyzés:
A böngésző verziója nem támogatja a , inités isServiceRunning metódusokatstartService. Az SDK böngészőkörnyezetben való használata előtt győződjön meg arról, hogy az Foundry Local szolgáltatás fut. A szolgáltatást a Foundry helyi parancssori felületével indíthatja el: foundry server start. A szolgáltatás URL-címét a parancssori felület kimenetéből adhatja meg.
Használati példa
import { FoundryLocalManager } from "foundry-local-sdk/browser";
// Specify the service URL
// Run the Foundry Local service using the CLI: `foundry server start`
// and use the URL from the CLI output
const host = "HOST";
const manager = new FoundryLocalManager({ host });
const alias = "qwen2.5-0.5b";
// Get all available models
const catalog = await manager.listCatalogModels();
console.log("Available models in catalog:", catalog);
// Download and load a specific model
await manager.downloadModel(alias);
await manager.loadModel(alias);
// View models in your local cache
const localModels = await manager.listCachedModels();
console.log("Cached models:", localModels);
// Check which models are currently loaded
const loaded = await manager.listLoadedModels();
console.log("Loaded models in inference service:", loaded);
// Unload a model when finished
await manager.unloadModel(alias);
Referenciák:
C# SDK-referencia
Előfeltételek
- Telepítse az Foundry helyi parancssori felületét, és győződjön meg arról, hogy a
foundryparancs elérhető az ÖnPATHszámítógépén.
Installation
A Foundry Local C# SDK használatához telepítenie kell a NuGet-csomagot:
dotnet add package Microsoft.AI.Foundry.Local --version 0.3.0
Megjegyzés az aliasokról
Az ebben a hivatkozásban ismertetett számos metódus rendelkezik egy aliasOrModelId paramétersel az aláírásban. A metódusba megadhat egy aliast vagy egy modellazonosítót értékként. Alias használata esetén:
- Válassza ki az elérhető hardver legjobb modelljét . Ha például egy Nvidia CUDA GPU elérhető, a Foundry Local kiválasztja a CUDA-modellt. Ha támogatott NPU érhető el, a Foundry Local kiválasztja az NPU-modellt.
- Lehetővé teszi, hogy rövidebb nevet használjon anélkül, hogy emlékeznie kellene a modellazonosítóra.
Jótanács
Javasoljuk, hogy adjon át egy aliasOrModelId a paraméternek, mert az alkalmazás üzembe helyezésekor a Foundry Local futásidőben szerzi be a legjobb modellt a végfelhasználó gépéhez.
Megjegyzés:
Ha Intel NPU van a Windows, győződjön meg arról, hogy telepítette a Intel NPU-illesztőt az optimális NPU-gyorsításhoz.
Számbavételek
DeviceType
A modell végrehajtásához használt eszköz típusát jelöli.
| Érték | Leírás |
|---|---|
| CPU | CPU-eszköz |
| GPU | GPU-eszköz |
| NPU | NPU-eszköz |
| Érvénytelen | Érvénytelen/ismeretlen |
ExecutionProvider
A modellkövetkeztetés végrehajtási szolgáltatójának felel meg.
| Érték | Leírás |
|---|---|
| Érvénytelen | Érvénytelen szolgáltató |
| CPU végrehajtó szolgáltató | Központi feldolgozó egység végrehajtása |
| WebGpuExecutionProvider | WebGPU végrehajtása |
| CUDA-végrehajtási szolgáltató | CUDA GPU futtatás |
| QNNExecutionProvider | Qualcomm NPU feladatvégrehajtása |
| OpenVINOExecutionProvider | Intel OpenVINO-végrehajtás |
| NvTensorRTRTXExecutionProvider | NVIDIA TensorRT-végrehajtás |
| VitisAIExecutionProvider | AMD Vitis AI-végrehajtás |
FoundryLocalManager osztály
A modellek, a gyorsítótár és a Foundry Local szolgáltatás kezelésének fő belépési pontja.
Építés
var manager = new FoundryLocalManager();
Tulajdonságok
| Ingatlan | Típus | Leírás |
|---|---|---|
| ServiceUri | Uri |
Az Foundry Local szolgáltatás alap URI-ja. |
| Végpont | Uri |
Az API-végpont (ServiceUri + /v1). |
| ApiKey (API kulcs) | string |
Az API-kulcs (alapértelmezett: "OPENAI_API_KEY"). |
| IsServiceRunning | bool |
Azt jelzi, hogy a szolgáltatás fut-e. |
Szolgáltatáskezelés
A szolgáltatás indítása
await manager.StartServiceAsync(CancellationToken.None);
Elindítja az Foundry Local szolgáltatást, ha még nem fut.
A szolgáltatás leállítása
await manager.StopServiceAsync(CancellationToken.None);
Leállítja az Foundry Local szolgáltatást.
Modell indítása és betöltése (statikus segéd)
var manager = await FoundryLocalManager.StartModelAsync("aliasOrModelId");
Elindítja a szolgáltatást, és betölti a megadott modellt.
Katalóguskezelés
Az összes katalógusmodell listázása
List<ModelInfo> models = await manager.ListCatalogModelsAsync();
A katalógusban elérhető összes modellt visszaadja.
A katalógus frissítése
manager.RefreshCatalog();
Törli a gyorsítótárazott katalógust, hogy az a következő hozzáféréskor újratöltődjön.
Modelladatok lekérése alias vagy azonosító alapján
ModelInfo? info = await manager.GetModelInfoAsync("aliasOrModelId");
Modelladatokat ad vissza, vagy null ha nem található.
Gyorsítótár-kezelés
Gyorsítótár helyének lekérése
string cachePath = await manager.GetCacheLocationAsync();
A modellek gyorsítótárazási elérési útját adja vissza.
Gyorsítótárazott modellek listázása
List<ModelInfo> cached = await manager.ListCachedModelsAsync();
A helyi gyorsítótárba letöltött modelleket adja vissza.
modellkezelés
Modell letöltése
ModelInfo? model = await manager.DownloadModelAsync("aliasOrModelId");
Letölt egy modellt a helyi gyorsítótárba.
Töltsön le egy modellt a letöltési folyamat nyomon követésével
await foreach (var progress in manager.DownloadModelWithProgressAsync("aliasOrModelId"))
{
// progress.Percentage, progress.Status, etc.
}
A streamek letöltik az állapotfrissítéseket.
Modell betöltése
ModelInfo loaded = await manager.LoadModelAsync("aliasOrModelId");
Betölt egy modellt a következtetési kiszolgálóba.
Betöltött modellek listázása
List<ModelInfo> loaded = await manager.ListLoadedModelsAsync();
Felsorolja a szolgáltatásban jelenleg betöltött összes modellt.
Modell betöltésének megszüntetése
await manager.UnloadModelAsync("aliasOrModelId");
Eltávolít egy modellt a következtetési kiszolgálóról.
Megszabadulás
Megvalósítja a IDisposable és IAsyncDisposable funkciókat a megfelelő tisztítás érdekében.
manager.Dispose();
// or
await manager.DisposeAsync();
Modelltípusok
Ez a lap a Foundry Local C# SDK által a modellek, letöltések és futásidejű információk leírásához használt főbb adattípusokat ismerteti.
PromptTemplate
A modell parancssori sablonja.
| Ingatlan | Típus | Leírás |
|---|---|---|
| Asszisztens | karakterlánc | Az asszisztens parancssori sablonja. |
| Haladéktalan | karakterlánc | A felhasználói kérés sablonja. |
Runtime
A modell futtatókörnyezetét ismerteti.
| Ingatlan | Típus | Leírás |
|---|---|---|
| Eszköztípus | DeviceType |
Az eszköz típusa (CPU, GPU stb.). |
| Végrehajtásszolgáltató | ExecutionProvider |
A végrehajtási szolgáltató (CUDA, CPU stb.). |
ModelSettings
Modellspecifikus paramétereket jelöl.
| Ingatlan | Típus | Leírás |
|---|---|---|
| Paraméterek | Lista<JsonElement> | Modellparaméter-gyűjtemény |
ModelInfo
Az Foundry Local katalógusában vagy gyorsítótárában található modellt ismerteti.
| Ingatlan | Típus | Leírás |
|---|---|---|
| ModelId | karakterlánc | Egyedi modellazonosító. |
| Megjelenítendő név | karakterlánc | Ember által olvasható modell neve. |
| ProviderType | karakterlánc | Szolgáltató típusa (pl. "CUDA", "CPU"). |
| Uri | karakterlánc | Töltse le az URI-t a modellhez. |
| Verzió | karakterlánc | Modellverzió. |
| ModellTípus | karakterlánc | Modell típusa (pl. "llm"). |
| PromptTemplate | PromptTemplate | Sablon kérése a modellhez. |
| Kiadó | karakterlánc | A modell Publisher. |
| tevékenység | karakterlánc | Feladat típusa (pl. "csevegés", "befejezés"). |
| Runtime | Runtime | Futtatókörnyezet adatai. |
| FájlméretMB | hosszú | Modellfájl mérete MB-ban. |
| Modellbeállítások | Modellbeállítások | Modellspecifikus beállítások. |
| Alias | karakterlánc | A modellhez tartozó alias. |
| Eszközhívás támogatása | bool | Támogatja-e az eszközhívást. |
| Licenc | karakterlánc | Licencazonosító. |
| Licencleírás | karakterlánc | Licenc leírása. |
| ParentModelUri | karakterlánc | A szülőmodell URI-ja, ha van ilyen. |
ModelDownloadProgress
A modellletöltési művelet előrehaladását jelzi.
| Ingatlan | Típus | Leírás |
|---|---|---|
| Százalék | dupla | Letöltési készültségi százalék (0-100). |
| BefejezveVan | bool | Hogy a letöltés befejeződött-e. |
| ModellInfo | ModelInfo? | Modelladatok, ha a letöltés befejeződött. |
| Hibaüzenet | karakterlánc? | Hibaüzenet, ha a letöltés sikertelen volt. |
Statikus metódusok:
-
Progress(double percentage): Folyamatfrissítés létrehozása. -
Completed(ModelInfo modelInfo): Befejezett folyamat eredményének létrehozása. -
Error(string errorMessage): Hozzon létre egy hibaeredményt.
Használati példa
using Microsoft.AI.Foundry.Local;
var manager = new FoundryLocalManager();
await manager.StartServiceAsync();
var models = await manager.ListCatalogModelsAsync();
var alias = "qwen2.5-0.5b";
await manager.DownloadModelAsync(alias);
await manager.LoadModelAsync(alias);
var loaded = await manager.ListLoadedModelsAsync();
await manager.UnloadModelAsync(alias);
manager.Dispose();
Rust SDK-referencia
A Rust SDK for Foundry Local lehetővé teszi a modellek kezelését, a gyorsítótár vezérlését és az Foundry Local szolgáltatással való interakciót.
Előfeltételek
- Telepítse az Foundry helyi parancssori felületét, és győződjön meg arról, hogy a
foundryparancs elérhető az ÖnPATHszámítógépén. - Használja a Rust 1.70.0-s vagy újabb verzióját.
Installation
A Foundry Local Rust SDK használatához adja hozzá a következőket a megfelelő helyre: Cargo.toml.
[dependencies]
foundry-local = "0.1.0"
Másik lehetőségként hozzáadhatja a Foundry Local ládát a következővel cargo:
cargo add foundry-local@0
gyorskonfigurálás
Ezzel a kódrészletel ellenőrizheti, hogy az SDK elindíthatja-e a szolgáltatást, és elolvashatja-e a helyi katalógust.
use anyhow::Result;
use foundry_local::FoundryLocalManager;
#[tokio::main]
async fn main() -> Result<()> {
let mut manager = FoundryLocalManager::builder().bootstrap(true).build().await?;
let models = manager.list_catalog_models().await?;
println!("Catalog models available: {}", models.len());
Ok(())
}
Ez a példa nemzero számot nyomtat, amikor a szolgáltatás fut, és a katalógus elérhető.
Referenciák:
FoundryLocalManager
A Foundry helyi SDK-műveleteinek kezelője.
Fields
-
service_uri: Option<String>: Az Foundry szolgáltatás URI-ja. -
client: Option<HttpClient>: HTTP-ügyfél API-kérésekhez. -
catalog_list: Option<Vec<FoundryModelInfo>>: A katalógusmodellek gyorsítótárazott listája. -
catalog_dict: Option<HashMap<String, FoundryModelInfo>>: Katalógusmodellek gyorsítótárazott szótára. -
timeout: Option<u64>: Nem kötelező HTTP-ügyfél időtúllépése.
Metódusok
pub fn builder() -> FoundryLocalManagerBuilder
Hozzon létre egy új szerkesztőt a következőhözFoundryLocalManager: .pub fn service_uri(&self) -> Result<&str>
A szolgáltatás URI-jának lekérése.
Visszatér: A Foundry szolgáltatás URI-ja.fn client(&self) -> Result<&HttpClient>
Szerezze be az HTTP-ügyfélpéldányt.
Visszatér: HTTP-ügyfél.pub fn endpoint(&self) -> Result<String>
Szerezze meg a szolgáltatás végpontját.
Visszatérés: Az végpont URL-címe.pub fn api_key(&self) -> String
Kérje le az API-kulcsot a hitelesítéshez.
Visszatér: API-kulcs.pub fn is_service_running(&mut self) -> bool
Ellenőrizze, hogy fut-e a szolgáltatás, és ha megtalálta, állítsa be a szolgáltatás URI-jának beállítását.
Visszatér:trueha fut,falseellenkező esetben.pub fn start_service(&mut self) -> Result<()>
Indítsa el az Foundry Local szolgáltatást.pub async fn list_catalog_models(&mut self) -> Result<&Vec<FoundryModelInfo>>
Szerezze be a katalógusban elérhető modellek listáját.pub fn refresh_catalog(&mut self)
Frissítse a katalógus gyorsítótárát.pub async fn get_model_info(&mut self, alias_or_model_id: &str, raise_on_not_found: bool) -> Result<FoundryModelInfo>
Modelladatok lekérése alias vagy azonosító alapján.
Argumentumok:-
alias_or_model_id: Aliaszként vagy modellazonosítóként. -
raise_on_not_found: Ha igaz, hibát jelez, ha nem található.
-
pub async fn get_cache_location(&self) -> Result<String>
A gyorsítótár helyének lekérése karakterláncként.pub async fn list_cached_models(&mut self) -> Result<Vec<FoundryModelInfo>>
Gyorsítótárazott modellek listázása.pub async fn download_model(&mut self, alias_or_model_id: &str, token: Option<&str>, force: bool) -> Result<FoundryModelInfo>
Töltse le a modellt.
Argumentumok:-
alias_or_model_id: Aliaszként vagy modellazonosítóként. -
token: Opcionális hitelesítési token. -
force: Ha már gyorsítótárazott, kényszerítse az újraletöltést.
-
pub async fn load_model(&mut self, alias_or_model_id: &str, ttl: Option<i32>) -> Result<FoundryModelInfo>
Töltsön be egy modellt következtetésként.
Argumentumok:-
alias_or_model_id: Aliaszként vagy modellazonosítóként. -
ttl: Választható élettartam másodpercben.
-
pub async fn unload_model(&mut self, alias_or_model_id: &str, force: bool) -> Result<()>
Modell betöltésének eltávolítása.
Argumentumok:-
alias_or_model_id: Aliaszként vagy modellazonosítóként. -
force: Akkor is kényszerítse a kiürítéseket, ha használatban van.
-
pub async fn list_loaded_models(&mut self) -> Result<Vec<FoundryModelInfo>>
Betöltött modellek listázása.
FoundryLocalManagerBuilder
FoundryLocalManager példány létrehozására szolgáló Builder.
Fields
-
alias_or_model_id: Option<String>— Alias vagy modellazonosító a letöltéshez és a betöltéshez. -
bootstrap: bool— Hogy elinduljon-e a szolgáltatás, ha nem fut. -
timeout_secs: Option<u64>– HTTP-kliens időtúllépése másodpercekben.
Metódusok
pub fn new() -> Self
Hozzon létre egy új szerkesztőpéldányt.pub fn alias_or_model_id(mut self, alias_or_model_id: impl Into<String>) -> Self
Állítsa be az aliast vagy a modellazonosítót letöltésre és betöltésre.pub fn bootstrap(mut self, bootstrap: bool) -> Self
Adja meg, hogy elindítsa-e a szolgáltatást, ha nem fut.pub fn timeout_secs(mut self, timeout_secs: u64) -> Self
Állítsa be a HTTP-ügyfél időtúllépését másodpercekben.pub async fn build(self) -> Result<FoundryLocalManager>
Építse fel aFoundryLocalManagerpéldányt.
FoundryModelInfo
Egy modellről szóló információkat tartalmaz.
Fields
-
alias: String– A modell aliasa. -
id: String– A modell azonosítója. -
version: String– Modell verzió. -
runtime: ExecutionProvider— A végrehajtási szolgáltató (CPU, CUDA stb.). -
uri: String– A modell URI-ja. -
file_size_mb: i32— Modellfájl mérete MB-ban. -
prompt_template: serde_json::Value— A modell sablonjának kérése. -
provider: String— Szolgáltató neve. -
publisher: String– Publisher név. -
license: String— Licenc típusa. -
task: String— Modellfeladat (például szöveggenerálás).
Metódusok
from_list_response(response: &FoundryListResponseModel) -> Self
EgyFoundryModelInfo-t hoz létre egy katalógusválaszból.to_download_body(&self) -> serde_json::Value
A modell adatait JSON-törzsgé alakítja a letöltési kérelmekhez.
ExecutionProvider
A támogatott végrehajtási szolgáltatók felsorolása.
CPUWebGPUCUDAQNN
Metódusok
get_alias(&self) -> String
A végrehajtási szolgáltató sztring aliasát adja vissza.
ModelRuntime
A modell futtatókörnyezetét ismerteti.
device_type: DeviceTypeexecution_provider: ExecutionProvider