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

.NET使用Betalgo.OpenAI API无响应,请求技术支持

解决Betalgo.OpenAI API请求无响应问题

你的代码存在核心问题:RunForest方法使用async void,控制台程序中主线程调用该方法后不会等待异步操作完成,会直接退出,导致await openAiService.Completions.CreateCompletion(r)还未执行完毕程序就结束,所以你看不到任何返回结果。

修改后的代码如下:

static async Task Main(string[] args)
{
    await RunForest();
}

public static async Task RunForest()
{            
    var openAiService = new OpenAIService(new OpenAiOptions()
    {
        ApiKey = "sk-V72p9HoO5BmQaaa34IH1T3BlbkFJDroVJp5fX2g1NirGOf"
    });

    CompletionCreateRequest r = new CompletionCreateRequest()
    {
        Prompt = "Once upon a time",
        Model = OpenAI.GPT3.ObjectModels.Models.TextDavinciV3
    };

    try
    {
        var completionResult = await openAiService.Completions.CreateCompletion(r);
        if (completionResult.Successful)
        {
            Console.WriteLine(completionResult.Choices.FirstOrDefault()?.Text);
        }
        else
        {
            if (completionResult.Error == null)
            {
                throw new Exception("Unknown Error");
            }
            Console.WriteLine($"{completionResult.Error.Code}: {completionResult.Error.Message}");
        }
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.ToString());
    }            
}

关键修改点:

  • 将Main方法改为async Task Main(C# 7.1及以上版本支持),让主线程等待异步操作完成。
  • 将RunForest的返回类型从async void改为async Task,使其能被异步方法等待。
  • 输出结果时添加.Text,避免直接输出对象仅显示类型名称,无法看到实际返回文本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 17:02:47