> 自媒体 > (AI)人工智能 > 在PowerShell 中实现流式传输 - OpenAI completions 或 chat
在PowerShell 中实现流式传输 - OpenAI completions 或 chat
来源:opendotnet
2023-08-17 16:42:31
444
管理

我们都知道,由于OpenAI 服务的原理,他在做文本或代码补全时,如果内容较多,实际上是一点一点推测后续内容和补全的。这种情况下,如果你要等到所有的内容都准备好,则可能在客户端看到很长时间的空白页面。所以,OpenAI的API在设计时提供了一个stream的参数,以便实现流式传输,这也就是我们已经早就在很多地方(不管是官方的ChatGPT,还是很多第三方应用)已经看到的“打字机”效果。

Python 和 Nodejs 都默认支持了流式传输,例如下面是Python的做法。

在Javascript中则可以如下实现。

而到了IT 攻城狮或程序猿傍身的PowerShell,由于先天设计的不同,默认(Invoke-Webrequest 或 Invoke-RestMethod)并不支持这类骚操作。感谢胖老师的研究,咱们在PowerShell中也可以轻松实现类似的效果,请参考下文。

https://mp.weixin.qq.com/s/swBdYJBCQSYKO9peQ6kkNA

我做了一个简化的版本,可以快速验证效果。【请注意,替换RequestUri和 api_key】

$client = New-Object System.Net.Http.HttpClient$body = @{ prompt = "write a poem about happiness, less than 2000 words" max_tokens = 2000 stream = $true}$request = [System.Net.Http.HttpRequestMessage]::new$request.Method = "POST"$request.RequestUri = "https://chenxizhang-azure-openai.openai.azure.com/openai/deployments/text-davinci-003/completions?api-version=2022-12-01"$request.Content = [System.Net.Http.StringContent]::new(($body | ConvertTo-Json), [System.Text.Encoding]::UTF8)$request.Content.Headers.Clear$request.Content.Headers.Add("Content-Type", "application/json;charset=utf-8")$request.Headers.Add("api-key", $env:OPENAI_API_KEY)$task = $client.SendAsync($request)$result = $task.Result$streamTask = $result.Content.ReadAsStreamAsync$stream = $streamTask.Result$reader = [System.IO.StreamReader]::new($stream)while ($true) { $line = $reader.ReadLine if(($line -eq $) -or ($line -eq "data: [DONE]")) { break } Write-Host (($line -replace "data: ", "") | ConvertFrom-Json).choices.text -NoNewline}$reader.Close$reader.Dispose$stream.Close

周末手艺人卷一篇,其实不管用什么平台,都差不多的。关键是心,希望大家喜欢。

1
点赞
赏礼
赏钱
0
收藏
免责声明:本文仅代表作者个人观点,与本站无关。其原创性以及文中陈述文字和内容未经本网证实,对本文以及其中全部或者 部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 凡本网注明 “来源:XXX(非本站)”的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对 其真实性负责。 如因作品内容、版权和其它问题需要同本网联系的,请在一周内进行,以便我们及时处理。 QQ:617470285 邮箱:617470285@qq.com
相关文章
ChatGPT用户账号被黑客入侵,数据在暗网出售
知名AI助手ChatGPT的用户信息被黑客盗取并出售。据悉,这起事件涉及的用..
ChatGPT背后的男人——OpenAI“总设计师”Brockman
图左为Greg Brockman 右为Sam Altman从小镇走出、曾就读于哈佛和MIT,中..
自主 AI 来了?一文详解火爆全网的 AutoGPT
最近,开源 AI 项目 AutoGPT 在开发者圈中掀起了不小的热潮,“无需人类..
兴趣社交软件思语app更新后,如何正确和陌生人聊天打破尴尬..
我们都喜欢真诚的人,也喜欢和这样的人交友、聊天。再加上我们喜欢用社交..
体验ChatGPT后,发现2个重大不足,但也让我感到后怕了..
最近很火的ChatGPT,估计很多人都看到了,但国内真正去亲自体验的人应该..
涉嫌侵犯用户隐私 法国对ChatGPT所涉投诉展开调查
来源:人民网-国际频道 原创稿人民网讯 据法国《十字架报》报道,法国国..
商业模式来了!创纪录速度达到1亿用户后,ChatGPT要收费了..
在聊天机器人ChatGPT活跃用户突破1亿大关之际,OpenAI正抓紧为其打造商业..
ChatGPT 引爆全网热议!如果当它是“聊天机器人”,那你可就错了!..
近日来,智能聊天机器人ChatGPT的出现引发众多网友讨论,那它到底是什么..
当红AI ChatGPT外貌长得怎样?“椭圆形机器人”像漫画超级反派!..
当红AI“ChatGPT ”用户利用问答与AI绘图“Midjourney ”,描绘出“ChatG..
关于作者
赶海的老阿姨..(普通会员)
文章
656
关注
0
粉丝
0
点击领取今天的签到奖励!
签到排行

成员 网址收录40369 企业收录2981 印章生成216707 电子证书945 电子名片57 自媒体34015

@2022 All Rights Reserved 浙ICP备19035174号-7
1
0
分享
请选择要切换的马甲:

个人中心

每日签到

我的消息

内容搜索