admin管理员组

文章数量:1530017

.NET技术做到ChatGPT流式响应并实现打字机效果

ChatGPT是当前备受瞩目的人工智能产品之一,它具备与人类进行智能对话的能力,同时能够理解人类的想法和需求。在内容创作、营销、智能客服、教育、投资等领域和场景中,ChatGPT都展现出了巨大的商业价值。

最近我抽出时间深入研究了ChatGPT聊天机器人。虽然之前有过简单的体验,但我想更进一步地了解它的实现原理。经过在网上搜索,我发现关于.Net和ChatGPT开发的文章非常有限。因此,我决定分享一下我在开发过程中遇到的一些关键问题和解决方法,希望能与大家一起学习。正好我还没有确定要在公众号上发布的内容,所以我决定先分享这个,也请大家多多关注。

如何实现ChatGPT的Stream传输

参考资料: https://wwwblogs/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/download/dmz1981/88312670

附上我们开发的软件产品:晨希AI军师

网址: 晨希AI军师 v2.0   http://ai.chaling58/aewebvue/#/login

注册账号

AI问答

本文标签: 打字机流式效果技术NET