C# .NET调用OpenAI及微软语音服务实现语音输入及输出

目前C#调用Open AI有很多的开源库,本文使用的nuget包如下:

 <PackageReference Include="DevExpressMvvm" Version="22.1.3" />
    <PackageReference Include="Microsoft.CognitiveServices.Speech" Version="1.29.0" />
    <PackageReference Include="OpenAI-DotNet" Version="6.8.7" />
    <PackageReference Include="WPF-UI" Version="2.0.3" />

都有开源库,所以实现起来就比较简单了,主要难度可能还是注册账号,有能力的可以自己试试,在这儿贴出部分调用的主要代码,项目已开源,Github搜索JamesBaiJun/OpenAI-Azure,记得点个Star。

调用ChatGPT使用Nuget的OpenAI-DotNet库,代码如下:

  static string key = string.Empty;
        static OpenAIClient api = new OpenAIClient(这里填你的Key);

        public static event Action<string> OnReceiveReply;
        public static event Action<string> OnReceivePartial;
        public static async Task AskAsync(List<Message> messages)
        {
            var chatRequest = new ChatRequest(messages, Model.GPT3_5_Turbo);
            await foreach (var result in api.ChatEndpoint.StreamCompletionEnumerableAsync(chatRequest))
            {
                foreach (var choice in result.Choices.Where(choice => choice.Delta?.Content != null))
                {
                    // Partial response content
                    //Debug.WriteLine(choice.Delta.Content);
                    OnReceivePartial?.Invoke(choice.Delta.Content);
                }

                foreach (var choice in result.Choices.Where(choice => choice.Message?.Content != null))
                {
                    // Completed response content
                    //Debug.WriteLine($"{choice.Message.Role}: {choice.Message.Content}");
                    OnReceiveReply?.Invoke(choice.Message.Content);
                }
            }
        }

软件截图如下,需要你填入自己的Key:
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不知名君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值