Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Von Bedeutung
- Foundry Local ist in der Vorschau verfügbar. Öffentliche Vorschauversionen bieten frühen Zugang zu Features, die aktuell bereitgestellt werden.
- Features, Ansätze und Prozesse können sich vor der allgemeinen Verfügbarkeit (General Availability, GA) noch ändern oder eine eingeschränkte Funktionalität aufweisen.
Mit dem Foundry Local SDK können Sie KI-Features in Ihren Anwendungen versenden, die lokale KI-Modelle über eine einfache und intuitive API nutzen können. Das SDK abstrahiert die Komplexität der Verwaltung von KI-Modellen und bietet eine nahtlose Erfahrung für die Integration lokaler KI-Funktionen in Ihre Anwendungen. Diese Referenz dokumentiert SDK-Implementierungen für JavaScript und C#. Weitere Sprachen werden in Zukunft hinzugefügt.
Das SDK erfordert nicht, dass die Foundry Local CLI auf dem Computer für Endbenutzer installiert wird, sodass Sie Ihre Anwendungen ohne zusätzliche Einrichtungsschritte für Ihre Benutzer versenden können – Ihre Anwendungen sind eigenständig. Zu den zusätzlichen Vorteilen des Foundry Local SDK gehören:
- Hardwareerkennung und -optimierung: Automatische Funktionsbewertung für GPU, NPU und CPU.
- Ausführungsanbieterverwaltung (Windows): Automatisches Herunterladen und Registrieren geeigneter ONNX-Runtime-Ausführungsanbieter (CUDA, Vitis, QNN, OpenVINO, TensorRT) basierend auf Gerätefunktionen.
- Metallunterstützung über WebGpu (macOS): Native Unterstützung für das Ausführen von Modellen auf Apple Silicon mit optimierter Leistung.
- Modellerwerb: Nahtloses Herunterladen aus dem Foundry Model Catalog mit Versionsverwaltung, Updates und automatischer hardwareoptimierter Modellauswahl mit Fallbackunterstützung.
- Effiziente Laufzeit: Fügt <der App-Größe 20 MB hinzu, wird auf Geräten von Mobiltelefonen zu Desktops ausgeführt.
- OpenAI-API-Kompatibilität: Einfache Integration in OpenAI-Modelle und -Tools.
- Optionaler REST-Server: Betreiben Sie Foundry Local als lokalen Dienst, der für andere Anwendungen zugänglich ist.
JavaScript SDK-Referenz
Projektkonfiguration
Die allgemeine Architektur des Foundry Local SDK lautet wie folgt:
Das SDK ist ein leichtgewichtiger Wrapper um eine Foundry Local Core C-API (.dll/.so/.dylib), die eine benutzerfreundlichere Benutzeroberfläche für JavaScript-Entwickler bietet. Das SDK behandelt das Laden der systemeigenen Bibliothek, das Verwalten von Arbeitsspeicher und das Konvertieren von Datentypen zwischen JavaScript und C. Die Foundry Local Core C-API hat zwei Varianten, aber die gleiche API-Oberfläche:
- WindowsML (WinML) – Eine Windows-spezifische Lösung, die auf WindowsML zurückgreift, um die erforderlichen Treiber und Ausführungsumgebungen für die verfügbare Hardware zu beschaffen. Dies ist die empfohlene Option für Windows-Benutzer, da sie eine bessere Leistung und Kompatibilität mit einer vielzahl von Hardware bietet.
- Plattformübergreifend – kann unter Windows, macOS und Linux verwendet werden. Es ist zu beachten, dass auf macOS-Geräten mit Apple Silicon das plattformübergreifende SDK das Metal-Framework von Apple für die Hardwarebeschleunigung über den ONNX-Laufzeit-WebGPU-Ausführungsanbieter verwenden wird.
Wenn Sie das Foundry Local SDK-Paket in Ihrem Projekt installieren, können Sie die WinML- oder plattformübergreifende Version installieren.
Verwenden Sie Foundry Local in Ihrem JavaScript-Projekt, indem Sie die folgenden Windows-spezifischen oder plattformübergreifenden Anweisungen (macOS/Linux/Windows) befolgen:
- Erstellen Eines neuen JavaScript-Projekts:
mkdir app-name cd app-name npm init -y npm pkg set type=module - Installieren Sie das Foundry Local SDK-Paket:
npm install --winml foundry-local-sdk npm install openai
Schnellstart
Verwenden Sie diesen Codeausschnitt, um zu überprüfen, ob das SDK den lokalen Modellkatalog initialisieren und darauf zugreifen kann.
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}`);
}
In diesem Beispiel wird die Liste der verfügbaren Modelle für Ihre Hardware ausgegeben.
Beispiele
- Beispielanwendungen, die zeigen, wie das Foundry Local JavaScript SDK verwendet wird, finden Sie im GitHub-Repository "Foundry Local JavaScript SDK Samples".
API-Referenz
- Weitere Informationen zum Foundry Local JavaScript SDK finden Sie unter Foundry Local JavaScript SDK API Reference.
Referenzen
C# SDK-Referenz
Projekteinrichtungshandbuch
Es gibt zwei NuGet-Pakete für das Foundry Local SDK – ein WinML und ein plattformübergreifendes Paket – die dieselbe API-Oberfläche aufweisen, aber für verschiedene Plattformen optimiert sind:
-
Windows: Verwendet das für Windows-Anwendungen spezifische
Microsoft.AI.Foundry.Local.WinML-Paket, das das Windows Machine Learning(WinML)-Framework verwendet. -
Plattformübergreifend: Verwendet das
Microsoft.AI.Foundry.LocalPaket, das für plattformübergreifende Anwendungen (Windows, Linux, macOS) verwendet werden kann.
Befolgen Sie je nach Zielplattform die folgenden Anweisungen, um eine neue C#-Anwendung zu erstellen und die erforderlichen Abhängigkeiten hinzuzufügen:
Verwenden Sie Foundry Local in Ihrem C#-Projekt, indem Sie die folgenden Windows-spezifischen oder plattformübergreifenden Anweisungen (macOS/Linux/Windows) befolgen:
- Erstellen Sie ein neues C#-Projekt und navigieren Sie hinein:
dotnet new console -n app-name cd app-name - Öffnen und bearbeiten Sie die
app-name.csprojDatei in:<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> - Erstellen Sie eine
nuget.configDatei im Projektstamm mit dem folgenden Inhalt, damit die Pakete ordnungsgemäß wiederhergestellt werden:<?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>
Hinweis
Das Microsoft.AI.Foundry.Local NuGet-Paket zielt auf net8.0 ab. Mit der Vorwärtskompatibilität von .NET funktioniert es nahtlos in Projekten für .NET 9, .NET 10 und höher – keine andere Konfiguration erforderlich. Das SDK verwendet nur .NET 8-APIs und enthält keine frameworkspezifischen Codepfade, sodass das Verhalten unabhängig davon, auf welche Laufzeit Ihre App ausgerichtet ist, identisch ist. Wir zielen auf .NET 8 ab, da es die aktuelle Long Term Support (LTS)-Version mit der umfassendsten Installationsbasis ist.
Schnellstart
Verwenden Sie diesen Codeausschnitt, um zu überprüfen, ob das SDK den lokalen Modellkatalog initialisieren und darauf zugreifen kann.
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()}");
In diesem Beispiel wird die Anzahl der verfügbaren Modelle für Ihre Hardware gedruckt.
Beispiele
- Beispielanwendungen, die veranschaulichen, wie das Foundry Local C# SDK verwendet wird, finden Sie im GitHub-Repository "Foundry Local C#SDK Samples".
API-Referenz
- Weitere Informationen zum Foundry Local C# SDK finden Sie unter Foundry Local C# SDK API Reference.