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.
Bu kılavuzda, kodunuzu Foundry Yerel SDK'sının eski sürümünden geçerli sürüme geçirme yönergeleri sağlanır. Yeni SDK, Foundry Local CLI bağımlılığını kaldırır ve bu nedenle kullanıcılarınızın CLI'yı yüklemesine veya yerel bir Foundry ortamı ayarlamasına gerek kalmadan uygulamalarınızı göndermenize olanak tanır. Yeni SDK, daha iyi kullanılabilirlik ve performans için API'de iyileştirmeler de içerir.
C# SDK Geçiş Kılavuzu
Cihaz içi yapay zeka kullanarak uygulama gönderme becerinizi geliştirmek için, sürüm ve sonraki sürümlerde 0.8.0 C# SDK'sının mimarisinde önemli değişiklikler vardır. Bu bölümde, uygulamalarınızı SDK'nın en son sürümüne geçirmenize yardımcı olacak önemli değişiklikleri özetleyeceğiz.
Uyarı
SDK 0.8.0 ve sonraki sürümlerinde, API'de önceki sürümlere (<=0.3.0) göre uyumsuz değişiklikler vardır.
Aşağıdaki diyagramda, önceki mimarinin (önceki 0.8.0 sürümler için) modelleri ve sohbet tamamlamaları gibi çıkarımları yönetmek için bir REST web sunucusu kullanmaya nasıl dayandığı gösterilmektedir:
SDK, makinede Foundry Yerel CLI yürütülebilir dosyasını bulmak, web sunucusunu başlatmak ve ardından HTTP üzerinden onunla iletişim kurmak için bir Uzak Yordam Çağrısı (RPC) kullanacaktır. Bu mimarinin aşağıdakiler dahil olmak üzere çeşitli sınırlamaları vardır:
- Web sunucusu yaşam döngüsünü yönetme karmaşıklığı.
- Zorlu dağıtım: Son kullanıcıların makinelerinde ve uygulamanızda Foundry Yerel CLI'sinin yüklü olması gerekiyordu.
- CLI ve SDK'nın sürüm yönetimi uyumluluk sorunlarına yol açabilir.
Bu sorunları gidermek için, 0.8.0 ve sonraki sürümlerde yeniden tasarlanan mimari daha yalın bir yaklaşım kullanır. Yeni mimari aşağıdaki gibidir:
Bu yeni mimaride:
- Uygulamanız bağımsızdır. Dökümhane Yerel CLI'sinin son kullanıcının makinesine ayrı olarak yüklenmesi gerekmez ve bu da uygulamaları dağıtmanızı kolaylaştırır.
- REST web sunucusu isteğe bağlıdır. HTTP üzerinden iletişim kuran diğer araçlarla tümleştirmek istiyorsanız web sunucusunu kullanmaya devam edebilirsiniz. Bu özelliğin nasıl kullanılacağı hakkında ayrıntılı bilgi için REST sunucusu üzerinden Foundry Local ile sohbet tamamlama kullanma başlıklı yazıyı okuyun.
- SDK, sohbet tamamlamaları ve sesli transkripsiyonlar için yerel desteğe sahiptir ve daha az bağımlılıkla konuşma yapay zekası uygulamaları oluşturmanıza olanak tanır. Bu özelliğin nasıl kullanılacağı hakkında ayrıntılı bilgi için Use Foundry Local Native Chat Completions API'yi kullanma üzerine detayları okuyun.
- Windows cihazlarda, doğru çalışma zamanı ve sürücüleri çekerek cihazdaki modeller için donanım hızlandırma işleten bir Windows ML derlemesi kullanabilirsiniz.
API değişiklikleri
Sürüm 0.8.0 ve sonraki sürümler daha nesne odaklı ve oluşturulabilir bir API sağlar. Ana giriş noktası FoundryLocalManager olmaya devam ediyor; ancak durum bilgisi olmayan bir HTTP API'sine statik çağrılarla çalışan sabit bir yöntem seti yerine, SDK artık örnek üzerinde durum bilgisi tutan hizmet ve modellere ait yöntemleri FoundryLocalManager sağlar.
| İlkel | Sürüm < 0.8.0 | Sürümler >= 0.8.0 |
|---|---|---|
| Configuration | Mevcut Değil | config = Configuration(...) |
| YöneticiYi Al | mgr = FoundryLocalManager(); |
await FoundryLocalManager.CreateAsync(config, logger);var mgr = FoundryLocalManager.Instance; |
| Kataloğu Al | Mevcut Değil | catalog = await mgr.GetCatalogAsync(); |
| Modelleri Listele | mgr.ListCatalogModelsAsync(); |
catalog.ListModelsAsync(); |
| Modeli Al | mgr.GetModelInfoAsync("aliasOrModelId"); |
catalog.GetModelAsync(alias: "alias"); |
| Varyantı Al | Mevcut Değil | model.SelectedVariant; |
| Değişken Ayarla | Mevcut Değil | model.SelectVariant(); |
| Model indirme | mgr.DownloadModelAsync("aliasOrModelId"); |
model.DownloadAsync() |
| Model yükleme | mgr.LoadModelAsync("aliasOrModelId"); |
model.LoadAsync() |
| Modeli kaldırma | mgr.UnloadModelAsync("aliasOrModelId"); |
model.UnloadAsync() |
| Yüklenen modelleri listeleme | mgr.ListLoadedModelsAsync(); |
catalog.GetLoadedModelsAsync(); |
| Model yolunu al | Mevcut Değil | model.GetPathAsync() |
| Hizmeti başlat | mgr.StartServiceAsync(); |
mgr.StartWebServerAsync(); |
| Hizmeti durdur | mgr.StopServiceAsync(); |
mgr.StopWebServerAsync(); |
| Önbellek konumu | mgr.GetCacheLocationAsync(); |
config.ModelCacheDir |
| Önbelleğe alınan modelleri listeleme | mgr.ListCachedModelsAsync(); |
catalog.GetCachedModelsAsync(); |
API, Foundry Local'ın web sunucusu, günlük, önbellek konumu ve model değişkeni seçimi üzerinden daha yapılandırılabilir olmasını sağlar. Örneğin, Configuration sınıfı uygulama adını, günlük seviyesini, web sunucusu URL'lerini ve uygulama verileri, model önbelleği ve günlükler için dizinleri ayarlamanıza olanak tanır:
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 referansı
- Foundry Local C# SDK hakkında daha fazla bilgi için Foundry Local C# SDK API Referansına bakın.
JavaScript SDK Geçiş Kılavuzu
Cihaz içi yapay zeka kullanarak uygulama gönderme becerinizi geliştirmek için JavaScript SDK'sının mimarisinde önemli değişiklikler vardır. Bu bölümde, uygulamalarınızı SDK'nın en son sürümüne geçirmenize yardımcı olacak önemli değişiklikleri özetleyeceğiz.
Uyarı
JavaScript SDK sürüm 0.9.0 ve sonraki sürümlerde, önceki sürümlerden (<=0.5.0) API'de önemli değişiklikler vardır.
Aşağıdaki diyagramda, önceki mimarinin modelleri ve sohbet tamamlamaları gibi çıkarımları yönetmek için rest web sunucusu kullanmaya nasıl dayandığı gösterilmektedir:
SDK, makinede Foundry Yerel CLI yürütülebilir dosyasını bulmak, web sunucusunu başlatmak ve ardından HTTP üzerinden onunla iletişim kurmak için bir Uzak Yordam Çağrısı (RPC) kullanacaktır. Bu mimarinin aşağıdakiler dahil olmak üzere çeşitli sınırlamaları vardır:
- Web sunucusu yaşam döngüsünü yönetme karmaşıklığı.
- Zorlu dağıtım: Son kullanıcıların makinelerinde ve uygulamanızda Foundry Yerel CLI'sinin yüklü olması gerekiyordu.
- CLI ve SDK'nın sürüm yönetimi uyumluluk sorunlarına yol açabilir.
Bu sorunları gidermek için yeniden tasarlanan mimari daha kolay bir yaklaşım kullanır. Yeni mimari aşağıdaki gibidir:
Bu yeni mimaride:
- Uygulamanız bağımsızdır. Dökümhane Yerel CLI'sinin son kullanıcının makinesine ayrı olarak yüklenmesi gerekmez ve bu da uygulamaları dağıtmanızı kolaylaştırır.
- REST web sunucusu isteğe bağlıdır. HTTP üzerinden iletişim kuran diğer araçlarla tümleştirmek istiyorsanız web sunucusunu kullanmaya devam edebilirsiniz.
- SDK, sohbet tamamlamaları ve sesli transkripsiyonlar için yerel desteğe sahiptir ve daha az bağımlılıkla konuşma yapay zekası uygulamaları oluşturmanıza olanak tanır.
API değişiklikleri
En son sürüm daha nesne odaklı ve oluşturulabilir bir API sağlar. Ana giriş noktası FoundryLocalManager olmaya devam ediyor; ancak durum bilgisi olmayan bir HTTP API'sine statik çağrılarla çalışan sabit bir yöntem seti yerine, SDK artık örnek üzerinde durum bilgisi tutan hizmet ve modellere ait yöntemleri FoundryLocalManager sağlar.
| İlkel | Önceki Sürüm | Geçerli Sürüm |
|---|---|---|
| Configuration | Mevcut Değil | config = { appName: "app-name", ... } |
| YöneticiYi Al | mgr = new FoundryLocalManager(); |
mgr = FoundryLocalManager.create(config); |
| Kataloğu Al | Mevcut Değil | catalog = mgr.catalog; |
| Modelleri Listele | mgr.listCatalogModels(); |
catalog.getModels(); |
| Modeli Al | mgr.getModelInfo("aliasOrModelId"); |
catalog.getModel(alias); |
| Varyantı Al | Mevcut Değil | model.id; |
| Değişken Ayarla | Mevcut Değil | model.selectVariant(modelId); |
| Model indirme | mgr.downloadModel("aliasOrModelId"); |
model.download(); |
| Model yükleme | mgr.loadModel("aliasOrModelId"); |
model.load(); |
| Modeli kaldırma | mgr.unloadModel("aliasOrModelId"); |
model.unload(); |
| Yüklenen modelleri listeleme | mgr.listLoadedModels(); |
catalog.getLoadedModels(); |
| Model yolunu al | Mevcut Değil | model.path; |
| Hizmeti başlat | mgr.startService(); |
mgr.startWebService(); |
| Hizmeti durdur | Mevcut Değil | mgr.stopWebService(); |
| Önbellek konumu | mgr.getCacheLocation(); |
config.modelCacheDir |
| Önbelleğe alınan modelleri listeleme | mgr.listCachedModels(); |
catalog.getCachedModels(); |
API, Foundry Local'ın web sunucusu, günlük, önbellek konumu ve model değişkeni seçimi üzerinden daha yapılandırılabilir olmasını sağlar. Örneğin, uygulama verileri, config model önbelleği ve günlükler için uygulama adını, günlük düzeyini, web sunucusu URL'lerini ve dizinlerini ayarlamanıza olanak tanır:
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",
};
Foundry Local JavaScript SDK'sının önceki sürümünde, bu ayarları doğrudan SDK aracılığıyla yapılandıramadınız ve bu da hizmetin davranışını özelleştirme yeteneğinizi sınırlamıştı.
Referanslar
Python SDK Geçiş Kılavuzu
Cihaz içi yapay zeka kullanarak uygulama gönderme becerinizi geliştirmek için Python SDK'sının mimarisinde önemli değişiklikler vardır. Bu bölümde, uygulamalarınızı SDK'nın en son sürümüne geçirmenize yardımcı olacak önemli değişiklikleri özetleyeceğiz.
Uyarı
En son Python SDK sürümünde (1.0.0), API'de, önceki sürümlerden (<=0.5.1) geriye dönük uyumluluğu bozan değişiklikler vardır.
Aşağıdaki diyagramda, önceki mimarinin modelleri ve sohbet tamamlamaları gibi çıkarımları yönetmek için rest web sunucusu kullanmaya nasıl dayandığı gösterilmektedir:
SDK, makinede Foundry Yerel CLI yürütülebilir dosyasını bulmak, web sunucusunu başlatmak ve ardından HTTP üzerinden onunla iletişim kurmak için bir Uzak Yordam Çağrısı (RPC) kullanacaktır. Bu mimarinin aşağıdakiler dahil olmak üzere çeşitli sınırlamaları vardır:
- Web sunucusu yaşam döngüsünü yönetme karmaşıklığı.
- Zorlu dağıtım: Son kullanıcıların makinelerinde ve uygulamanızda Foundry Yerel CLI'sinin yüklü olması gerekiyordu.
- CLI ve SDK'nın sürüm yönetimi uyumluluk sorunlarına yol açabilir.
Bu sorunları gidermek için yeniden tasarlanan mimari daha kolay bir yaklaşım kullanır. Yeni mimari aşağıdaki gibidir:
Bu yeni mimaride:
- Uygulamanız bağımsızdır. Dökümhane Yerel CLI'sinin son kullanıcının makinesine ayrı olarak yüklenmesi gerekmez ve bu da uygulamaları dağıtmanızı kolaylaştırır.
- REST web sunucusu isteğe bağlıdır. HTTP üzerinden iletişim kuran diğer araçlarla tümleştirmek istiyorsanız web sunucusunu kullanmaya devam edebilirsiniz.
- SDK, sohbet tamamlamaları ve sesli transkripsiyonlar için yerel desteğe sahiptir ve daha az bağımlılıkla konuşma yapay zekası uygulamaları oluşturmanıza olanak tanır.
API değişiklikleri
En son sürüm daha nesne odaklı ve oluşturulabilir bir API sağlar. Ana giriş noktası sınıf olmaya FoundryLocalManager devam eder, ancak başlatma düzeni, model yönetimi ve çıkarım önemli ölçüde değişmiştir.
| İlkel | Önceki Sürüm (foundry-local) |
Geçerli Sürüm (foundry-local-sdk) |
|---|---|---|
| Paket | pip install foundry-local |
pip install foundry-local-sdk |
| İthalat | from foundry_local import FoundryLocalManager |
from foundry_local_sdk import Configuration, FoundryLocalManager |
| Configuration | Mevcut Değil | config = Configuration(app_name="app-name") |
| YöneticiYi Al | manager = FoundryLocalManager(alias) |
FoundryLocalManager.initialize(config)manager = FoundryLocalManager.instance |
| Kataloğu Al | Mevcut Değil | catalog = manager.catalog |
| Modelleri Listele | manager.list_catalog_models() |
catalog.list_models() |
| Modeli Al | manager.get_model_info(alias) |
catalog.get_model(alias) |
| Model indirme | manager.download_model(alias) |
model.download(progress_callback) |
| Model yükleme | manager.load_model(alias) |
model.load() |
| Modeli kaldırma | manager.unload_model(alias) |
model.unload() |
| Yüklenen modelleri listeleme | manager.list_loaded_models() |
catalog.get_loaded_models() |
| Önbelleğe alınan modelleri listeleme | manager.list_cached_models() |
catalog.get_cached_models() |
| Önbellek konumu | manager.get_cache_location() |
config.model_cache_dir |
| Hizmeti başlat | manager.start_service() |
manager.start_web_service() |
| Hizmet uç noktası | manager.endpoint |
manager.urls |
API, Foundry Local'ın web sunucusu, günlük, önbellek konumu ve model değişkeni seçimi üzerinden daha yapılandırılabilir olmasını sağlar. Örneğin, Configuration sınıfı uygulama adını, günlük seviyesini, web sunucusu URL'lerini ve uygulama verileri, model önbelleği ve günlükler için dizinleri ayarlamanıza olanak tanır:
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",
)
Referanslar
Rust SDK Geçiş Kılavuzu
Cihaz içi yapay zeka kullanarak uygulama gönderme becerinizi geliştirmek için Rust SDK mimarisinde önemli değişiklikler vardır. Bu bölümde, uygulamalarınızı SDK'nın en son sürümüne geçirmenize yardımcı olacak önemli değişiklikleri özetleyeceğiz.
Uyarı
En son Rust SDK sürümünde (1.0.0) önceki sürümden API'de önemli değişiklikler vardır.
foundry-local olan kasa adı foundry-local-sdk olarak değiştirildi.
Aşağıdaki diyagramda, önceki mimarinin modelleri ve sohbet tamamlamaları gibi çıkarımları yönetmek için rest web sunucusu kullanmaya nasıl dayandığı gösterilmektedir:
SDK, makinede Foundry Local CLI yürütülebilir dosyasını bulmak, web sunucusunu başlatmak ve ardından HTTP üzerinden iletişim kurmak için Uzaktan Yordam Çağrısı (RPC) kullanacaktır. Bu mimarinin aşağıdakiler dahil olmak üzere çeşitli sınırlamaları vardır:
- Web sunucusu yaşam döngüsünü yönetme karmaşıklığı.
- Zorlu dağıtım: Son kullanıcıların makinelerinde ve uygulamanızda Foundry Yerel CLI'sinin yüklü olması gerekiyordu.
- CLI ve SDK'nın sürüm yönetimi uyumluluk sorunlarına yol açabilir.
Bu sorunları gidermek için yeniden tasarlanan mimari daha kolay bir yaklaşım kullanır. Yeni mimari aşağıdaki gibidir:
Bu yeni mimaride:
- Uygulamanız bağımsızdır. Dökümhane Yerel CLI'sinin son kullanıcının makinesine ayrı olarak yüklenmesi gerekmez ve bu da uygulamaları dağıtmanızı kolaylaştırır.
- REST web sunucusu isteğe bağlıdır. HTTP üzerinden iletişim kuran diğer araçlarla tümleştirmek istiyorsanız web sunucusunu kullanmaya devam edebilirsiniz.
- SDK, sohbet tamamlamaları ve sesli transkripsiyonlar için yerel desteğe sahiptir ve daha az bağımlılıkla konuşma yapay zekası uygulamaları oluşturmanıza olanak tanır.
API değişiklikleri
En son sürüm daha nesne odaklı ve oluşturulabilir bir API sağlar. Oluşturucu deseni yapılandırma tabanlı bir yaklaşımla değiştirildi ve model yönetimi artık ayrılmış Model nesneler kullanıyor.
| İlkel | Önceki Sürüm (foundry-local) |
Geçerli Sürüm (foundry-local-sdk) |
|---|---|---|
| Sandık | foundry-local |
foundry-local-sdk |
| Configuration | Mevcut Değil | FoundryLocalConfig::new("app-name") |
| YöneticiYi Al | FoundryLocalManager::builder().build().await? |
FoundryLocalManager::create(config)? |
| Kataloğu Al | Mevcut Değil | manager.catalog() |
| Modelleri Listele | manager.list_catalog_models().await? |
manager.catalog().get_models().await? |
| Modeli Al | manager.get_model_info(alias).await? |
manager.catalog().get_model(alias).await? |
| Model indirme | manager.download_model(alias).await? |
model.download(callback).await? |
| Model yükleme | manager.load_model(alias).await? |
model.load().await? |
| Modeli kaldırma | manager.unload_model(alias).await? |
model.unload().await? |
| Yüklenen modelleri listeleme | manager.list_loaded_models().await? |
manager.catalog().get_loaded_models().await? |
| Önbelleğe alınan modelleri listeleme | manager.list_cached_models().await? |
manager.catalog().get_cached_models().await? |
| Hizmeti başlat | manager.start_service()? |
manager.start_web_service().await? |
| Bitiş noktası | manager.endpoint()? |
manager.urls() |
| HTTP çağrıları |
reqwest::Client (manuel REST) |
Yerel SDK: model.create_chat_client() |
Yeni SDK yerel sohbet ve ses istemcileri sağlayarak çoğu durumda el ile HTTP isteklerine olan ihtiyacı ortadan kaldırır:
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);