Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Importante
- O Foundry Local está disponível em pré-visualização. Os lançamentos de pré-visualização pública proporcionam acesso antecipado a funcionalidades que estão em implementação ativa.
- Recursos, abordagens e processos podem mudar ou ter recursos limitados, antes da Disponibilidade Geral (GA).
O Foundry Local SDK permite-lhe disponibilizar funcionalidades de IA nas suas aplicações capazes de tirar partido de modelos locais de IA através de uma API simples e intuitiva. O SDK abstrai as complexidades da gestão de modelos de IA e proporciona uma experiência fluida para integrar capacidades locais de IA nas suas aplicações. Esta referência documenta implementações de SDK para JavaScript e C#. Mais línguas serão adicionadas no futuro.
O SDK não requer que a CLI local do Foundry seja instalada na máquina do utilizador final, permitindo-lhe enviar as suas aplicações sem passos adicionais de configuração para os seus utilizadores – as suas aplicações são autónomas. Os benefícios extra do Foundry Local SDK incluem:
- Deteção e otimização por hardware: Avaliação automática de capacidades para GPU, NPU e CPU.
- Gestão do fornecedor de execução (Windows): Download e registo automáticos dos fornecedores de execução ONNX apropriados (CUDA, Vitis, QNN, OpenVINO, TensorRT) com base nas capacidades do dispositivo.
- Suporte a Metal via WebGpu (macOS): Suporte nativo para execução de modelos em Apple Silicon com desempenho otimizado.
- Aquisição de modelos: Download contínuo do Catálogo de Modelos Foundry com versionamento, atualizações e seleção automática de modelos otimizada por hardware com suporte a backup.
- Tempo de execução eficiente: Adiciona <20MB ao tamanho da aplicação, funciona em dispositivos desde telemóveis a desktops.
- Compatibilidade com APIs OpenAI: Integração fácil com modelos e ferramentas OpenAI.
- Servidor REST opcional: Executar o Foundry Local como um serviço local acessível por outras aplicações.
Referência do SDK JavaScript
Configuração do projeto
A arquitetura de alto nível do Foundry Local SDK é a seguinte:
O SDK é um wrapper leve em torno de uma API Foundry Local Core C (.dll/.so/.dylib) que oferece uma interface mais amigável para os programadores JavaScript. O SDK trata do carregamento da biblioteca nativa, da gestão da memória e da conversão dos tipos de dados entre JavaScript e C. A API Foundry Local Core C tem duas variantes, mas a mesma superfície API:
- WindowsML (WinML) - Específico para Windows que utiliza o WindowsML para adquirir os drivers e fornecedores de execução necessários para o hardware disponível. Esta é a opção recomendada para utilizadores Windows, pois proporciona melhor desempenho e compatibilidade com uma vasta gama de hardware.
- Multiplataforma - pode ser usado no Windows, macOS e Linux. Convém notar que, em dispositivos macOS com Apple Silicon, o SDK multiplataforma utilizará a framework Metal da Apple para aceleração de hardware através do provedor de execução WebGPU ONNX.
Quando instala o pacote Foundry Local SDK no seu projeto, pode optar por instalar a versão WinML ou multiplataforma.
Use o Foundry Local no seu projeto JavaScript seguindo estas instruções específicas para 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 Foundry Local SDK:
npm install --winml foundry-local-sdk npm install openai
Início Rápido
Use este excerto para verificar se o SDK pode inicializar-se e aceder ao catálogo local de modelos.
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 apresenta a lista de modelos disponíveis para o seu hardware.
Samples
- Para exemplos de aplicações que demonstram como usar o Foundry Local JavaScript SDK, consulte o repositório Foundry Local JavaScript SDK Samples no GitHub.
Referência da API
- Para mais detalhes sobre o Foundry Local JavaScript SDK, leia Foundry Local JavaScript SDK API Reference.
Referências
Referência do SDK do C#
Guia de configuração do projeto
Existem dois pacotes NuGet para o Foundry Local SDK – um WinML e um pacote multiplataforma – que têm a mesma superfície de API, mas são otimizados para plataformas diferentes:
-
Windows: Utiliza o pacote
Microsoft.AI.Foundry.Local.WinMLespecífico para aplicações Windows, que utiliza o framework Windows Machine Learning (WinML). -
Multiplataforma: Utiliza o
Microsoft.AI.Foundry.Localpacote que pode ser usado para aplicações multiplataforma (Windows, Linux, macOS).
Dependendo da sua plataforma de destino, siga estas instruções para criar uma nova aplicação C# e adicionar as dependências necessárias:
Use o Foundry Local no seu projeto C# seguindo estas instruções específicas para Windows ou Multiplataforma (macOS/Linux/Windows):
- Crie um novo projeto em C# e navegue para ele:
dotnet new console -n app-name cd app-name - Abrir e editar o
app-name.csprojficheiro 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.configficheiro 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 objetivo net8.0. Com a compatibilidade futura do .NET, funciona perfeitamente em projetos que visam .NET 9, .NET 10 e posteriores — não é necessária outra configuração. O SDK usa apenas APIs .NET 8 e não contém caminhos de código específicos do framework, pelo que o comportamento é idêntico independentemente do runtime que a tua aplicação vise. O nosso objetivo é o .NET 8, pois é a versão atual de Suporte a Longo Prazo (LTS) com a base de instalações mais ampla.
Início Rápido
Use este excerto para verificar se o SDK pode inicializar-se e aceder ao catálogo local de modelos.
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 o seu hardware.
Samples
- Para aplicações de exemplo que demonstram como usar o Foundry Local C# SDK, consulte o repositório Foundry Local C# Samples GitHub.
Referência da API
- Para mais detalhes sobre o Foundry Local C# SDK, leia a Foundry Local C# SDK API Reference.