Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tato příručka obsahuje pokyny pro migraci kódu ze starší verze sady Foundry Local SDK na aktuální verzi. Nová sada SDK odebere závislost na rozhraní příkazového řádku Foundry Local CLI, takže umožňuje dodávat aplikace bez nutnosti uživatelů instalovat rozhraní příkazového řádku nebo nastavit místní prostředí Foundry. Nová sada SDK také obsahuje vylepšení rozhraní API pro lepší použitelnost a výkon.
Průvodce migrací sady C# SDK
Pokud chcete zlepšit schopnost dodávat aplikace pomocí AI na zařízení, došlo k podstatným změnám architektury sady C# SDK ve verzi 0.8.0 a novějších verzích. V této části popisujeme klíčové změny, které vám pomůžou s migrací aplikací na nejnovější verzi sady SDK.
Poznámka:
Ve verzi 0.8.0 sady SDK a novějších verzích rozhraní API dochází k zásadním změnám z předchozích verzí (<=0.3.0).
Následující diagram znázorňuje, jak předchozí architektura – pro starší 0.8.0 verze – se silně spoléhala na použití webového serveru REST ke správě modelů a odvozování, jako jsou dokončování chatu:
Sada SDK by použila vzdálené procedurální volání (RPC) k vyhledání spustitelného souboru Local CLI Foundry na počítači, spuštění webového serveru a následné komunikaci s ním přes protokol HTTP. Tato architektura měla několik omezení, mezi která patří:
- Složitost při správě životního cyklu webového serveru
- Náročné nasazení: Koncoví uživatelé museli mít na svých počítačích a vaší aplikaci nainstalované místní rozhraní příkazového řádku Foundry.
- Správa verzí rozhraní příkazového řádku a sady SDK může vést k problémům s kompatibilitou.
Přepracovaná architektura ve verzi 0.8.0 a novější využívá zjednodušený přístup k řešení těchto problémů. Nová architektura je následující:
V této nové architektuře:
- Vaše aplikace je samostatná. Nevyžaduje instalaci rozhraní příkazového řádku Foundry Local CLI samostatně na počítači koncového uživatele, což usnadňuje nasazení aplikací.
- Webový server REST je volitelný. Webový server můžete dál používat, pokud chcete integrovat s jinými nástroji, které komunikují přes protokol HTTP. Podrobnosti o tom, jak tuto funkci používat, najdete v tématu Použití dokončování chatu prostřednictvím serveru REST s Foundry Local .
- Sada SDK má nativní podporu pro dokončování chatu a přepisy zvuku, což umožňuje vytvářet konverzační aplikace AI s menším počtem závislostí. Podrobnosti o použití této funkce najdete v rozhraní API pro dokončování nativních chatů Foundry Local .
- Na zařízeních s Windows můžete použít sestavení Windows ML, které zpracovává hardwarové zrychlení pro modely v zařízení tím, že načte správný runtime a ovladače.
Změny rozhraní API
Verze 0.8.0 a novější poskytují více objektově orientované a kompozovatelné rozhraní API. Hlavním vstupním bodem je i nadále třída FoundryLocalManager, ale místo ploché sady metod, které pracují prostřednictvím statických volání bezstavového rozhraní HTTP API, sada SDK nyní zpřístupňuje metody na instanci FoundryLocalManager, která uchovává stav o službě a modelech.
| Primitivní | Verze < 0.8.0 | Verze >= 0.8.0 |
|---|---|---|
| Configuration | N/A | config = Configuration(...) |
| Získat manažera | mgr = FoundryLocalManager(); |
await FoundryLocalManager.CreateAsync(config, logger);var mgr = FoundryLocalManager.Instance; |
| Získat katalog | N/A | catalog = await mgr.GetCatalogAsync(); |
| Výpis modelů | mgr.ListCatalogModelsAsync(); |
catalog.ListModelsAsync(); |
| Získání modelu | mgr.GetModelInfoAsync("aliasOrModelId"); |
catalog.GetModelAsync(alias: "alias"); |
| Získat variantu | N/A | model.SelectedVariant; |
| Nastavit variantu | N/A | model.SelectVariant(); |
| Stažení modelu | mgr.DownloadModelAsync("aliasOrModelId"); |
model.DownloadAsync() |
| Načtení modelu | mgr.LoadModelAsync("aliasOrModelId"); |
model.LoadAsync() |
| Uvolnění modelu | mgr.UnloadModelAsync("aliasOrModelId"); |
model.UnloadAsync() |
| Výpis načtených modelů | mgr.ListLoadedModelsAsync(); |
catalog.GetLoadedModelsAsync(); |
| Získat cestu modelu | N/A | model.GetPathAsync() |
| Spuštění služby | mgr.StartServiceAsync(); |
mgr.StartWebServerAsync(); |
| Zastavení služby | mgr.StopServiceAsync(); |
mgr.StopWebServerAsync(); |
| Umístění mezipaměti | mgr.GetCacheLocationAsync(); |
config.ModelCacheDir |
| Výpis modelů uložených v mezipaměti | mgr.ListCachedModelsAsync(); |
catalog.GetCachedModelsAsync(); |
Rozhraní API umožňuje, aby služba Foundry Local byla více konfigurovatelná přes webový server, protokolování, umístění mezipaměti a výběr variant modelu. Třída například Configuration umožňuje nastavit název aplikace, úroveň protokolování, adresy URL webového serveru a adresáře pro data aplikací, mezipaměť modelu a protokoly:
var config = new Configuration
{
AppName = "app-name",
LogLevel = Microsoft.AI.Foundry.Local.LogLevel.Information,
Web = new Configuration.WebService
{
Urls = "http://127.0.0.1:55588"
},
AppDataDir = "./foundry_local_data",
ModelCacheDir = "{AppDataDir}/model_cache",
LogsDir = "{AppDataDir}/logs"
};
Referenční informace k rozhraní API
- Další podrobnosti o sadě Foundry Local C# SDK najdete v referenčních informacích k rozhraní API sady Foundry Local C# SDK.
Průvodce migrací sady JavaScript SDK
Pokud chcete zlepšit schopnost dodávat aplikace pomocí umělé inteligence na zařízení, došlo k podstatným změnám architektury sady JavaScript SDK. V této části popisujeme klíčové změny, které vám pomůžou s migrací aplikací na nejnovější verzi sady SDK.
Poznámka:
Ve verzi 0.9.0 sady JavaScript SDK a novějších verzích rozhraní API dochází k zásadním změnám v rozhraní API z předchozích verzí (<=0.5.0).
Následující diagram znázorňuje, jak předchozí architektura silně spoléhala na použití webového serveru REST ke správě modelů a odvozování, jako jsou dokončování chatu:
Sada SDK by použila vzdálené procedurální volání (RPC) k vyhledání spustitelného souboru Local CLI Foundry na počítači, spuštění webového serveru a následné komunikaci s ním přes protokol HTTP. Tato architektura měla několik omezení, mezi která patří:
- Složitost při správě životního cyklu webového serveru
- Náročné nasazení: Koncoví uživatelé museli mít na svých počítačích a vaší aplikaci nainstalované místní rozhraní příkazového řádku Foundry.
- Správa verzí rozhraní příkazového řádku a sady SDK může vést k problémům s kompatibilitou.
K řešení těchto problémů používá přepracovaná architektura efektivnější přístup. Nová architektura je následující:
V této nové architektuře:
- Vaše aplikace je samostatná. Nevyžaduje instalaci rozhraní příkazového řádku Foundry Local CLI samostatně na počítači koncového uživatele, což usnadňuje nasazení aplikací.
- Webový server REST je volitelný. Webový server můžete dál používat, pokud chcete integrovat s jinými nástroji, které komunikují přes protokol HTTP.
- Sada SDK má nativní podporu pro dokončování chatu a přepisy zvuku, což umožňuje vytvářet konverzační aplikace AI s menším počtem závislostí.
Změny rozhraní API
Nejnovější verze poskytuje objektově orientované a kompozovatelné rozhraní API. Hlavním vstupním bodem je i nadále třída FoundryLocalManager, ale místo ploché sady metod, které pracují prostřednictvím statických volání bezstavového rozhraní HTTP API, sada SDK nyní zpřístupňuje metody na instanci FoundryLocalManager, která uchovává stav o službě a modelech.
| Primitivní | Předchozí verze | Aktuální verze |
|---|---|---|
| Configuration | N/A | config = { appName: "app-name", ... } |
| Získat manažera | mgr = new FoundryLocalManager(); |
mgr = FoundryLocalManager.create(config); |
| Získat katalog | N/A | catalog = mgr.catalog; |
| Výpis modelů | mgr.listCatalogModels(); |
catalog.getModels(); |
| Získání modelu | mgr.getModelInfo("aliasOrModelId"); |
catalog.getModel(alias); |
| Získat variantu | N/A | model.id; |
| Nastavit variantu | N/A | model.selectVariant(modelId); |
| Stažení modelu | mgr.downloadModel("aliasOrModelId"); |
model.download(); |
| Načtení modelu | mgr.loadModel("aliasOrModelId"); |
model.load(); |
| Uvolnění modelu | mgr.unloadModel("aliasOrModelId"); |
model.unload(); |
| Výpis načtených modelů | mgr.listLoadedModels(); |
catalog.getLoadedModels(); |
| Získat cestu modelu | N/A | model.path; |
| Spuštění služby | mgr.startService(); |
mgr.startWebService(); |
| Zastavení služby | N/A | mgr.stopWebService(); |
| Umístění mezipaměti | mgr.getCacheLocation(); |
config.modelCacheDir |
| Výpis modelů uložených v mezipaměti | mgr.listCachedModels(); |
catalog.getCachedModels(); |
Rozhraní API umožňuje, aby služba Foundry Local byla více konfigurovatelná přes webový server, protokolování, umístění mezipaměti a výběr variant modelu. Můžete například config nastavit název aplikace, úroveň protokolování, adresy URL webového serveru a adresáře pro data aplikací, mezipaměť modelu a protokoly:
const config = {
appName: "app-name",
logLevel: "info",
webServiceUrls: "http://127.0.0.1:55588",
appDataDir: "./foundry_local_data",
modelCacheDir: "{appDataDir}/model_cache",
logsDir: "{appDataDir}/logs",
};
V předchozí verzi sady Foundry Local JavaScript SDK se nepodařilo nakonfigurovat tato nastavení přímo prostřednictvím sady SDK, která omezila vaši schopnost přizpůsobit chování služby.
Odkazy
Průvodce migrací sady Python SDK
Aby se zlepšila schopnost dodávat aplikace pomocí umělé inteligence na zařízení, došlo k podstatným změnám architektury Python SDK. V této části popisujeme klíčové změny, které vám pomůžou s migrací aplikací na nejnovější verzi sady SDK.
Poznámka:
V nejnovější verzi sady PYTHON SDK (1.0.0) dochází k zásadním změnám rozhraní API z předchozích verzí (<=0.5.1).
Následující diagram znázorňuje, jak předchozí architektura silně spoléhala na použití webového serveru REST ke správě modelů a odvozování, jako jsou dokončování chatu:
Sada SDK by použila vzdálené procedurální volání (RPC) k vyhledání spustitelného souboru Local CLI Foundry na počítači, spuštění webového serveru a následné komunikaci s ním přes protokol HTTP. Tato architektura měla několik omezení, mezi která patří:
- Složitost při správě životního cyklu webového serveru
- Náročné nasazení: Koncoví uživatelé museli mít na svých počítačích a vaší aplikaci nainstalované místní rozhraní příkazového řádku Foundry.
- Správa verzí rozhraní příkazového řádku a sady SDK může vést k problémům s kompatibilitou.
K řešení těchto problémů používá přepracovaná architektura efektivnější přístup. Nová architektura je následující:
V této nové architektuře:
- Vaše aplikace je samostatná. Nevyžaduje instalaci rozhraní příkazového řádku Foundry Local CLI samostatně na počítači koncového uživatele, což usnadňuje nasazení aplikací.
- Webový server REST je volitelný. Webový server můžete dál používat, pokud chcete integrovat s jinými nástroji, které komunikují přes protokol HTTP.
- Sada SDK má nativní podporu pro dokončování chatu a přepisy zvuku, což umožňuje vytvářet konverzační aplikace AI s menším počtem závislostí.
Změny rozhraní API
Nejnovější verze poskytuje objektově orientované a kompozovatelné rozhraní API. Hlavním vstupním bodem je FoundryLocalManager i nadále třída, ale inicializační vzor, správa modelů a odvozování se výrazně změnily.
| Primitivní | Předchozí verze (foundry-local) |
Aktuální verze (foundry-local-sdk) |
|---|---|---|
| Balíček | pip install foundry-local |
pip install foundry-local-sdk |
| Dovoz | from foundry_local import FoundryLocalManager |
from foundry_local_sdk import Configuration, FoundryLocalManager |
| Configuration | N/A | config = Configuration(app_name="app-name") |
| Získat manažera | manager = FoundryLocalManager(alias) |
FoundryLocalManager.initialize(config)manager = FoundryLocalManager.instance |
| Získat katalog | N/A | catalog = manager.catalog |
| Výpis modelů | manager.list_catalog_models() |
catalog.list_models() |
| Získání modelu | manager.get_model_info(alias) |
catalog.get_model(alias) |
| Stažení modelu | manager.download_model(alias) |
model.download(progress_callback) |
| Načtení modelu | manager.load_model(alias) |
model.load() |
| Uvolnění modelu | manager.unload_model(alias) |
model.unload() |
| Výpis načtených modelů | manager.list_loaded_models() |
catalog.get_loaded_models() |
| Výpis modelů uložených v mezipaměti | manager.list_cached_models() |
catalog.get_cached_models() |
| Umístění mezipaměti | manager.get_cache_location() |
config.model_cache_dir |
| Spuštění služby | manager.start_service() |
manager.start_web_service() |
| Koncový bod služby | manager.endpoint |
manager.urls |
Rozhraní API umožňuje, aby služba Foundry Local byla více konfigurovatelná přes webový server, protokolování, umístění mezipaměti a výběr variant modelu. Třída například Configuration umožňuje nastavit název aplikace, úroveň protokolování, adresy URL webového serveru a adresáře pro data aplikací, mezipaměť modelu a protokoly:
from foundry_local_sdk import Configuration
config = Configuration(
app_name="app-name",
log_level="info",
web={"urls": "http://127.0.0.1:55588"},
model_cache_dir="./foundry_local_data/model_cache",
)
Odkazy
Průvodce migrací sady Rust SDK
Pokud chcete zlepšit schopnost dodávat aplikace pomocí umělé inteligence na zařízení, došlo k podstatným změnám architektury sady Rust SDK. V této části popisujeme klíčové změny, které vám pomůžou s migrací aplikací na nejnovější verzi sady SDK.
Poznámka:
V nejnovější verzi sady Rust SDK (1.0.0) dochází k zásadním změnám rozhraní API z předchozí verze. Název bedny se změnil z foundry-local na foundry-local-sdk.
Následující diagram znázorňuje, jak předchozí architektura silně spoléhala na použití webového serveru REST ke správě modelů a odvozování, jako jsou dokončování chatu:
Sada SDK použije vzdálené procedurální volání (RPC) k vyhledání spustitelného souboru Local CLI Foundry na počítači, spuštění webového serveru a následné komunikaci s ním přes PROTOKOL HTTP. Tato architektura měla několik omezení, mezi která patří:
- Složitost při správě životního cyklu webového serveru
- Náročné nasazení: Koncoví uživatelé museli mít na svých počítačích a vaší aplikaci nainstalované místní rozhraní příkazového řádku Foundry.
- Správa verzí rozhraní příkazového řádku a sady SDK může vést k problémům s kompatibilitou.
K řešení těchto problémů používá přepracovaná architektura efektivnější přístup. Nová architektura je následující:
V této nové architektuře:
- Vaše aplikace je samostatná. Nevyžaduje instalaci rozhraní příkazového řádku Foundry Local CLI samostatně na počítači koncového uživatele, což usnadňuje nasazení aplikací.
- Webový server REST je volitelný. Webový server můžete dál používat, pokud chcete integrovat s jinými nástroji, které komunikují přes protokol HTTP.
- Sada SDK má nativní podporu pro dokončování chatu a přepisy zvuku, což umožňuje vytvářet konverzační aplikace AI s menším počtem závislostí.
Změny rozhraní API
Nejnovější verze poskytuje objektově orientované a kompozovatelné rozhraní API. Model tvůrce byl nahrazen přístupem založeným na konfiguraci a správa modelů teď používá vyhrazené Model objekty.
| Primitivní | Předchozí verze (foundry-local) |
Aktuální verze (foundry-local-sdk) |
|---|---|---|
| Přepravka | foundry-local |
foundry-local-sdk |
| Configuration | N/A | FoundryLocalConfig::new("app-name") |
| Získat manažera | FoundryLocalManager::builder().build().await? |
FoundryLocalManager::create(config)? |
| Získat katalog | N/A | manager.catalog() |
| Výpis modelů | manager.list_catalog_models().await? |
manager.catalog().get_models().await? |
| Získání modelu | manager.get_model_info(alias).await? |
manager.catalog().get_model(alias).await? |
| Stažení modelu | manager.download_model(alias).await? |
model.download(callback).await? |
| Načtení modelu | manager.load_model(alias).await? |
model.load().await? |
| Uvolnění modelu | manager.unload_model(alias).await? |
model.unload().await? |
| Výpis načtených modelů | manager.list_loaded_models().await? |
manager.catalog().get_loaded_models().await? |
| Výpis modelů uložených v mezipaměti | manager.list_cached_models().await? |
manager.catalog().get_cached_models().await? |
| Spuštění služby | manager.start_service()? |
manager.start_web_service().await? |
| Koncový bod | manager.endpoint()? |
manager.urls() |
| Volání HTTP |
reqwest::Client (ruční REST) |
Nativní sada SDK: model.create_chat_client() |
Nová sada SDK poskytuje nativní chatovací a zvukové klienty, což ve většině případů eliminuje potřebu ručních požadavků HTTP:
use foundry_local_sdk::{FoundryLocalConfig, FoundryLocalManager};
let config = FoundryLocalConfig::new("app-name");
let manager = FoundryLocalManager::create(config)?;
let model = manager.catalog().get_model("qwen2.5-0.5b").await?;
model.download(None).await?;
model.load().await?;
// Native chat client - no HTTP server needed
let client = model.create_chat_client().temperature(0.7).max_tokens(256);