Aspire AI 集成兼容性矩阵

Aspire 提供了多个 AI 托管和客户端集成,使你能够处理不同的 AI 服务和平台。 本文提供了一个兼容性矩阵,其中显示了哪些客户端集成适用于哪些托管集成,以及建议的配对指南。

兼容性矩阵

下表显示了 AI 托管与客户端集成之间的 Aspire 兼容性:

托管集成 Aspire.OpenAI Aspire.Azure.人工智能。OpenAI Aspire.Azure.人工智能推理
Aspire.Hosting.Azure.AIFoundry ❌ 否 ⚠️ 部分 ✅ 是(首选)
Aspire.Hosting.Azure.CognitiveServices ❌ 否 ✅ 是(首选) ❌ 否
Aspire.Hosting.OpenAI ✅ 是(首选) ✅ 是 ❌ 否
Aspire.Hosting.GitHub.Models ⚠️ 部分 ❌ 否 ✅ 是(首选)

传说

  • :客户端集成与托管集成兼容。
  • ⚠️ 部分:客户端集成可能不支持所有模型或 API。
  • :客户端集成不支持托管环境。
  • (首选):此托管集成的推荐客户端集成。

一般情况下,请使用 Aspire.Azure.AI.Inference 连接到 Azure 托管模型,或使用 Aspire.OpenAI 直接连接到 OpenAI。

Azure AI Foundry

在使用Azure的AI Foundry资源时,请使用Aspire.Azure.AI推理客户端集成。 这提供了与 AI Azure Foundry 可用的各种模型的最佳兼容性。 有关详细信息,请参阅 Azure AI Foundry 集成

托管集成

. AspireHosting.Azure.AIFoundry 包提供托管集成。 在应用主机项目中:

var builder = DistributedApplication.CreateBuilder(args);

var foundry = builder.AddAzureAIFoundry("foundry");

builder.AddProject<Projects.ExampleProject>()
       .WithReference(foundry);

Client 集成

.AspireAzure.AI.Inference包提供了客户端集成。 在服务项目中:

builder.AddAzureChatCompletionsClient("foundry");

Azure 认知服务 (AzureOpenAI)

对于 AzureOpenAI 资源,请使用 Aspire.Azure.AI.OpenAI 客户端集成,以全面支持特定于 Azure 的功能和身份验证。 有关详细信息,请参阅 AzureOpenAI 集成

托管集成

AspireHosting.Azure.CognitiveServices 包提供托管集成。 在应用主机项目中:

var builder = DistributedApplication.CreateBuilder(args);

var openai = builder.AddAzureOpenAI("openai");

builder.AddProject<Projects.ExampleProject>()
       .WithReference(openai);

Client 集成

Aspire Azure.AI.OpenAI包提供客户端集成。 在服务项目中:

builder.AddAzureOpenAIClient("openai");

直接 OpenAI

若要直接 OpenAI 访问 API,请使用 Aspire.OpenAI 客户端集成。 有关详细信息,请参阅AspireOpenAI集成(预览版)。

托管集成

Aspire.Hosting.OpenAI 包提供托管集成。 在应用主机项目中:

var builder = DistributedApplication.CreateBuilder(args);

var openai = builder.AddOpenAI("openai");

builder.AddProject<Projects.ExampleProject>()
       .WithReference(openai);

Client 集成

Aspire.OpenAI包提供客户端集成。 在服务项目中:

builder.AddOpenAIClient("openai");

GitHub 模型

对于 GitHub 模型,请使用 Aspire.Azure.AI推理 客户端集成,以确保与 GitHub 模型 API 的最佳兼容性。 有关详细信息,请参阅AspireGitHub模型集成(预览版)。

托管集成

AspireHosting.GitHub.Models 包提供托管集成。 在应用主机项目中:

var builder = DistributedApplication.CreateBuilder(args);

var chat = builder.AddGitHubModel("chat", "openai/gpt-4o-mini");

builder.AddProject<Projects.ExampleProject>()
       .WithReference(chat);

Client 集成

.AspireAzure.AI.Inference包提供了客户端集成。 在服务项目中:

builder.AddAzureChatCompletionsClient("chat");

连接字符串格式

了解托管和客户端集成如何通过连接字符串进行通信,可帮助你排查连接问题并了解基础机制。

每个托管集成都生成供客户端集成使用的不同格式的连接字符串。

托管集成连接字符串

Aspire.Hosting.Azure.AIFoundry

Azure:

Endpoint={Endpoint};EndpointAIInference={AIFoundryApiEndpoint}models

Foundry local:

Endpoint={EmulatorServiceUri};Key={ApiKey}

部署:

{Parent};Deployment={DeploymentName}

Aspire.托管.Azure.认知服务

部署:

{ConnectionString};Deployment={DeploymentName}

Aspire.托管.OpenAI

Endpoint={Endpoint};Key={Key};Model={Model}

Aspire.Hosting.GitHub.模型

Endpoint=https://models.github.ai/inference;Key={Key};Model={ModelName}

Client 集成连接字符串要求

Aspire.OpenAI

需要采用以下格式的连接字符串:

Endpoint={Endpoint};Key={Key};Deployment={Deployment};Model={Model}

使用DeploymentModel(按照该顺序)。 DeploymentAspire.Hosting.Azure.CognitiveServices设置,而ModelAspire.Hosting.OpenAI设置。

Aspire.Azure.人工智能。OpenAI

需要采用以下格式的连接字符串:

Endpoint={Endpoint};Key={Key};Deployment={Deployment};Model={Model}

使用DeploymentModel(按照该顺序)。 DeploymentAspire.Hosting.Azure.CognitiveServices设置,而ModelAspire.Hosting.OpenAI设置。

此集成是 Aspire.OpenAI 的超集,支持 TokenCredential 和 Azure 特定的功能。

Aspire.Azure.人工智能推理

需要采用以下格式的连接字符串:

Endpoint={Endpoint};EndpointAIInference={EndpointAIInference};Key={Key};Deployment={DeploymentName};Model={ModelName}

使用DeploymentModel(按照该顺序)。 DeploymentAspire.Hosting.Azure.CognitiveServices设置,而ModelAspire.Hosting.GitHub.Models设置。

如果可用,则使用EndpointAIInference,否则使用Endpoint

另请参阅