Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Importante
- A Fábrica Local está disponível na versão prévia. Versões de visualização pública fornecem acesso antecipado aos recursos que estão em desenvolvimento ativo.
- Os recursos, abordagens e processos podem mudar ou ter seus recursos limitados antes da GA (disponibilidade geral).
O SDK Local do Foundry permite que você envie recursos de IA em seus aplicativos capazes de aproveitar modelos de IA locais por meio de uma API simples e intuitiva. O SDK abstrai as complexidades do gerenciamento de modelos de IA e fornece uma experiência perfeita para integrar recursos locais de IA em seus aplicativos. Essa referência documenta implementações do SDK para JavaScript e C#. Mais idiomas serão adicionados no futuro.
O SDK não exige que a CLI Local do Foundry seja instalada no computador de usuários finais, permitindo que você envie seus aplicativos sem etapas adicionais de instalação para seus usuários – seus aplicativos são independentes. Os benefícios extras do SDK Local do Foundry incluem:
- Detecção e otimização de hardware: avaliação automática de funcionalidade para GPU, NPU e CPU.
- Gerenciamento de provedor de execução (Windows): download e registro automático de provedores de execução do ONNX Runtime apropriados (CUDA, Vitis, QNN, OpenVINO, TensorRT) com base nos recursos do dispositivo.
- Suporte Metal via WebGPU (macOS): suporte nativo para execução de modelos no Apple Silicon com desempenho otimizado.
- Aquisição de modelo: download perfeito do Catálogo de Modelos do Foundry com controle de versão, atualizações e seleção automática de modelos otimizados para hardware com suporte a fallback.
- Runtime eficiente: adiciona 20 MB ao tamanho do aplicativo, é executado em dispositivos de celulares a desktops.
- Compatibilidade da API openai: fácil integração com modelos e ferramentas do OpenAI.
- Servidor REST opcional: execute Foundry Local como um serviço local acessível por outros aplicativos.
Referência do SDK do JavaScript
Configuração do projeto
A arquitetura de alto nível do SDK Local do Foundry é a seguinte:
O SDK é um wrapper leve em torno de uma API C do Foundry Local Core (.dll/.so/.dylib) que fornece uma interface mais amigável para desenvolvedores JavaScript. O SDK manipula o carregamento da biblioteca nativa, o gerenciamento de memória e a conversão de tipos de dados entre JavaScript e C. A API C do Foundry Local Core tem dois sabores, mas a mesma superfície de API:
- WindowsML (WinML) – solução específica do Windows que utiliza o WindowsML para adquirir os drivers e provedores de execução necessários para o hardware disponível. Essa é a opção recomendada para usuários do Windows, pois fornece melhor desempenho e compatibilidade com uma ampla gama de hardware.
- Multiplataforma – pode ser usado no Windows, macOS e Linux. É importante observar que, em dispositivos macOS com o Apple Silicon, o SDK multiplataforma usará o framework Metal da Apple para aceleração de hardware, por meio do provedor de execução WebGPU do ONNX Runtime.
Ao instalar o pacote do SDK Local do Foundry em seu projeto, você pode optar por instalar o WinML ou a versão multiplataforma.
Use o Foundry Local em seu projeto JavaScript seguindo estas instruções específicas do Windows ou multiplataforma (macOS/Linux/Windows):
- Crie um novo projeto JavaScript:
mkdir app-name cd app-name npm init -y npm pkg set type=module - Instale o pacote do SDK Local do Foundry:
npm install --winml foundry-local-sdk npm install openai
Início Rápido
Use este trecho de código para verificar se o SDK pode inicializar e acessar o catálogo de modelos local.
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}`);
}
Este exemplo gera a lista de modelos disponíveis para seu hardware.
Samples
- Para obter aplicativos de exemplo que demonstram como usar o SDK JavaScript Local do Foundry, consulte o repositório GitHub de Exemplos de SDK javaScript local do Foundry.
Referência de API
- Para obter mais detalhes sobre o SDK javascript local do Foundry, leia a Referência da API do SDK do JavaScript Local do Foundry.
References
- Integrar com SDKs de inferência
- Usar a API de complementos de chat nativo do Foundry Local
Referência do SDK do C#
Guia de configuração do projeto
Há dois pacotes NuGet para o SDK Local do Foundry - um WinML e um pacote multiplataforma - que têm a mesma superfície de API, mas são otimizados para plataformas diferentes:
-
Windows: usa o pacote
Microsoft.AI.Foundry.Local.WinMLespecífico para aplicativos Windows, que usa a estrutura do Windows Machine Learning (WinML). -
Multiplataforma: usa o
Microsoft.AI.Foundry.Localpacote que pode ser usado para aplicativos multiplataforma (Windows, Linux, macOS).
Dependendo da plataforma de destino, siga estas instruções para criar um novo aplicativo C# e adicionar as dependências necessárias:
Use o Foundry Local em seu projeto em C# seguindo estas instruções específicas do Windows ou multiplataforma (macOS/Linux/Windows):
- Crie um novo projeto em C# e navegue até ele:
dotnet new console -n app-name cd app-name - Abra e edite o
app-name.csprojarquivo para:<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> - Crie um
nuget.configarquivo na raiz do projeto com o seguinte conteúdo para que os pacotes sejam restaurados corretamente:<?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>
Observação
O pacote NuGet Microsoft.AI.Foundry.Local tem como destino net8.0. Com a compatibilidade futura do .NET, ele funciona perfeitamente em projetos direcionados ao .NET 9, .NET 10 e posteriores, sem necessidade de outra configuração. O SDK usa apenas APIs do .NET 8 e não contém caminhos de código específicos da estrutura, portanto, o comportamento é idêntico, independentemente de qual runtime seu aplicativo é direcionado. Temos como destino o .NET 8, pois é a versão atual do LTS (Suporte a Longo Prazo) com a base de instalação mais ampla.
Início Rápido
Use este trecho de código para verificar se o SDK pode inicializar e acessar o catálogo de modelos local.
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()}");
Este exemplo imprime o número de modelos disponíveis para seu hardware.
Samples
- Para obter aplicativos de exemplo que demonstram como usar o SDK do C# Local do Foundry, consulte o repositório GitHub de Exemplos de SDK do C# Local do Foundry.
Referência de API
- Para obter mais detalhes sobre o SDK do C# Local do Foundry, leia a Referência da API do SDK do C# Local do Foundry.