winget install --id=Microsoft.FoundryLocal -e
Foundry Local brings the power of Azure AI Foundry to your local device. It allows you to run large language models (LLMs) directly on your hardware and keep all data processing on device for enhanced privacy and security. It also has an OpenAI compatible API and hardware acceleration out of the box, ensuring you're getting a simple and performant experience regardless of what hardware you are using.
Foundry Local is a powerful tool designed to bring the capabilities of Azure AI Foundry directly to your local device. It enables users to run large language models (LLMs) locally, ensuring all data processing occurs on-device for enhanced privacy and security.
Key Features:
Audience & Benefit: Ideal for developers and businesses looking to integrate AI capabilities without relying on cloud infrastructure. Foundry Local provides a simple, performant solution for running AI models locally, enabling enhanced privacy and reducing latency for real-time applications. It can be installed via winget for easy setup on supported platforms.
<img src="media/icons/ai_studio_icon_black.svg" height="100" />
<h1>Foundry Local</h1>
<h3><a href="https://aka.ms/foundry-local-installer">Download</a> | <a href="https://aka.ms/foundry-local-docs">Documentation</a> | <a href="https://aka.ms/foundry-local-discord">Discord</a></h3>
Foundry Local brings the power of Azure AI Foundry to your local device without requiring an Azure subscription. It allows you to:
Windows: Download the Foundry Local installer for your architecture (x64 or arm64):
Next, open the installer and follow the on-screen instructions to complete the installation.
MacOS: Open a terminal and run the following command:
brew tap microsoft/foundrylocal
brew install foundrylocal
Alternatively, you can download the macOS installer from the releases page and follow the on-screen installation instructions.
> [!TIP] > For any issues, refer to the Installation section below.
Run your first model: Open a terminal and run the following command to run a model:
foundry model run phi-3.5-mini
> [!NOTE]
> The foundry model run
command will automatically download the model if it's not already cached on your local machine, and then start an interactive chat session with the model.
Foundry Local will automatically select and download a model variant with the best performance for your hardware. For example:
You can list all available models by running the following command:
foundry model ls
This will show you a list of all models that can be run locally, including their names, sizes, and other details.
Foundry Local has an easy-to-use SDK (Python, JavaScript) to get you started with existing applications:
The Python SDK is available as a package on PyPI. You can install it using pip:
pip install foundry-local-sdk
pip install openai
> [!TIP]
> We recommend using a virtual environment such as conda
or venv
to avoid conflicts with other packages.
Foundry Local provides an OpenAI-compatible API that you can call from any application:
import openai
from foundry_local import FoundryLocalManager
# By using an alias, the most suitable model will be downloaded
# to your end-user's device.
alias = "phi-3.5-mini"
# Create a FoundryLocalManager instance. This will start the Foundry
# Local service if it is not already running and load the specified model.
manager = FoundryLocalManager(alias)
# The remaining code us es the OpenAI Python SDK to interact with the local model.
# Configure the client to use the local Foundry service
client = openai.OpenAI(
base_url=manager.endpoint,
api_key=manager.api_key # API key is not required for local usage
)
# Set the model to use and generate a streaming response
stream = client.chat.completions.create(
model=manager.get_model_info(alias).id,
messages=[{"role": "user", "content": "What is the golden ratio?"}],
stream=True
)
# Print the streaming response
for chunk in stream:
if chunk.choices[0].delta.content is not None:
print(chunk.choices[0].delta.content, end="", flush=True)
The JavaScript SDK is available as a package on npm. You can install it using npm:
npm install foundry-local-sdk
npm install openai
import { OpenAI } from "openai";
import { FoundryLocalManager } from "foundry-local-sdk";
// By using an alias, the most suitable model will be downloaded
// to your end-user's device.
// TIP: You can find a list of available models by running the
// following command in your terminal: `foundry model list`.
const alias = "phi-3.5-mini";
// Create a FoundryLocalManager instance. This will start the Foundry
// Local service if it is not already running.
const foundryLocalManager = new FoundryLocalManager()
// Initialize the manager with a model. This will download the model
// if it is not already present on the user's device.
const modelInfo = await foundryLocalManager.init(alias)
console.log("Model Info:", modelInfo)
const openai = new OpenAI({
baseURL: foundryLocalManager.endpoint,
apiKey: foundryLocalManager.apiKey,
});
async function streamCompletion() {
const stream = await openai.chat.completions.create({
model: modelInfo.id,
messages: [{ role: "user", content: "What is the golden ratio?" }],
stream: true,
});
for await (const chunk of stream) {
if (chunk.choices[0]?.delta?.content) {
process.stdout.write(chunk.choices[0].delta.content);
}
}
}
streamCompletion();
This section provides an overview of how to manage Foundry Local, including installation, upgrading, and removing the application.
Foundry Local is available for Windows and macOS (Apple silicon only). You can install it using package managers or manually download the installer.
You can install Foundry Local using the following command in a Windows console (PowerShell, cmd, etc.):
winget install Microsoft.FoundryLocal
Alternatively, you can also manually download and install the packages. On the releases page
select a release and expand the Artifacts list. Copy the artifact full URI (for example: https://github.com/microsoft/Foundry-Local/releases/download/v0.3.9267/FoundryLocal-x64-0.3.9267.43123.msix
)
to use in the below PowerShell steps. Replace x64
with arm64
as needed.
# Download the package and its dependency
$releaseUri = "https://github.com/microsoft/Foundry-Local/releases/download/v0.3.9267/FoundryLocal-x64-0.3.9267.43123.msix"
Invoke-WebRequest -Method Get -Uri $releaseUri -OutFile .\FoundryLocal.msix
$crtUri = "https://aka.ms/Microsoft.VCLibs.x64.14.00.Desktop.appx"
Invoke-WebRequest -Method Get -Uri $crtUri -OutFile .\VcLibs.appx
# Install the Foundry Local package
Add-AppxPackage .\FoundryLocal.msix -DependencyPath .\VcLibs.appx
If you're having problems installing Foundry, please file an issue and include logs using one of these methods:
winget install Microsoft.FoundryLocal --logs --verbose
- select the most-recently-dated log file
and attach it to the issue.Add-AppxPackage
- immediately after it indicates an error, in an elevated PowerShell instance, use
Get-MsixLogs | Out-File MsixLogs.txt
and attach it to the issue.> [!NOTE] > Log files may contain information like user names, IP addresses, file paths, etc. Be sure to remove those > before sharing here.
Install Foundry Local using the following commands in your terminal:
brew tap microsoft/foundrylocal
brew install foundrylocal
Alternatively, you can also manually download and install the packages by following these steps:
Download the latest release from the releases page.
Unzip the downloaded file.
Open a terminal and navigate to the unzipped folder, run the following command to install Foundry Local:
./install-foundry.command
To upgrade Foundry Local, run the following command in your terminal:
Windows
winget upgrade --id Microsoft.FoundryLocal
macOS: If you installed Foundry Local using Homebrew, you can upgrade it with the following command:
brew upgrade foundrylocal
If you installed Foundry Local manually, you'll first need to uninstall the current version using:
uninstall-foundry
Then, follow the installation instructions to install the latest version.
To uninstall Foundry Local, run the following command in your terminal:
Windows: You can uninstall Foundry Local using winget
in a Windows console (PowerShell, cmd, etc.):
winget uninstall Microsoft.FoundryLocal
Alternatively, you can also uninstall Foundry Local by navigating to Settings > Apps > Apps & features in Windows, finding "Foundry Local" in the list, and selecting the ellipsis (...
) followed by Uninstall.
macOS: If you installed Foundry Local using Homebrew, you can uninstall it with the following command:
brew rm foundrylocal
brew untap microsoft/foundrylocal
brew cleanup --scrub
If you installed Foundry Local manually, you can uninstall it by running the following command in your terminal:
uninstall-foundry
We're actively looking for feedback during this preview phase. Please report issues or suggest improvements in the GitHub Issues section.
Foundry Local is licensed under the Microsoft Software License Terms. For more details, read the LICENSE file.