c#.NET技术做到ChatGPT流式响应并实现打字机效果 实现ChatGPT的Stream传输
.NET技术做到ChatGPT流式响应并实现打字机效果
ChatGPT是当前备受瞩目的人工智能产品之一,它具备与人类进行智能对话的能力,同时能够理解人类的想法和需求。在内容创作、营销、智能客服、教育、投资等领域和场景中,ChatGPT都展现出了巨大的商业价值。
最近我抽出时间深入研究了ChatGPT聊天机器人。虽然之前有过简单的体验,但我想更进一步地了解它的实现原理。经过在网上搜索,我发现关于.Net和ChatGPT开发的文章非常有限。因此,我决定分享一下我在开发过程中遇到的一些关键问题和解决方法,希望能与大家一起学习。正好我还没有确定要在公众号上发布的内容,所以我决定先分享这个,也请大家多多关注。
如何实现ChatGPT的Stream传输
参考资料: https://www.cnblogs.com/hejiale010426/p/17583803.html
我参考这个代码,跟着做了一遍,我发现存在以下几个问题:
不是流式输出

原来的代码:

改成这样,就可以用eventStream的方式来调用,核心代码是:
context.Response.Headers.Add("Content-Type", "text/event-stream");
await context.Response.WriteAsync(v);
await context.Response.Body.FlushAsync();

输出的结果会有重复

解决方案:
将public async IAsyncEnumerable<char> Test()
改成:public async Task Test()
报错: 错误 CS1624 “Task”不是迭代器接口类型,因此“StreamController.Test()”体不能是迭代器块
解决方案:
需要删除这个代码
//yield return v;
【NET 如何实现ChatGPT的Stream传输】源代码下载:
已经上传到CSDN, 下载地址:
https://download.csdn.net/download/dmz1981/88312670
附上我们开发的软件产品:晨希AI军师
网址: 晨希AI军师 v2.0 http://ai.chaling58.cn/aewebvue/#/login
注册账号

AI问答


魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)