第1节:开始使用 Foundry Local 摘要 学习如何安装、配置并运行您的第一个 AI 模型,使用 Microsoft Foundry Local。本次动手实践课程将从安装到使用 Phi-4、Qwen 和 DeepSeek 等模型构建您的第一个聊天应用程序,提供逐步的本地推理入门指导。 学习目标 完成本节课程后,您将能够: 安装和配置:正确安装并验证 Foundry Local 掌握 CLI 操作:使用 Foundry Local CLI 进行模型管理和部署 运行您的第一个模型:成功部署并与本地 AI 模型交互 构建聊天应用程序:使用 Foundry Local Python SDK 创建一个基础聊天应用程序 理解本地 AI:掌握本地推理和模型管理的基础知识 前置条件 系统要求
学习如何安装、配置并运行您的第一个 AI 模型,使用 Microsoft Foundry Local。本次动手实践课程将从安装到使用 Phi-4、Qwen 和 DeepSeek 等模型构建您的第一个聊天应用程序,提供逐步的本地推理入门指导。
完成本节课程后,您将能够:
使用 Windows 包管理器安装 Foundry Local:
# Install via winget (recommended) winget install Microsoft.FoundryLocal
替代方法:直接从 Microsoft Learn 下载
[!NOTE]
macOS 支持目前处于预览阶段。请查看官方文档以获取最新信息。
如果支持,使用 Homebrew 安装:
# If Homebrew formula is available brew update brew install foundry-local # Or manual download (check official docs for latest) curl -L -o foundry-local.tar.gz "https://download.microsoft.com/foundry-local/latest/macos/foundry-local.tar.gz" tar -xzf foundry-local.tar.gz sudo ./install.sh
macOS 用户的替代方法:
FOUNDRY_LOCAL_ENDPOINT安装完成后,重启终端并验证 Foundry Local 是否正常工作:
# Check if Foundry Local is installed correctly foundry --version # View available commands foundry --help
预期输出应显示版本信息和可用命令。
为本次课程创建一个专用的 Python 环境:
Windows:
# Create virtual environment py -m venv .venv # Activate environment .\.venv\Scripts\Activate.ps1 # Upgrade pip and install dependencies python -m pip install --upgrade pip pip install foundry-local-sdk openai
macOS/Linux:
# Create virtual environment python3 -m venv .venv # Activate environment source .venv/bin/activate # Upgrade pip and install dependencies python -m pip install --upgrade pip pip install foundry-local-sdk openai
现在让我们在本地运行第一个 AI 模型!
# Download and start phi-4-mini (lightweight, fast) foundry model run phi-4-mini # Test the model with a simple prompt foundry model run phi-4-mini --prompt "Hello, introduce yourself in one sentence"
[!TIP]
此命令会下载模型(首次运行时)并自动启动 Foundry Local 服务。
# List available models (shows downloaded models) foundry model list # Check service status foundry service status # See what models are cached locally foundry cache list
在 phi-4-mini 正常运行后,尝试其他模型:
# Larger model with better capabilities foundry model run gpt-oss-20b --prompt "Explain edge AI in simple terms" # Fast, efficient model foundry model run qwen2.5-0.5b --prompt "What are the benefits of local AI inference?"
现在让我们创建一个使用刚刚启动的模型的 Python 应用程序。
创建一个名为 my_first_chat.py 的新文件(或使用提供的示例):
#!/usr/bin/env python3 """ My First Foundry Local Chat Application Using FoundryLocalManager for automatic service management """ import os from foundry_local import FoundryLocalManager from openai import OpenAI def main(): # Get model alias from environment or use default alias = os.getenv("FOUNDRY_LOCAL_ALIAS", "phi-4-mini") try: # Initialize Foundry Local Manager (auto-starts service, downloads model) manager = FoundryLocalManager(alias) # Create OpenAI client pointing to local endpoint client = OpenAI( base_url=manager.endpoint, api_key=manager.api_key or "not-needed" ) # Get the actual model ID for this alias model_id = manager.get_model_info(alias).id print(" Welcome to your first local AI chat!") print(f"� Using model: {alias} -> {model_id}") print(f" Endpoint: {manager.endpoint}") print("� Type 'quit' to exit\n") except Exception as e: print(f"❌ Failed to initialize Foundry Local: {e}") print(" Make sure Foundry Local is installed: foundry --version") return while True: # Get user input user_message = input("You: ").strip() if user_message.lower() in ['quit', 'exit', 'bye']: print(" Goodbye!") break if not user_message: continue try: # Send message to local AI model response = client.chat.completions.create( model=model_id, messages=[ {"role": "system", "content": "You are a helpful AI assistant running locally."}, {"role": "user", "content": user_message} ], max_tokens=200, temperature=0.7 ) # Display the response ai_response = response.choices[0].message.content print(f" AI: {ai_response}\n") except Exception as e: print(f"❌ Error: {e}") print(" Check service status: foundry service status\n") if __name__ == "__main__": main()
[!TIP]
相关示例:有关更高级的用法,请参阅:
- Python 示例:
Workshop/samples/session01/chat_bootstrap.py- 包括流式响应和错误处理- Jupyter Notebook:
Workshop/notebooks/session01_chat_bootstrap.ipynb- 带详细说明的交互版本
# No need to manually start models - FoundryLocalManager handles this! # Just run your chat application python my_first_chat.py
替代方法:直接使用提供的示例
# Try the complete sample with streaming support cd Workshop/samples python -m session01.chat_bootstrap "Your question here"
或者探索交互式笔记本
在 VS Code 中打开 Workshop/notebooks/session01_chat_bootstrap.ipynb
尝试以下示例对话:
恭喜!您已经成功完成:
foundry model run 下载并启动模型foundry model run <model> 手动管理模型FoundryLocalManager(alias) 自动服务和模型管理# Installation & Setup foundry --version # Check installation foundry --help # View all commands # Model Management foundry model list # List available models foundry model run <model> # Download and start a model foundry model run <model> --prompt "text" # One-shot prompt foundry cache list # Show downloaded models # Service Management foundry service status # Check if service is running foundry service start # Start the service manually foundry service stop # Stop the service
解决方案:
# Restart your terminal after installation # Or manually add to PATH (Windows) $env:PATH += ";C:\Program Files\Microsoft\FoundryLocal"
解决方案:
# Check available system memory foundry service status # Try a smaller model first foundry model run phi-4-mini # Check disk space for model downloads # Models are stored in: %USERPROFILE%\.foundry\models (Windows)
解决方案:
# Check if service is running foundry service status # Start service if needed foundry service start # Verify the port (default is 5273) # Check for port conflicts with: netstat -an | findstr 5273
对于更高级的用法,您可以设置以下环境变量:
| 变量 | 用途 | 示例 |
|---|---|---|
FOUNDRY_LOCAL_ALIAS |
默认使用的模型 | phi-4-mini |
FOUNDRY_LOCAL_ENDPOINT |
覆盖端点 URL | http://localhost:5273/v1 |
在项目目录中创建一个 .env 文件:
FOUNDRY_LOCAL_ALIAS=phi-4-mini FOUNDRY_LOCAL_ENDPOINT=auto
Workshop/samples/session01/chat_bootstrap.py - 包含流式聊天应用程序Workshop/notebooks/session01_chat_bootstrap.ipynb - 交互式教程课程时长:30分钟动手实践 + 15分钟问答
难度级别:初学者
前置条件:Windows 11/macOS 11+,Python 3.10+,管理员权限
场景:某企业 IT 团队需要评估设备上的 AI 推理,以处理敏感的员工反馈数据,而无需将数据发送到外部服务。
您的目标:展示本地 AI 模型能够在保持数据完全隐私的同时,以亚秒级的延迟提供高质量的响应。
使用以下提示验证您的设置:
[ "List two benefits of local inference.", "Summarize why keeping data on device improves privacy.", "Give one trade-off when choosing a small model over a large model." ]
此验证确保您的 Foundry Local 设置已准备好参加第2至第6节的高级课程。
免责声明:
本文档使用AI翻译服务Co-op Translator进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于重要信息,建议使用专业人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。