Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Deze handleiding bevat instructies voor het migreren van uw code van de verouderde versie van de Foundry Local SDK naar de huidige versie. De nieuwe SDK verwijdert de afhankelijkheid van de lokale Foundry CLI en stelt u daarom in staat om uw toepassingen te verzenden zonder dat uw gebruikers de CLI hoeven te installeren of een lokale Foundry-omgeving in te stellen. De nieuwe SDK bevat ook verbeteringen in de API voor betere bruikbaarheid en prestaties.
Migratiehandleiding voor C# SDK
Om uw mogelijkheden voor het verzenden van toepassingen met AI op het apparaat te verbeteren, zijn er aanzienlijke wijzigingen in de architectuur van de C#-SDK in versie 0.8.0 en hoger. In deze sectie wordt een overzicht gegeven van de belangrijkste wijzigingen die u helpen bij het migreren van uw toepassingen naar de nieuwste versie van de SDK.
Opmerking
In de SDK-versie 0.8.0 en hoger zijn er belangrijke wijzigingen in de API van eerdere versies (<=0.3.0).
In het volgende diagram ziet u hoe de vorige architectuur , voor versies ouder dan 0.8.0 - sterk afhankelijk was van het gebruik van een REST-webserver voor het beheren van modellen en deductie zoals voltooiingen van chats:
De SDK gebruikt een Remote Procedure Call (RPC) om het uitvoerbare bestand foundry Local CLI op de computer te vinden, de webserver te starten en er vervolgens mee te communiceren via HTTP. Deze architectuur had verschillende beperkingen, waaronder:
- Complexiteit bij het beheren van de levenscyclus van de webserver.
- Uitdagende implementatie: eindgebruikers moesten de Lokale CLI van Foundry installeren op hun computers en uw toepassing.
- Versiebeheer van de CLI en SDK kan leiden tot compatibiliteitsproblemen.
Om deze problemen op te lossen, gebruikt de opnieuw ontworpen architectuur in versie 0.8.0 en later een meer gestroomlijnde benadering. De nieuwe architectuur is als volgt:
In deze nieuwe architectuur:
- Uw toepassing is zelfstandig. Het vereist niet dat de Lokale CLI van Foundry afzonderlijk op de computer van de eindgebruiker wordt geïnstalleerd, zodat u toepassingen eenvoudiger kunt implementeren.
- De REST-webserver is optioneel. U kunt de webserver nog steeds gebruiken als u wilt integreren met andere hulpprogramma's die via HTTP communiceren. Lees Chatvoltooiingen gebruiken via REST-server met Foundry Local voor meer informatie over het gebruik van deze functie.
- De SDK biedt systeemeigen ondersteuning voor chatvoltooiingen en audiotranscripties, zodat u conversationele AI-toepassingen met minder afhankelijkheden kunt bouwen. Lees de API voor het gebruik van Foundry Local native chat voor meer informatie over het gebruik van deze functie.
- Op Windows apparaten kunt u een Windows ML-build gebruiken die hardwareversnelling voor modellen op het apparaat verwerkt door de juiste runtime en stuurprogramma's in te trekken.
API-wijzigingen
Versie 0.8.0 en hoger biedt een meer objectgeoriënteerde en composeerbare API. Het belangrijkste toegangspunt blijft de FoundryLocalManager klasse, maar in plaats van een platte set methoden te zijn die werken via statische aanroepen naar een stateless HTTP-API, biedt de SDK nu methoden voor het FoundryLocalManager exemplaar dat de status over de service en modellen onderhoudt.
| Primitief | Versie < 0.8.0 | Versie >= 0.8.0 |
|---|---|---|
| Configuration | N/A | config = Configuration(...) |
| Manager ophalen | mgr = FoundryLocalManager(); |
await FoundryLocalManager.CreateAsync(config, logger);var mgr = FoundryLocalManager.Instance; |
| Catalogus ophalen | N/A | catalog = await mgr.GetCatalogAsync(); |
| Modellen weergeven | mgr.ListCatalogModelsAsync(); |
catalog.ListModelsAsync(); |
| Model ophalen | mgr.GetModelInfoAsync("aliasOrModelId"); |
catalog.GetModelAsync(alias: "alias"); |
| Variant ophalen | N/A | model.SelectedVariant; |
| Variant instellen | N/A | model.SelectVariant(); |
| Een model downloaden | mgr.DownloadModelAsync("aliasOrModelId"); |
model.DownloadAsync() |
| Een model laden | mgr.LoadModelAsync("aliasOrModelId"); |
model.LoadAsync() |
| Een model ontladen | mgr.UnloadModelAsync("aliasOrModelId"); |
model.UnloadAsync() |
| Geladen modellen weergeven | mgr.ListLoadedModelsAsync(); |
catalog.GetLoadedModelsAsync(); |
| Modelpad ophalen | N/A | model.GetPathAsync() |
| Service starten | mgr.StartServiceAsync(); |
mgr.StartWebServerAsync(); |
| Service stoppen | mgr.StopServiceAsync(); |
mgr.StopWebServerAsync(); |
| Cachelocatie | mgr.GetCacheLocationAsync(); |
config.ModelCacheDir |
| In cache opgeslagen modellen weergeven | mgr.ListCachedModelsAsync(); |
catalog.GetCachedModelsAsync(); |
Met de API kan Foundry Local beter worden geconfigureerd via de webserver, logboekregistratie, cachelocatie en modelvariantselectie. Met de Configuration klasse kunt u bijvoorbeeld de naam van de toepassing, logboekregistratieniveau, webserver-URL's en mappen instellen voor toepassingsgegevens, modelcache en logboeken:
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"
};
API-referentie
- Voor meer informatie over de Foundry Local C# SDK lees Foundry Local C# SDK API Reference.
Migratiehandleiding voor JavaScript SDK
Om uw mogelijkheden voor het verzenden van toepassingen met AI op het apparaat te verbeteren, zijn er aanzienlijke wijzigingen in de architectuur van de JavaScript SDK. In deze sectie wordt een overzicht gegeven van de belangrijkste wijzigingen die u helpen bij het migreren van uw toepassingen naar de nieuwste versie van de SDK.
Opmerking
In de JavaScript SDK-versie 0.9.0 en hoger zijn er belangrijke wijzigingen in de API van eerdere versies (<=0.5.0).
In het volgende diagram ziet u hoe de vorige architectuur sterk afhankelijk was van het gebruik van een REST-webserver voor het beheren van modellen en deductie zoals voltooiingen van chats:
De SDK gebruikt een Remote Procedure Call (RPC) om het uitvoerbare bestand foundry Local CLI op de computer te vinden, de webserver te starten en er vervolgens mee te communiceren via HTTP. Deze architectuur had verschillende beperkingen, waaronder:
- Complexiteit bij het beheren van de levenscyclus van de webserver.
- Uitdagende implementatie: eindgebruikers moesten de Lokale CLI van Foundry installeren op hun computers en uw toepassing.
- Versiebeheer van de CLI en SDK kan leiden tot compatibiliteitsproblemen.
Om deze problemen op te lossen, maakt de opnieuw ontworpen architectuur gebruik van een meer gestroomlijnde benadering. De nieuwe architectuur is als volgt:
In deze nieuwe architectuur:
- Uw toepassing is zelfstandig. Het vereist niet dat de Lokale CLI van Foundry afzonderlijk op de computer van de eindgebruiker wordt geïnstalleerd, zodat u toepassingen eenvoudiger kunt implementeren.
- De REST-webserver is optioneel. U kunt de webserver nog steeds gebruiken als u wilt integreren met andere hulpprogramma's die via HTTP communiceren.
- De SDK biedt systeemeigen ondersteuning voor chatvoltooiingen en audiotranscripties, zodat u conversationele AI-toepassingen met minder afhankelijkheden kunt bouwen.
API-wijzigingen
De nieuwste versie biedt een meer objectgeoriënteerde en composeerbare API. Het belangrijkste toegangspunt blijft de FoundryLocalManager klasse, maar in plaats van een platte set methoden te zijn die werken via statische aanroepen naar een stateless HTTP-API, biedt de SDK nu methoden voor het FoundryLocalManager exemplaar dat de status over de service en modellen onderhoudt.
| Primitief | Vorige versie | Huidige versie |
|---|---|---|
| Configuration | N/A | config = { appName: "app-name", ... } |
| Manager ophalen | mgr = new FoundryLocalManager(); |
mgr = FoundryLocalManager.create(config); |
| Catalogus ophalen | N/A | catalog = mgr.catalog; |
| Modellen weergeven | mgr.listCatalogModels(); |
catalog.getModels(); |
| Model ophalen | mgr.getModelInfo("aliasOrModelId"); |
catalog.getModel(alias); |
| Variant ophalen | N/A | model.id; |
| Variant instellen | N/A | model.selectVariant(modelId); |
| Een model downloaden | mgr.downloadModel("aliasOrModelId"); |
model.download(); |
| Een model laden | mgr.loadModel("aliasOrModelId"); |
model.load(); |
| Een model ontladen | mgr.unloadModel("aliasOrModelId"); |
model.unload(); |
| Geladen modellen weergeven | mgr.listLoadedModels(); |
catalog.getLoadedModels(); |
| Modelpad ophalen | N/A | model.path; |
| Service starten | mgr.startService(); |
mgr.startWebService(); |
| Service stoppen | N/A | mgr.stopWebService(); |
| Cachelocatie | mgr.getCacheLocation(); |
config.modelCacheDir |
| In cache opgeslagen modellen weergeven | mgr.listCachedModels(); |
catalog.getCachedModels(); |
Met de API kan Foundry Local beter worden geconfigureerd via de webserver, logboekregistratie, cachelocatie en modelvariantselectie. U kunt bijvoorbeeld config de naam van de toepassing, logboekregistratieniveau, webserver-URL's en mappen instellen voor toepassingsgegevens, modelcache en logboeken:
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",
};
In de vorige versie van de Foundry Local JavaScript SDK kon u deze instellingen niet rechtstreeks configureren via de SDK, waardoor uw mogelijkheden om het gedrag van de service aan te passen werden beperkt.
Verwijzingen
Migratiehandleiding voor Python SDK
Om uw mogelijkheden voor het verzenden van toepassingen met AI op het apparaat te verbeteren, zijn er aanzienlijke wijzigingen in de architectuur van de Python SDK. In deze sectie wordt een overzicht gegeven van de belangrijkste wijzigingen die u helpen bij het migreren van uw toepassingen naar de nieuwste versie van de SDK.
Opmerking
In de nieuwste Python SDK-versie (1.0.0) zijn er belangrijke wijzigingen in de API van vorige versies (<=0.5.1).
In het volgende diagram ziet u hoe de vorige architectuur sterk afhankelijk was van het gebruik van een REST-webserver voor het beheren van modellen en deductie zoals voltooiingen van chats:
De SDK gebruikt een Remote Procedure Call (RPC) om het uitvoerbare bestand foundry Local CLI op de computer te vinden, de webserver te starten en er vervolgens mee te communiceren via HTTP. Deze architectuur had verschillende beperkingen, waaronder:
- Complexiteit bij het beheren van de levenscyclus van de webserver.
- Uitdagende implementatie: eindgebruikers moesten de Lokale CLI van Foundry installeren op hun computers en uw toepassing.
- Versiebeheer van de CLI en SDK kan leiden tot compatibiliteitsproblemen.
Om deze problemen op te lossen, maakt de opnieuw ontworpen architectuur gebruik van een meer gestroomlijnde benadering. De nieuwe architectuur is als volgt:
In deze nieuwe architectuur:
- Uw toepassing is zelfstandig. Het vereist niet dat de Lokale CLI van Foundry afzonderlijk op de computer van de eindgebruiker wordt geïnstalleerd, zodat u toepassingen eenvoudiger kunt implementeren.
- De REST-webserver is optioneel. U kunt de webserver nog steeds gebruiken als u wilt integreren met andere hulpprogramma's die via HTTP communiceren.
- De SDK biedt systeemeigen ondersteuning voor chatvoltooiingen en audiotranscripties, zodat u conversationele AI-toepassingen met minder afhankelijkheden kunt bouwen.
API-wijzigingen
De nieuwste versie biedt een meer objectgeoriënteerde en composeerbare API. Het belangrijkste toegangspunt blijft de FoundryLocalManager klasse, maar het initialisatiepatroon, modelbeheer en deductie zijn allemaal aanzienlijk gewijzigd.
| Primitief | Vorige versie (foundry-local) |
Huidige versie (foundry-local-sdk) |
|---|---|---|
| Pakket | pip install foundry-local |
pip install foundry-local-sdk |
| Invoer | from foundry_local import FoundryLocalManager |
from foundry_local_sdk import Configuration, FoundryLocalManager |
| Configuration | N/A | config = Configuration(app_name="app-name") |
| Manager ophalen | manager = FoundryLocalManager(alias) |
FoundryLocalManager.initialize(config)manager = FoundryLocalManager.instance |
| Catalogus ophalen | N/A | catalog = manager.catalog |
| Modellen weergeven | manager.list_catalog_models() |
catalog.list_models() |
| Model ophalen | manager.get_model_info(alias) |
catalog.get_model(alias) |
| Een model downloaden | manager.download_model(alias) |
model.download(progress_callback) |
| Een model laden | manager.load_model(alias) |
model.load() |
| Een model ontladen | manager.unload_model(alias) |
model.unload() |
| Geladen modellen weergeven | manager.list_loaded_models() |
catalog.get_loaded_models() |
| In cache opgeslagen modellen weergeven | manager.list_cached_models() |
catalog.get_cached_models() |
| Cachelocatie | manager.get_cache_location() |
config.model_cache_dir |
| Service starten | manager.start_service() |
manager.start_web_service() |
| Service-eindpunt | manager.endpoint |
manager.urls |
Met de API kan Foundry Local beter worden geconfigureerd via de webserver, logboekregistratie, cachelocatie en modelvariantselectie. Met de Configuration klasse kunt u bijvoorbeeld de naam van de toepassing, logboekregistratieniveau, webserver-URL's en mappen instellen voor toepassingsgegevens, modelcache en logboeken:
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",
)
Verwijzingen
Migratiehandleiding voor Rust SDK
Om uw mogelijkheden voor het verzenden van toepassingen met AI op het apparaat te verbeteren, zijn er aanzienlijke wijzigingen in de architectuur van de Rust SDK. In deze sectie wordt een overzicht gegeven van de belangrijkste wijzigingen die u helpen bij het migreren van uw toepassingen naar de nieuwste versie van de SDK.
Opmerking
In de nieuwste Rust SDK-versie (1.0.0) zijn er belangrijke wijzigingen in de API van de vorige versie. De naam van de krat is gewijzigd van foundry-local in foundry-local-sdk.
In het volgende diagram ziet u hoe de vorige architectuur sterk afhankelijk was van het gebruik van een REST-webserver voor het beheren van modellen en deductie zoals voltooiingen van chats:
De SDK gebruikt een Remote Procedure Call (RPC) om het uitvoerbare bestand foundry Local CLI op de computer te vinden, de webserver te starten en er vervolgens mee te communiceren via HTTP. Deze architectuur had verschillende beperkingen, waaronder:
- Complexiteit bij het beheren van de levenscyclus van de webserver.
- Uitdagende implementatie: eindgebruikers moesten de Lokale CLI van Foundry installeren op hun computers en uw toepassing.
- Versiebeheer van de CLI en SDK kan leiden tot compatibiliteitsproblemen.
Om deze problemen op te lossen, maakt de opnieuw ontworpen architectuur gebruik van een meer gestroomlijnde benadering. De nieuwe architectuur is als volgt:
In deze nieuwe architectuur:
- Uw toepassing is zelfstandig. Het vereist niet dat de Lokale CLI van Foundry afzonderlijk op de computer van de eindgebruiker wordt geïnstalleerd, zodat u toepassingen eenvoudiger kunt implementeren.
- De REST-webserver is optioneel. U kunt de webserver nog steeds gebruiken als u wilt integreren met andere hulpprogramma's die via HTTP communiceren.
- De SDK biedt systeemeigen ondersteuning voor chatvoltooiingen en audiotranscripties, zodat u conversationele AI-toepassingen met minder afhankelijkheden kunt bouwen.
API-wijzigingen
De nieuwste versie biedt een meer objectgeoriënteerde en composeerbare API. Het opbouwpatroon is vervangen door een op configuratie gebaseerde benadering en modelbeheer maakt nu gebruik van toegewezen Model objecten.
| Primitief | Vorige versie (foundry-local) |
Huidige versie (foundry-local-sdk) |
|---|---|---|
| Crate | foundry-local |
foundry-local-sdk |
| Configuration | N/A | FoundryLocalConfig::new("app-name") |
| Manager ophalen | FoundryLocalManager::builder().build().await? |
FoundryLocalManager::create(config)? |
| Catalogus ophalen | N/A | manager.catalog() |
| Modellen weergeven | manager.list_catalog_models().await? |
manager.catalog().get_models().await? |
| Model ophalen | manager.get_model_info(alias).await? |
manager.catalog().get_model(alias).await? |
| Een model downloaden | manager.download_model(alias).await? |
model.download(callback).await? |
| Een model laden | manager.load_model(alias).await? |
model.load().await? |
| Een model ontladen | manager.unload_model(alias).await? |
model.unload().await? |
| Geladen modellen weergeven | manager.list_loaded_models().await? |
manager.catalog().get_loaded_models().await? |
| In cache opgeslagen modellen weergeven | manager.list_cached_models().await? |
manager.catalog().get_cached_models().await? |
| Service starten | manager.start_service()? |
manager.start_web_service().await? |
| Eindpunt | manager.endpoint()? |
manager.urls() |
| HTTP-aanroepen |
reqwest::Client (handmatige REST) |
Systeemeigen SDK: model.create_chat_client() |
De nieuwe SDK biedt systeemeigen chat- en audioclients, waardoor in de meeste gevallen geen handmatige HTTP-aanvragen meer nodig zijn:
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);