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

在C#中调用Azure OpenAI时找不到StreamingCompletions和deploymentOrModelName

解决C#调用Azure OpenAI时找不到StreamingCompletions类的问题

核心解决步骤

你遇到的问题源于未安装正确的Azure OpenAI SDK NuGet包,以下是具体处理方案:

1. 安装指定NuGet包

必须安装Azure.AI.OpenAI官方NuGet包,它包含StreamingCompletions相关类及deploymentOrModelName参数的定义,是当前Azure OpenAI推荐使用的SDK。

  • Visual Studio中可通过NuGet包管理器搜索安装;
  • 使用Package Manager Console执行命令:
Install-Package Azure.AI.OpenAI
  • 或用.NET CLI命令:
dotnet add package Azure.AI.OpenAI

2. 添加命名空间引用

在代码文件顶部添加以下命名空间,确保能访问相关类:

using Azure.AI.OpenAI;
using Azure;

3. 关于deploymentOrModelName参数

该参数对应你在Azure门户中部署的模型名称,直接替换为自身的部署名即可(比如部署了gpt-35-turbo,就填入这个名称)。

4. 匹配SDK的代码结构

如果Azure门户生成的示例是旧版本SDK代码,类名可能存在差异,最新SDK中流式调用的基础示例结构如下:

var endpoint = new Uri("你的Azure OpenAI端点");
var apiKey = new AzureKeyCredential("你的API密钥");
var openAIClient = new OpenAIClient(endpoint, apiKey);

var chatCompletionsOptions = new ChatCompletionsOptions()
{
    DeploymentName = "你的部署名称", // 对应deploymentOrModelName
    Messages =
    {
        new ChatMessage(ChatRole.System, "你是一个助手"),
        new ChatMessage(ChatRole.User, "Hello!")
    },
    Stream = true
};

await foreach (var chatUpdate in openAIClient.GetChatCompletionsStreamingAsync(chatCompletionsOptions))
{
    if (chatUpdate.Choices.Count > 0)
    {
        var delta = chatUpdate.Choices[0].Delta;
        if (!string.IsNullOrEmpty(delta.Content))
        {
            Console.Write(delta.Content);
        }
    }
}

确保使用最新版本SDK,即可匹配示例逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 00:09:53