Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Importante
- Foundry Local está disponible en versión preliminar. Las versiones preliminares públicas proporcionan un acceso temprano a las funciones que se encuentran en la implementación activa.
- Las características, los enfoques y los procesos pueden cambiar o tener funcionalidades limitadas, antes de la disponibilidad general (GA).
El SDK local de Foundry le permite enviar características de inteligencia artificial en las aplicaciones que son capaces de aprovechar los modelos de inteligencia artificial local a través de una API sencilla e intuitiva. El SDK abstrae las complejidades de la administración de modelos de inteligencia artificial y proporciona una experiencia perfecta para integrar las funcionalidades de inteligencia artificial local en las aplicaciones. Esta referencia documenta implementaciones del SDK para JavaScript y C#. Se agregarán más idiomas en el futuro.
El SDK no requiere que la CLI local de Foundry esté instalada en el equipo de usuarios finales, lo que le permite enviar las aplicaciones sin pasos de configuración adicionales para los usuarios: las aplicaciones son independientes. Entre las ventajas adicionales del SDK local de Foundry se incluyen:
- Detección y optimización de hardware: evaluación automática de la funcionalidad para GPU, NPU y CPU.
- Administración del proveedor de ejecución (Windows): descarga automática y registro de los proveedores de ejecución en tiempo de ejecución de ONNX adecuados (CUDA, Vitis, QNN, OpenVINO, TensorRT) en función de las funcionalidades del dispositivo.
- Compatibilidad con metal a través de WebGpu (macOS): compatibilidad nativa para ejecutar modelos en Apple Silicon con un rendimiento optimizado.
- Adquisición de modelos: descarga sin problemas del catálogo de modelos de Foundry con control de versiones, actualizaciones y selección automática de modelos optimizados para hardware con soporte de reserva.
- Tiempo de ejecución eficaz: agrega <20 MB al tamaño de la aplicación, se ejecuta en dispositivos desde teléfonos móviles a escritorios.
- Compatibilidad con la API de OpenAI: integración sencilla con modelos y herramientas de OpenAI.
- Servidor REST opcional: ejecute Foundry Local como un servicio local accesible por otras aplicaciones.
Referencia del SDK de JavaScript
Configuración del proyecto
La arquitectura de alto nivel del SDK local de Foundry es la siguiente:
El SDK es un contenedor ligero en torno a una API de C de Foundry Local Core (.dll/.so/.dylib) que proporciona una interfaz más fácil de usar para los desarrolladores de JavaScript. El SDK controla la carga de la biblioteca nativa, la administración de memoria y la conversión de tipos de datos entre JavaScript y C. La API de C de Foundry Local Core tiene dos tipos, pero la misma superficie de API:
- WindowsML (WinML) - específico de Windows que emplea WindowsML para adquirir los controladores y proveedores de ejecución necesarios para el hardware disponible. Esta es la opción recomendada para los usuarios de Windows, ya que proporciona un mejor rendimiento y compatibilidad con una amplia gama de hardware.
- Multiplataforma : se puede usar en Windows, macOS y Linux. Debe tenerse en cuenta que, en dispositivos macOS con Apple Silicon, el SDK multiplataforma usará el framework Metal de Apple para la aceleración de hardware a través del proveedor de ejecución WebGPU del tiempo de ejecución de ONNX.
Al instalar el paquete del SDK local de Foundry en el proyecto, puede optar por instalar WinML o versión multiplataforma.
Use Foundry Local en el proyecto de JavaScript siguiendo estas instrucciones específicas de Windows o multiplataforma (macOS/Linux/Windows):
- Cree un nuevo proyecto de JavaScript:
mkdir app-name cd app-name npm init -y npm pkg set type=module - Instale el paquete del SDK local de Foundry:
npm install --winml foundry-local-sdk npm install openai
Inicio rápido
Use este fragmento de código para comprobar que el SDK puede inicializar y acceder al 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}`);
}
En este ejemplo se genera la lista de modelos disponibles para el hardware.
Muestras
- Para ver aplicaciones de ejemplo que muestran cómo usar el SDK de JavaScript local de Foundry, consulte el repositorio de GitHub de ejemplos del SDK de JavaScript local de Foundry.
Referencia de las API
- Para obtener más información sobre el SDK de JavaScript local de Foundry, consulte Referencia de la API del SDK de JavaScript local de Foundry.
References
Referencia del SDK de C#
Guía de configuración del proyecto
Hay dos paquetes NuGet para el SDK local de Foundry( WinML y un paquete multiplataforma) que tienen la misma superficie de API, pero están optimizadas para distintas plataformas:
-
Windows: usa el
Microsoft.AI.Foundry.Local.WinMLpaquete específico de las aplicaciones de Windows, que usa el marco de Windows Machine Learning (WinML). -
Multiplataforma: usa el
Microsoft.AI.Foundry.Localpaquete que se puede usar para aplicaciones multiplataforma (Windows, Linux, macOS).
En función de la plataforma de destino, siga estas instrucciones para crear una nueva aplicación de C# y agregar las dependencias necesarias:
Usa Foundry Local en tu proyecto de C# siguiendo estas instrucciones específicas de Windows o multiplataforma (macOS/Linux/Windows):
- Cree un nuevo proyecto de C# y vaya a él:
dotnet new console -n app-name cd app-name - Abra y edite el
app-name.csprojarchivo en:<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> - Cree un archivo
nuget.configen la raíz del proyecto con el siguiente contenido para que los paquetes se restauren correctamente.<?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>
Nota:
El paquete NuGet Microsoft.AI.Foundry.Local tiene como destino net8.0. Con la compatibilidad de versiones futuras de .NET, funciona sin problemas en proyectos destinados a .NET 9, .NET 10 y versiones posteriores, sin necesidad de ninguna otra configuración. El SDK usa solo las API de .NET 8 y no contiene rutas de acceso de código específicas del marco, por lo que el comportamiento es idéntico independientemente del entorno de ejecución al que se dirige la aplicación. Nos enfocamos en .NET 8, ya que es la versión actual de soporte a largo plazo (LTS) con la base de instalación más amplia.
Inicio rápido
Use este fragmento de código para comprobar que el SDK puede inicializar y acceder al 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()}");
En este ejemplo se imprime el número de modelos disponibles para tu hardware.
Muestras
- Para ver aplicaciones de ejemplo que muestran cómo usar el SDK de C# local de Foundry, consulte el repositorio de GitHub de ejemplos del SDK de C# local de Foundry.
Referencia de las API
- Para obtener más información sobre el SDK de C# local de Foundry, consulte Referencia de la API del SDK de C# local de Foundry.