You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure.AI.OpenAI C#快速入门报错求助:ChatMessage与SearchKey问题

问题解决方法

1. ChatMessage 相关错误修复

Azure.AI.OpenAI 1.0.0-beta.12 中,ChatMessage 类型已被重构为 ChatRequestMessage 及其派生类(如 ChatRequestUserMessage、ChatRequestSystemMessage),原类型已被移除。

替换示例:

// 旧代码(文档中的写法)
var messages = new List<ChatMessage>
{
    new ChatMessage(ChatRole.User, "你的问题")
};

// 新代码(适配beta12)
var messages = new List<ChatRequestMessage>
{
    new ChatRequestUserMessage("你的问题")
};

2. AzureCognitiveSearchChatExtensionConfiguration 的 SearchKey 属性错误修复

beta12 版本中,SearchKey 属性已被移除,改为通过 AzureKeyCredential 对象传递搜索密钥,赋值给 Credential 属性:

替换示例:

// 旧代码(文档中的写法)
var searchConfig = new AzureCognitiveSearchChatExtensionConfiguration
{
    SearchEndpoint = new Uri("你的搜索端点"),
    SearchKey = "你的搜索密钥",
    IndexName = "你的索引名称"
};

// 新代码(适配beta12)
var searchConfig = new AzureCognitiveSearchChatExtensionConfiguration
{
    SearchEndpoint = new Uri("你的搜索端点"),
    Credential = new AzureKeyCredential("你的搜索密钥"),
    IndexName = "你的索引名称"
};

关于文档滞后的说明

Azure.AI.OpenAI 的预览版(beta)SDK 迭代速度快,API 会频繁发生破坏性变更,微软官方文档的更新有时无法完全同步最新的 SDK 版本,这是预览版工具链常见的问题。建议在使用 beta 版本时,同时参考 NuGet 包的版本变更说明来确认 API 变化。

确认项目配置

确保你的 .csproj 文件中 TargetFramework 为 .NET 6.0 及以上,示例配置:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net6.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Azure.AI.OpenAI" Version="1.0.0-beta.12" />
    <PackageReference Include="Azure.Identity" Version="1.10.4" /> <!-- 如果使用身份验证需要 -->
  </ItemGroup>
</Project>

内容的提问来源于stack exchange,提问作者ferpega

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 14:47:12