环境配置指南 概述 Workshop 示例使用环境变量进行配置,集中在代码库根目录的 文件中。这种方式可以轻松定制配置,而无需修改代码。 快速开始 验证先决条件 配置环境 文件已经配置了合理的默认值。大多数用户无需更改任何内容。 可选:查看并定制设置: 应用配置 对于 Python 脚本: 对于 Notebook: 环境变量参考 核心配置 变量 | 默认值 | 描述 | | 示例的默认模型 | (空) | 覆盖服务端点 | Workshop 路径 | Python 模块搜索路径 何时设置 FOUNDRYLOCALENDPOINT: 远程 Foundry Local 实例 自定义端口配置 开发/生产环境分离 示例: 会话特定变量 会话 02:RAG 管道 变量 | 默认值 | 用途 | |
Workshop 示例使用环境变量进行配置,集中在代码库根目录的 .env 文件中。这种方式可以轻松定制配置,而无需修改代码。
# Check Foundry Local is installed foundry --version # Check service is running foundry service status # Load a model foundry model run phi-4-mini
.env 文件已经配置了合理的默认值。大多数用户无需更改任何内容。
可选:查看并定制设置:
# Edit .env file notepad .env # Windows nano .env # macOS/Linux
对于 Python 脚本:
cd Workshop/samples python -m session01.chat_bootstrap "Your question here" # Environment variables automatically loaded
对于 Notebook:
# Restart kernel after .env changes # Variables are loaded when cells execute
| 变量 | 默认值 | 描述 |
|---|---|---|
FOUNDRY_LOCAL_ALIAS |
phi-4-mini |
示例的默认模型 |
FOUNDRY_LOCAL_ENDPOINT |
(空) | 覆盖服务端点 |
PYTHONPATH |
Workshop 路径 | Python 模块搜索路径 |
何时设置 FOUNDRY_LOCAL_ENDPOINT:
示例:
# Local custom port FOUNDRY_LOCAL_ENDPOINT=http://localhost:8000 # Remote instance FOUNDRY_LOCAL_ENDPOINT=http://192.168.1.50:5273/v1
| 变量 | 默认值 | 用途 |
|---|---|---|
EMBED_MODEL |
sentence-transformers/all-MiniLM-L6-v2 |
嵌入模型 |
RAG_QUESTION |
预配置 | 测试问题 |
| 变量 | 默认值 | 用途 |
|---|---|---|
BENCH_MODELS |
phi-4-mini,qwen2.5-0.5b |
要进行基准测试的模型 |
BENCH_ROUNDS |
3 |
每个模型的迭代次数 |
BENCH_PROMPT |
预配置 | 测试提示 |
BENCH_STREAM |
0 |
测量首个 token 的延迟 |
| 变量 | 默认值 | 用途 |
|---|---|---|
SLM_ALIAS |
phi-4-mini |
小型语言模型 |
LLM_ALIAS |
qwen2.5-7b |
大型语言模型 |
COMPARE_PROMPT |
预配置 | 比较提示 |
COMPARE_RETRIES |
2 |
重试次数 |
| 变量 | 默认值 | 用途 |
|---|---|---|
AGENT_MODEL_PRIMARY |
phi-4-mini |
研究员代理模型 |
AGENT_MODEL_EDITOR |
phi-4-mini |
编辑代理模型 |
AGENT_QUESTION |
预配置 | 测试问题 |
| 变量 | 默认值 | 用途 |
|---|---|---|
SHOW_USAGE |
1 |
打印 token 使用情况 |
RETRY_ON_FAIL |
1 |
启用重试逻辑 |
RETRY_BACKOFF |
1.0 |
重试延迟(秒) |
FOUNDRY_LOCAL_ALIAS=phi-4-mini SLM_ALIAS=phi-4-mini LLM_ALIAS=phi-4-mini BENCH_MODELS=phi-4-mini SHOW_USAGE=1
FOUNDRY_LOCAL_ALIAS=phi-4-mini SLM_ALIAS=phi-4-mini LLM_ALIAS=qwen2.5-7b AGENT_MODEL_PRIMARY=phi-4-mini AGENT_MODEL_EDITOR=qwen2.5-7b SHOW_USAGE=0
BENCH_MODELS=phi-4-mini,qwen2.5-0.5b,qwen2.5-7b BENCH_ROUNDS=5 BENCH_STREAM=1
AGENT_MODEL_PRIMARY=phi-4-mini # Fast for research AGENT_MODEL_EDITOR=qwen2.5-7b # Quality for editing
FOUNDRY_LOCAL_ENDPOINT=http://dev-server.local:5273/v1 FOUNDRY_LOCAL_ALIAS=phi-4-mini
通用用途:
phi-4-mini - 质量与速度平衡快速响应:
qwen2.5-0.5b - 非常快,适合分类任务phi-4-mini - 快速且质量良好高质量:
qwen2.5-7b - 最佳质量,资源需求较高phi-4-mini - 质量良好,资源需求较低代码生成:
deepseek-coder-1.3b - 专为代码生成设计phi-4-mini - 通用代码生成低资源(< 8GB RAM):
FOUNDRY_LOCAL_ALIAS=qwen2.5-0.5b SLM_ALIAS=qwen2.5-0.5b LLM_ALIAS=phi-4-mini
中等资源(8-16GB RAM):
FOUNDRY_LOCAL_ALIAS=phi-4-mini SLM_ALIAS=phi-4-mini LLM_ALIAS=qwen2.5-7b
高资源(16GB+ RAM):
FOUNDRY_LOCAL_ALIAS=qwen2.5-7b SLM_ALIAS=phi-4-mini LLM_ALIAS=qwen2.5-14b
# Development environment FOUNDRY_LOCAL_ENDPOINT=http://localhost:8000 # Staging environment FOUNDRY_LOCAL_ENDPOINT=http://staging.internal:5273/v1 # Production environment FOUNDRY_LOCAL_ENDPOINT=http://prod.internal:5273/v1
# In your scripts/notebooks os.environ['TEMPERATURE'] = '0.7' os.environ['TOP_P'] = '0.9'
# Use local for development FOUNDRY_LOCAL_ALIAS=phi-4-mini # Configure Azure for production fallback AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com AZURE_OPENAI_API_KEY=your-key-here AZURE_OPENAI_API_VERSION=2024-08-01-preview
症状:
解决方案:
# 1. Verify .env exists in repository root ls -la .env # macOS/Linux dir .env # Windows # 2. Check file is not .env.txt (Windows) # Ensure no hidden extension # 3. For notebooks: Restart kernel # Kernel > Restart # 4. For scripts: Check working directory pwd # Should be in Workshop or repository root
症状:
解决方案:
# 1. Check service status foundry service status # 2. Start if not running foundry service start # 3. Verify endpoint # Check port in status output foundry service status | grep "Port" # 4. Update .env if needed FOUNDRY_LOCAL_ENDPOINT=http://localhost:<port>
症状:
解决方案:
# 1. List available models foundry model list # 2. Load required model foundry model run phi-4-mini # 3. Update .env with available model FOUNDRY_LOCAL_ALIAS=<available-model>
症状:
解决方案:
# 1. Activate virtual environment .venv\Scripts\activate # Windows source .venv/bin/activate # macOS/Linux # 2. Install dependencies pip install -r requirements.txt
# test_env.py import os from dotenv import load_dotenv load_dotenv() print("Core Configuration:") print(f" FOUNDRY_LOCAL_ALIAS: {os.getenv('FOUNDRY_LOCAL_ALIAS')}") print(f" FOUNDRY_LOCAL_ENDPOINT: {os.getenv('FOUNDRY_LOCAL_ENDPOINT') or 'auto'}") print("\nSession 04:") print(f" SLM_ALIAS: {os.getenv('SLM_ALIAS')}") print(f" LLM_ALIAS: {os.getenv('LLM_ALIAS')}") print("\nSession 05:") print(f" AGENT_MODEL_PRIMARY: {os.getenv('AGENT_MODEL_PRIMARY')}") print(f" AGENT_MODEL_EDITOR: {os.getenv('AGENT_MODEL_EDITOR')}")
# test_connection.py import os from foundry_local import FoundryLocalManager alias = os.getenv('FOUNDRY_LOCAL_ALIAS', 'phi-4-mini') endpoint = os.getenv('FOUNDRY_LOCAL_ENDPOINT') try: if endpoint: manager = FoundryLocalManager(alias, endpoint=endpoint) else: manager = FoundryLocalManager(alias) print(f"✓ Connected to {manager.endpoint}") print(f"✓ Model: {manager.get_model_info(alias).id}") print(f"✓ Available models: {len(manager.list_models())}") except Exception as e: print(f"✗ Connection failed: {e}")
# .gitignore should include: .env .env.local *.key
.env # Default configuration .env.local # Local overrides (gitignored) .env.production # Production config (secure storage)
# For Azure OpenAI or other cloud services # Regularly rotate keys and update .env
# Development FOUNDRY_LOCAL_ENDPOINT=http://localhost:5273/v1 # Production (use secrets management) FOUNDRY_LOCAL_ENDPOINT=${PROD_FOUNDRY_ENDPOINT}
QUICK_START.md - 快速入门指南Workshop/samples/*/README.md - 示例特定指南最后更新: 2025-01-08
版本: 2.0
SDK: Foundry Local Python SDK(最新)
免责声明:
本文档使用AI翻译服务Co-op Translator进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于重要信息,建议使用专业人工翻译。我们对因使用此翻译而产生的任何误解或误读不承担责任。