Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważna
- Program Foundry Local jest dostępny w wersji zapoznawczej. Publiczne wersje zapoznawcze zapewniają wczesny dostęp do funkcji, które są w aktywnym wdrożeniu.
- Funkcje, podejścia i procesy mogą ulec zmianie lub mieć ograniczone możliwości przed ogólną dostępnością.
Lokalny zestaw SDK rozwiązania Foundry umożliwia dostarczanie funkcji sztucznej inteligencji w aplikacjach, które mogą korzystać z lokalnych modeli sztucznej inteligencji za pomocą prostego i intuicyjnego interfejsu API. Zestaw SDK wyodrębnia złożoność zarządzania modelami sztucznej inteligencji i zapewnia bezproblemowe środowisko integracji lokalnych funkcji sztucznej inteligencji z aplikacjami. Ten dokument zawiera dokumentację implementacji zestawu SDK dla języków JavaScript i C#. W przyszłości zostanie dodanych więcej języków.
SDK nie wymaga zainstalowania lokalnego interfejsu wiersza poleceń Foundry na komputerach użytkowników końcowych, co umożliwia dostarczanie aplikacji bez dodatkowych kroków konfiguracji dla użytkowników — aplikacje są samodzielne. Dodatkowe korzyści lokalnego zestawu SDK Foundry obejmują:
- Wykrywanie i optymalizacja sprzętu: automatyczna ocena możliwości procesora GPU, procesora NPU i procesora CPU.
- Zarządzanie dostawcą wykonywania (Windows): automatyczne pobieranie i rejestrowanie odpowiednich dostawców wykonywania środowiska uruchomieniowego ONNX (CUDA, Vitis, QNN, OpenVINO, TensorRT) na podstawie możliwości urządzenia.
- Obsługa systemu operacyjnego za pośrednictwem protokołu WebGpu (macOS): natywna obsługa uruchamiania modeli w systemie Apple Silicon ze zoptymalizowaną wydajnością.
- Pozyskiwanie modelu: bezproblemowe pobieranie z Katalogu Modeli Foundry z obsługą wersji, aktualizacji i automatycznego wyboru modelu zoptymalizowanego pod kątem sprzętu z obsługą awaryjną.
- Wydajne środowisko uruchomieniowe: zwiększa rozmiar aplikacji o <20 MB, działa na urządzeniach od telefonów komórkowych po komputery stacjonarne.
- Zgodność interfejsu API openAI: łatwa integracja z modelami i narzędziami OpenAI.
- Opcjonalny serwer REST: uruchom narzędzie Foundry Local jako usługę lokalną dostępną dla innych aplikacji.
Dokumentacja zestawu SDK języka JavaScript
Konfiguracja projektu
Architektura wysokiego poziomu lokalnego zestawu SDK rozwiązania Foundry jest następująca:
Zestaw SDK jest lekkim otokiem interfejsu API języka C () platformy Foundry Local Core (.dll/.so/.dylib), który zapewnia bardziej przyjazny dla użytkownika interfejs dla deweloperów języka JavaScript. Zestaw SDK obsługuje ładowanie biblioteki natywnej, zarządzanie pamięcią i konwertowanie typów danych między językami JavaScript i C. Interfejs API lokalnego podstawowego języka C usługi Foundry ma dwie wersje, ale tę samą powierzchnię interfejsu API:
- WindowsML (WinML) — specyficzny dla Windows, który używa WindowsML do uzyskiwania niezbędnych sterowników i dostawców uruchamiania dla dostępnego sprzętu. Jest to zalecana opcja dla użytkowników systemu Windows, ponieważ zapewnia lepszą wydajność i zgodność z szeroką gamą sprzętu.
- Międzyplatformowe — może być używany w systemach Windows, macOS i Linux. Należy zauważyć, że na urządzeniach z systemem macOS wyposażonych w układy Apple Silicon, wieloplatformowy zestaw SDK będzie wykorzystywał framework Metal firmy Apple do akceleracji sprzętowej za pośrednictwem dostawcy wykonywania WebGPU w środowisku uruchomieniowym ONNX.
Po zainstalowaniu pakietu lokalnego Zestawu SDK Foundry w projekcie, możesz zainstalować wersję WinML lub wieloplatformową.
Użyj polecenia Foundry Local w projekcie JavaScript, postępując zgodnie z instrukcjami specyficznymi dla systemu Windows lub międzyplatformowymi (macOS/Linux/Windows):
- Utwórz nowy projekt JavaScript:
mkdir app-name cd app-name npm init -y npm pkg set type=module - Zainstaluj pakiet zestawu SDK lokalnego rozwiązania Foundry:
npm install --winml foundry-local-sdk npm install openai
Szybki start
Użyj tego fragmentu kodu, aby sprawdzić, czy zestaw SDK może zainicjować katalog modeli lokalnych i uzyskać do niego dostęp.
import { FoundryLocalManager } from 'foundry-local-sdk';
console.log('Initializing Foundry Local SDK...');
const manager = FoundryLocalManager.create({
appName: 'foundry_local_samples',
logLevel: 'info'
});
console.log('✓ SDK initialized successfully');
// Explore available models
console.log('\nFetching available models...');
const catalog = manager.catalog;
const models = await catalog.getModels();
console.log(`Found ${models.length} models:`);
for (const model of models) {
console.log(` - ${model.alias}`);
}
W tym przykładzie zostanie wyświetlona lista dostępnych modeli sprzętu.
Próbki
- Aby zapoznać się z przykładowymi aplikacjami, które pokazują, jak używać lokalnego zestawu JAVAScript SDK usługi Foundry, zobacz repozytorium GitHub przykłady zestawu SDK języka JavaScript usługi Foundry.
Odniesienie do API
- Aby uzyskać więcej informacji na temat lokalnego zestawu SDK języka JavaScript rozwiązania Foundry, przeczytaj Dokumentacja lokalnego interfejsu API zestawu JavaScript SDK usługi Foundry.
References
Dokumentacja zestawu SDK języka C#
Przewodnik konfiguracji projektu
Istnieją dwa pakiety NuGet dla lokalnego zestawu SDK usługi Foundry — winML i pakiet międzyplatformowy — które mają tę samą powierzchnię interfejsu API, ale są zoptymalizowane pod kątem różnych platform:
-
Windows: używa pakietu
Microsoft.AI.Foundry.Local.WinMLspecyficznego dla aplikacji systemu Windows, który używa platformy Windows Machine Learning (WinML). -
Międzyplatformowe: używa
Microsoft.AI.Foundry.Localpakietu, który może być używany dla aplikacji międzyplatformowych (Windows, Linux, macOS).
W zależności od platformy docelowej wykonaj następujące instrukcje, aby utworzyć nową aplikację języka C# i dodać niezbędne zależności:
Użyj polecenia Foundry Local w projekcie języka C#, postępując zgodnie z tymi instrukcjami specyficznymi dla systemu Windows lub międzyplatformowymi (macOS/Linux/Windows):
- Utwórz nowy projekt w języku C# i przejdź do niego:
dotnet new console -n app-name cd app-name - Otwórz i edytuj plik
app-name.csproj, aby:<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>net9.0-windows10.0.26100</TargetFramework> <RootNamespace>app-name</RootNamespace> <ImplicitUsings>enable</ImplicitUsings> <Nullable>enable</Nullable> <WindowsAppSDKSelfContained>false</WindowsAppSDKSelfContained> <WindowsPackageType>None</WindowsPackageType> <EnableCoreMrtTooling>false</EnableCoreMrtTooling> </PropertyGroup> <PropertyGroup Condition="'$(RuntimeIdentifier)'==''"> <RuntimeIdentifier>$(NETCoreSdkRuntimeIdentifier)</RuntimeIdentifier> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.AI.Foundry.Local.WinML" Version="0.9.0" /> <PackageReference Include="Microsoft.Extensions.Logging" Version="9.0.10" /> <PackageReference Include="OpenAI" Version="2.5.0" /> </ItemGroup> </Project> -
nuget.configUtwórz plik w katalogu głównym projektu z następującą zawartością, aby pakiety mogły zostać prawidłowo przywrócone:<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <clear /> <add key="nuget.org" value="https://api.nuget.org/v3/index.json" /> <add key="ORT" value="https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/ORT/nuget/v3/index.json" /> </packageSources> <packageSourceMapping> <packageSource key="nuget.org"> <package pattern="*" /> </packageSource> <packageSource key="ORT"> <package pattern="*Foundry*" /> </packageSource> </packageSourceMapping> </configuration>
Uwaga / Notatka
Pakiet Microsoft.AI.Foundry.Local NuGet jest przeznaczony dla platformy .NET 8.0. Dzięki zgodności wstecznej platformy .NET działa ona bezproblemowo w projektach przygotowanych dla platform .NET 9, .NET 10 i nowszych — nie jest wymagana żadna dodatkowa konfiguracja. Zestaw SDK używa tylko interfejsów API platformy .NET 8 i nie zawiera ścieżek kodu specyficznych dla platformy, dlatego zachowanie jest identyczne niezależnie od tego, które środowisko uruchomieniowe jest przeznaczone dla aplikacji. Naszym celem jest platforma .NET 8, ponieważ jest to aktualne wydanie Long Term Support (LTS), które ma najszerszą bazę zainstalowaną.
Szybki start
Użyj tego fragmentu kodu, aby sprawdzić, czy zestaw SDK może zainicjować katalog modeli lokalnych i uzyskać do niego dostęp.
using Microsoft.AI.Foundry.Local;
using Microsoft.Extensions.Logging;
using System.Linq;
var config = new Configuration
{
AppName = "app-name",
LogLevel = Microsoft.AI.Foundry.Local.LogLevel.Information,
};
using var loggerFactory = LoggerFactory.Create(builder =>
{
builder.SetMinimumLevel(Microsoft.Extensions.Logging.LogLevel.Information);
});
var logger = loggerFactory.CreateLogger<Program>();
await FoundryLocalManager.CreateAsync(config, logger);
var manager = FoundryLocalManager.Instance;
var catalog = await manager.GetCatalogAsync();
var models = await catalog.ListModelsAsync();
Console.WriteLine($"Models available: {models.Count()}");
W tym przykładzie wyświetlana jest liczba modeli dostępnych dla twojego sprzętu.
Próbki
- Aby zapoznać się z przykładowymi aplikacjami, które pokazują, jak używać lokalnego zestawu SDK języka C# usługi Foundry, zobacz repozytorium GitHub przykłady lokalnego zestawu SDK języka C# rozwiązania Foundry.
Odniesienie do API
- Aby uzyskać więcej informacji na temat lokalnego zestawu SDK języka C# usługi Foundry, zobacz Dokumentacja lokalnego interfejsu API zestawu SDK języka C# w języku Foundry.