Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Důležité
- Foundry Local je k dispozici ve verzi Preview. Verze Public Preview poskytují dřívější přístup k funkcím, které jsou v aktivním nasazení.
- Funkce, přístupy a procesy se můžou před obecnou dostupností měnit nebo mít omezené možnosti.
Sada Foundry Local SDK umožňuje dodávat funkce AI ve vašich aplikacích, které umožňují využívat místní modely AI prostřednictvím jednoduchého a intuitivního rozhraní API. Sada SDK abstrahuje složitost správy modelů AI a poskytuje bezproblémové prostředí pro integraci místních funkcí AI do vašich aplikací. Tento referenční dokument popisuje implementace SDK pro JavaScript a C#. Další jazyky budou přidány v budoucnu.
Sada SDK nevyžaduje instalaci rozhraní příkazového řádku Foundry Local CLI na počítači koncových uživatelů, což vám umožní dodávat aplikace bez dalších kroků nastavení pro vaše uživatele – vaše aplikace jsou samostatné. Mezi další výhody místní sady SDK Foundry patří:
- Detekce a optimalizace hardwaru: Automatické posouzení schopností pro GPU, NPU a procesor.
- Správa zprostředkovatele spouštění (Windows): Automatické stahování a registrace příslušných zprostředkovatelů spouštění modulu runtime ONNX (CUDA, Vitis, QNN, OpenVINO, TensorRT) na základě možností zařízení.
- Podpora kovu přes WebGpu (macOS): Nativní podpora spouštění modelů na Apple Silicon s optimalizovaným výkonem.
- Získání modelu: Bezproblémové stahování z Katalogu modelů Foundry s podporou správy verzí, aktualizací a automatického výběru modelu optimalizovaného pro hardware s podporou náhradní verze.
- Efektivní modul runtime: Zvětší velikost aplikace o <20 MB, běží na zařízeních od mobilních telefonů po stolní počítače.
- Kompatibilita rozhraní API OpenAI: Snadná integrace s modely a nástroji OpenAI
- Volitelný server REST: Spusťte Foundry Local jako místní službu přístupnou jinými aplikacemi.
Referenční informace k sadě JavaScript SDK
Nastavení projektu
Základní architektura sady Foundry Local SDK je následující:
Sada SDK je lehká obálka kolem rozhraní API foundry Local Core C (.dll/.so/.dylib), která poskytuje uživatelsky přívětivější rozhraní pro vývojáře v JavaScriptu. Sada SDK zpracovává načítání nativní knihovny, správu paměti a převod datových typů mezi JavaScriptem a C. Rozhraní FOUNDRY Local Core C API má dvě varianty, ale stejnou plochu rozhraní API:
- WindowsML (WinML) – Specifické pro Windows, které používají WindowsML k získání potřebných ovladačů a poskytovatelů spouštění pro dostupný hardware. Tato možnost je doporučená pro uživatele Windows, protože poskytuje lepší výkon a kompatibilitu s širokou škálou hardwaru.
- Multiplatformní – lze použít ve Windows, macOS a Linuxu. Je třeba poznamenat, že na zařízeních s macOS, která mají Apple Silicon, bude SDK pro různé platformy používat Metal framework společnosti Apple k hardwarové akceleraci prostřednictvím poskytovatele vykonávání WebGPU v modulu runtime ONNX.
Při instalaci balíčku Foundry Local SDK do projektu se můžete rozhodnout nainstalovat WinML nebo multiplatformní verzi.
Postupujte podle těchto pokynů specifických pro Windows nebo pro multiplatformní systémy (macOS/Linux/Windows) pro použití Foundry Local ve vašem projektu JavaScript:
- Vytvořte nový projekt JavaScriptu:
mkdir app-name cd app-name npm init -y npm pkg set type=module - Nainstalujte balíček Foundry Local SDK:
npm install --winml foundry-local-sdk npm install openai
Rychlý start
Pomocí tohoto úryvku kódu ověřte, že SDK může inicializovat a přistupovat k místnímu katalogu modelů.
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}`);
}
Tento příklad zobrazí seznam dostupných modelů pro váš hardware.
Ukázky
- Ukázkové aplikace, které ukazují, jak používat sadu Foundry Local JavaScript SDK, najdete v úložišti GitHub s ukázkami místní sady JavaScript SDK Foundry.
Referenční informace k rozhraní API
- Další podrobnosti o sadě Foundry Local JavaScript SDK najdete v referenčních informacích k rozhraní API sady Foundry Local JavaScript SDK.
Odkazy
Referenční informace k sadě C# SDK
Průvodce nastavením projektu
Pro sadu Foundry Local SDK existují dva balíčky NuGet – WinML a multiplatformní balíček – které mají stejnou plochu rozhraní API, ale jsou optimalizované pro různé platformy:
-
Windows: Používá balíček
Microsoft.AI.Foundry.Local.WinMLspecifický pro aplikace systému Windows, který používá architekturu Windows Machine Learning (WinML). -
Multiplatformní: Používá
Microsoft.AI.Foundry.Localbalíček, který lze použít pro multiplatformní aplikace (Windows, Linux, macOS).
V závislosti na cílové platformě podle těchto pokynů vytvořte novou aplikaci jazyka C# a přidejte potřebné závislosti:
Postupujte podle těchto pokynů specifických pro Windows nebo pro různé platformy (macOS/Linux/Windows), abyste použili Foundry Local ve vašem projektu v C#:
- Vytvořte nový projekt C# a přejděte do něj:
dotnet new console -n app-name cd app-name - Otevřete a upravte soubor
app-name.csproj:<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> - V kořenovém adresáři projektu vytvořte
nuget.configsoubor s následujícím obsahem, aby se balíčky obnovily správně:<?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>
Poznámka:
Balíček NuGet Microsoft.AI.Foundry.Local cílí na net8.0. Díky dopředné kompatibilitě .NET funguje bez problémů v projektech, které cílí na .NET 9, .NET 10 a novější – nevyžaduje žádnou další konfiguraci. Sada SDK používá pouze rozhraní API .NET 8 a neobsahuje žádné cesty kódu specifické pro architekturu, takže chování je stejné bez ohledu na to, na které modul runtime cílí vaše aplikace. My cílíme na .NET 8, protože se jedná o aktuální verzi dlouhodobé podpory (LTS) s nejširší instalační základnou.
Rychlý start
Pomocí tohoto úryvku kódu ověřte, že SDK může inicializovat a přistupovat k místnímu katalogu modelů.
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()}");
Tento příklad vytiskne počet modelů dostupných pro váš hardware.
Ukázky
- Ukázkové aplikace, které ukazují, jak používat sadu Foundry Local C# SDK, najdete v úložišti GitHub ukázek sady Foundry Local C# SDK.
Referenční informace k rozhraní API
- Další podrobnosti o sadě Foundry Local C# SDK najdete v referenčních informacích k rozhraní API sady Foundry Local C# SDK.
Nativní rozhraní API pro přepis zvuku
Sada SDK pro C# obsahuje nativního audio klienta pro přepis zvukových souborů na zařízení pomocí modelů Whisper. Tím se spustí proces odvozování bez nutnosti webového serveru REST.
Získání zvukového klienta
Po načtení modelu Whisper získejte zvukového klienta:
var audioClient = await model.GetAudioClientAsync();
Metody přepisu zvuku
| Metoda | Signature | Description |
|---|---|---|
TranscribeAudioStreamingAsync() |
(string audioFilePath, CancellationToken ct) => IAsyncEnumerable<TranscriptionChunk> |
Přenáší transkripční výsledky po částech. Každý blok dat má Text vlastnost. |
Nastavení AudioClient
| Vlastnictví | Typ | Description |
|---|---|---|
Language |
string |
Kód jazyka ISO 639-1 (například "en"). Zlepšuje přesnost. |
Temperature |
float |
Vzorkovací teplota (0,0–1,0). Nižší hodnoty jsou determinističtější. |
Příklad
var audioClient = await model.GetAudioClientAsync();
audioClient.Settings.Language = "en";
audioClient.Settings.Temperature = 0.0f;
await foreach (var chunk in audioClient.TranscribeAudioStreamingAsync(
"recording.mp3", CancellationToken.None))
{
Console.Write(chunk.Text);
}
Referenční informace: