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.
Belangrijk
- Foundry Local is beschikbaar in een voorlopige versie. Openbare preview-versies bieden vroege toegang tot functies die actief zijn geïmplementeerd.
- Functies, benaderingen en processen kunnen worden gewijzigd of beperkte mogelijkheden hebben, voordat algemene beschikbaarheid (GA) wordt uitgevoerd.
Met de Foundry Local SDK kunt u AI-functies verzenden in uw toepassingen die gebruik kunnen maken van lokale AI-modellen via een eenvoudige en intuïtieve API. De SDK abstraheert de complexiteit van het beheren van AI-modellen en biedt een naadloze ervaring voor het integreren van lokale AI-mogelijkheden in uw toepassingen. In deze referentiedocumentatie worden SDK-implementaties voor JavaScript en C# beschreven. In de toekomst worden er meer talen toegevoegd.
Voor de SDK hoeft de Lokale CLI van Foundry niet te worden geïnstalleerd op de computer van eindgebruikers, zodat u uw toepassingen kunt verzenden zonder extra installatiestappen voor uw gebruikers. Uw toepassingen zijn zelfstandig. De extra voordelen van de Foundry Local SDK zijn:
- Hardwaredetectie en -optimalisatie: Automatische mogelijkheidsevaluatie voor GPU, NPU en CPU.
- Beheer van uitvoeringsproviders (Windows): Automatisch downloaden en registreren van de juiste ONNX Runtime-uitvoeringsproviders (CUDA, Vitis, QNN, OpenVINO, TensorRT) op basis van apparaatmogelijkheden.
- Metal-ondersteuning via WebGpu (macOS): systeemeigen ondersteuning voor het uitvoeren van modellen op Apple Silicon met geoptimaliseerde prestaties.
- Modelverwerving: Naadloze download uit de Foundry Model Catalog met versiebeheer, updates en automatische hardware-geoptimaliseerde modelselectie met back-up ondersteuning.
- Efficiënte runtime: voegt <20 MB toe aan app-grootte, wordt uitgevoerd op apparaten van mobiele telefoons naar desktops.
- OpenAI API-compatibiliteit: Eenvoudige integratie met OpenAI-modellen en -hulpprogramma's.
- Optionele REST-server: Voer Foundry Local uit als een lokale service die toegankelijk is voor andere toepassingen.
JavaScript SDK Referentie
Projectopstelling
De architectuur op hoog niveau van de Foundry Local SDK is als volgt:
De SDK is een lichtgewicht wrapper rond een Foundry Local Core C API (.dll/.so/.dylib) die een gebruiksvriendelijkere interface biedt voor JavaScript-ontwikkelaars. De SDK verwerkt het laden van de systeemeigen bibliotheek, het beheren van geheugen en het converteren van gegevenstypen tussen JavaScript en C. De Foundry Local Core C-API heeft twee smaken, maar hetzelfde API-oppervlak:
- WindowsML (WinML) - Windows-specifiek dat Gebruikmaakt van WindowsML om de benodigde stuurprogramma's en uitvoeringsproviders voor de beschikbare hardware te verkrijgen. Dit is de aanbevolen optie voor Windows-gebruikers omdat het betere prestaties en compatibiliteit biedt met een breed scala aan hardware.
- Platformoverschrijdend : kan worden gebruikt in Windows, macOS en Linux. Er moet worden opgemerkt dat op macOS-apparaten met Apple Silicon de platformoverschrijdende SDK het Metal-framework van Apple gebruikt voor hardwareversnelling via de ONNX Runtime WebGPU-uitvoeringsprovider.
Wanneer u het Foundry Local SDK-pakket in uw project installeert, kunt u ervoor kiezen om de WinML- of platformoverschrijdende versie te installeren.
Gebruik Foundry Local in uw JavaScript-project door de volgende Windows-specifieke of platformoverschrijdende instructies (macOS/Linux/Windows) te volgen:
- Maak een nieuw JavaScript-project:
mkdir app-name cd app-name npm init -y npm pkg set type=module - Installeer het Local SDK-pakket Foundry:
npm install --winml foundry-local-sdk npm install openai
Snelstart
Gebruik dit codefragment om te controleren of de SDK de lokale modelcatalogus kan initialiseren en openen.
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 dit voorbeeld wordt de lijst met beschikbare modellen voor uw hardware uitgevoerd.
Voorbeelden
- Voor voorbeeldtoepassingen die laten zien hoe u de Foundry Local JavaScript SDK gebruikt, raadpleegt u de GitHub-opslagplaats Met de Foundry Local JavaScript SDK Samples.
API-referentie
- Voor meer informatie over de Foundry Local JavaScript SDK lees Foundry Local JavaScript SDK API Reference.
Verwijzingen
Naslaginformatie voor C# SDK
Installatiehandleiding voor project
Er zijn twee NuGet-pakketten voor de Foundry Local SDK - een WinML en een platformoverschrijdend pakket - die hetzelfde API-oppervlak hebben, maar zijn geoptimaliseerd voor verschillende platforms:
-
Windows: maakt gebruik van het pakket
Microsoft.AI.Foundry.Local.WinMLdat specifiek is voor Windows-toepassingen, waarvoor het Windows Machine Learning-framework (WinML) wordt gebruikt. -
Platformoverschrijdend: maakt gebruik van het
Microsoft.AI.Foundry.Localpakket dat kan worden gebruikt voor platformoverschrijdende toepassingen (Windows, Linux, macOS).
Afhankelijk van uw doelplatform volgt u deze instructies om een nieuwe C#-toepassing te maken en de benodigde afhankelijkheden toe te voegen:
Gebruik Foundry Local in uw C#-project door de volgende Windows-specifieke of platformoverschrijdende instructies (macOS/Linux/Windows) te volgen:
- Maak een nieuw C#-project en navigeer ernaartoe:
dotnet new console -n app-name cd app-name - Open en bewerk het
app-name.csprojbestand:<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> - Maak een
nuget.configbestand in de hoofdmap van het project met de volgende inhoud, zodat de pakketten correct worden hersteld:<?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>
Opmerking
Het NuGet-pakket Microsoft.AI.Foundry.Local is gericht op net8.0. Met de voorwaartse compatibiliteit van .NET werkt het naadloos in projecten die gericht zijn op .NET 9, .NET 10 en hoger. Er is geen andere configuratie nodig. De SDK maakt alleen gebruik van .NET 8 API's en bevat geen frameworkspecifieke codepaden. Het gedrag is dus identiek, ongeacht welke runtime uw app is bedoeld. We richten ons op .NET 8 omdat het de huidige LTS-release (Long Term Support) is met de breedste installatiebasis.
Snelstart
Gebruik dit codefragment om te controleren of de SDK de lokale modelcatalogus kan initialiseren en openen.
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 dit voorbeeld wordt het aantal modellen afgedrukt dat beschikbaar is voor uw hardware.
Voorbeelden
- Zie de Foundry Local C# SDK Samples GitHub repository voor voorbeeldtoepassingen die laten zien hoe u de Lokale C#-SDK van Foundry gebruikt.
API-referentie
- Voor meer informatie over de Foundry Local C# SDK lees Foundry Local C# SDK API Reference.