使用说明
MEAI、Azure AI Foundry、Foundry本地和MCP示例
你知道吗。NET是构建前端和后端应用程序最通用的语言吗?除此之外。NET还能够非常轻松地构建AI注入的应用程序。此存储库提供了几个使用Microsoft的示例应用程序。扩展。AI、Azure AI Foundry、Foundry Local和MCP服务器/客户端。
先决条件
入门
构建Foundry本地SDK
备注:这是一个临时解决方案,直到官方的NuGet包准备就绪。
-
克隆Foundry本地存储库。
git clone https://github.com/microsoft/Foundry-Local.git foundry-local -
构建C#SDK。
cd foundry-local/sdk/cs dotnet restore && dotnet build -
获取NuGet包位置。
# bash/zsh FOUNDRY_LOCAL_NUGET_PACKAGE_PATH=$(find $(pwd) -name "*.nupkg" -type f -exec dirname {} \; | sort -u)# PowerShell $FOUNDRY_LOCAL_NUGET_PACKAGE_PATH = $(Get-ChildItem -Path . -Filter *.nupkg -Recurse).Directory.FullName
准备好在本地计算机上运行应用程序
-
克隆此存储库。
git clone https://github.com/devkimchi/meai-azure-ai-foundry-mcp-sample.git -
创建
nuget.config.{{FOUNDRY_LOCAL_NUGET_PACKAGE_PATH}}是来自的值 上一节.# bash/zsh cd meai-azure-ai-foundry-mcp-sample cat ./nuget.sample.config \ | sed 's|/path/to/foundry-local/sdk/cs/src/bin/Debug|{{FOUNDRY_LOCAL_NUGET_PACKAGE_PATH}}|g' \ > nuget.config# PowerShell cd meai-azure-ai-foundry-mcp-sample $(Get-Content -Path ./nuget.sample.config) ` -replace "/path/to/foundry-local/sdk/cs/src/bin/Debug", "{{FOUNDRY_LOCAL_NUGET_PACKAGE_PATH}}" ` | Out-File -Path nuget.config -Force备注:此步骤仅在发布官方NuGet包之前是必需的。
跑 Microsoft.Extensions.AI 示例应用程序
-
确保您拥有OpenAI、Azure OpenAI、GitHub模型、Anthropic和/或Google Vertex AI的API密钥。
-
将这些API密钥存储到用户机密:
# OpenAI dotnet user-secrets --project ./src/Meai.ClientApp set ConnectionStrings:openai "Endpoint=https://api.openai.com/v1;Key={{OPENAI_API_KEY}}" # Azure OpenAI dotnet user-secrets --project ./src/Meai.ClientApp set ConnectionStrings:openai "Endpoint={{AZURE_OPENAI_ENDPOINT}};Key={{AZURE_OPENAI_API_KEY}}" # GitHub Models dotnet user-secrets --project ./src/Meai.ClientApp set ConnectionStrings:openai "Endpoint=https://models.inference.ai.azure.com;Key={{GITHUB_PAT}}" # Anthropic dotnet user-secrets --project ./src/Meai.ClientApp set ConnectionStrings:anthropic "Endpoint=https://api.anthropic.com;Key={{ANTHROPIC_API_KEY}}" # Google Vertex AI dotnet user-secrets --project ./src/Meai.ClientApp set ConnectionStrings:google "Endpoint=https://generativelanguage.googleapis.com;Key={{GOOGLE_API_KEY}}" -
确定你要使用哪个法学硕士
src/Meai.ClientApp/appsettings.json// To use OpenAI, Azure OpenAI or GitHub Models { "MEAI": { "ChatClient": "openai" } }// To use Anthropic { "MEAI": { "ChatClient": "anthropic" } }// To use Google Vertex AI { "MEAI": { "ChatClient": "google" } } -
运行应用程序。
dotnet watch run --project ./src/Meai.ClientApp
运行Azure AI Foundry示例应用程序
-
请确保您拥有Azure AI Foundry的API密钥。
-
将API密钥存储到用户机密:
# Azure AI Foundry dotnet user-secrets --project ./src/Meai.ClientApp set ConnectionStrings:foundry "Endpoint={{AZURE_AI_FOUNDRY_ENDPOINT}};Key={{AZURE_AI_FOUNDRY_API_KEY}}" -
确定你要使用哪个法学硕士
src/Foundry.ClientApp/appsettings.json{ "MEAI": { "ChatClient": "foundry" } } -
运行应用程序。
dotnet watch run --project ./src/Foundry.ClientApp
运行Foundry本地示例应用程序
-
确保您已安装Foundry本地CLI。
-
将模型添加到Foundry Local。您可以通过运行以下命令从列表中添加任何模型
foundry model ls.foundry model download qwen2.5-0.5b -
确定你要使用哪个法学硕士
src/Foundry.ClientApp/appsettings.json{ "MEAI": { "ChatClient": "local" } } -
运行应用程序。
dotnet watch run --project ./src/Foundry.ClientApp
运行MCP服务器/客户端示例应用程序
-
请确保您拥有OpenAI、Azure OpenAI或GitHub模型的API密钥。
-
将这些API密钥存储到用户机密:
# OpenAI dotnet user-secrets --project ./src/Meai.ClientApp set ConnectionStrings:openai "Endpoint=https://api.openai.com/v1;Key={{OPENAI_API_KEY}}" # Azure OpenAI dotnet user-secrets --project ./src/Meai.ClientApp set ConnectionStrings:openai "Endpoint={{AZURE_OPENAI_ENDPOINT}};Key={{AZURE_OPENAI_API_KEY}}" # GitHub Models dotnet user-secrets --project ./src/Meai.ClientApp set ConnectionStrings:openai "Endpoint=https://models.inference.ai.azure.com;Key={{GITHUB_PAT}}" -
运行MCP服务器应用程序。
dotnet run --project ./src/McpTodo.ServerApp -
在另一个终端中运行MCP客户端应用程序。
dotnet watch run --project ./src/mcpTodo.ClientApp
已知问题:安装Foundry本地CLI
在Windows上,如果您一直无法在计算机上安装Foundry Local CLI,请尝试以下方法 变通方案:
# 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