AI应用开发工具包

提供使用Microsoft.Extensions.AI、Azure AI Foundry、Foundry Local和MCP服务器/客户端的示例应用,帮助开发者轻松构建AI应用。

  • by devkimchi
  • JavaScript
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 devkimchi/meai-azure-ai-foundry-mcp-sample

使用说明

MEAI、Azure AI Foundry、Foundry本地和MCP示例

你知道吗。NET是构建前端和后端应用程序最通用的语言吗?除此之外。NET还能够非常轻松地构建AI注入的应用程序。此存储库提供了几个使用Microsoft的示例应用程序。扩展。AI、Azure AI Foundry、Foundry Local和MCP服务器/客户端。

先决条件

入门

构建Foundry本地SDK

备注:这是一个临时解决方案,直到官方的NuGet包准备就绪。

  1. 克隆Foundry本地存储库。

    git clone https://github.com/microsoft/Foundry-Local.git foundry-local
    
  2. 构建C#SDK。

    cd foundry-local/sdk/cs
    dotnet restore && dotnet build
    
  3. 获取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
    

准备好在本地计算机上运行应用程序

  1. 克隆此存储库。

    git clone https://github.com/devkimchi/meai-azure-ai-foundry-mcp-sample.git
    
  2. 创建 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 示例应用程序

  1. 确保您拥有OpenAI、Azure OpenAI、GitHub模型、Anthropic和/或Google Vertex AI的API密钥。

  2. 将这些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}}"
    
  3. 确定你要使用哪个法学硕士 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"
      }
    }
    
  4. 运行应用程序。

    dotnet watch run --project ./src/Meai.ClientApp
    

运行Azure AI Foundry示例应用程序

  1. 请确保您拥有Azure AI Foundry的API密钥。

  2. 将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}}"
    
  3. 确定你要使用哪个法学硕士 src/Foundry.ClientApp/appsettings.json

    {
      "MEAI": {
        "ChatClient": "foundry"
      }
    }
    
  4. 运行应用程序。

    dotnet watch run --project ./src/Foundry.ClientApp
    

运行Foundry本地示例应用程序

  1. 确保您已安装Foundry本地CLI。

  2. 将模型添加到Foundry Local。您可以通过运行以下命令从列表中添加任何模型 foundry model ls.

    foundry model download qwen2.5-0.5b
    
  3. 确定你要使用哪个法学硕士 src/Foundry.ClientApp/appsettings.json

    {
      "MEAI": {
        "ChatClient": "local"
      }
    }
    
  4. 运行应用程序。

    dotnet watch run --project ./src/Foundry.ClientApp
    

运行MCP服务器/客户端示例应用程序

  1. 请确保您拥有OpenAI、Azure OpenAI或GitHub模型的API密钥。

  2. 将这些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}}"
    
  3. 运行MCP服务器应用程序。

    dotnet run --project ./src/McpTodo.ServerApp
    
  4. 在另一个终端中运行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

更多资源