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

我们都知道,由于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
相关文章
微信又上线新功能,聊天突然变了!
近日,微信突然因内测“访客记录”功能,引发全网关注。被内测到的用户,..
元宝可以总结微信聊天记录了
作者 | 黄昱元宝终于拆掉了微信最高的围墙。5月13日,腾讯旗下AI原生应用..
刚刚,微信聊天记录能喂给AI了!我让它爬楼、砍价、整理信息..
智东西作者 | 陈骏达编辑 | 心缘智东西5月13日报道,今天,腾讯宣布,微..
微信聊天出新功能了,快试试!
但要求你的手机安装有元宝App,这时就会跳转到元宝中进行粘贴,你可以发..
不用登你的微信,也能看到你的聊天记录!这几个地方一定赶紧删除..
你知道吗?其实不用登你的微信,也能看到你的聊天记录,是不是太可怕了?..
刚刚,微信聊天记录能喂给AI了,我让它爬楼、砍价、整理信息..
智东西5月13日报道,今天,腾讯宣布,微信已经支持将消息一键转发至元宝..
聊天总把天聊死?这7个雷区,你可能正在踩。如何正确和女生聊天..
明明聊得火热,为什么突然被拉黑?你可能踩中了这七个聊天雷区“在吗?”..
用ChatGPT看病,80%误诊:AI医生的9秒奇迹和80%的残酷真相..
9秒出CT报告,1分钟完成心脏诊断——AI医疗看起来像魔法。但哈佛刚说完:..
突发!OpenAI高层巨震,ChatGPT与CodeX或合并,超级AI来了!..
根据《连线》5 月 15 日的独家报道,在最新一轮组织调整中,OpenAI 总裁 ..
关于作者
赶海的老阿姨..(普通会员)
文章
2113
关注
0
粉丝
0
点击领取今天的签到奖励!
签到排行

成员 网址收录40418 企业收录2986 印章生成263660 电子证书1157 电子名片68 自媒体110233

1
0
分享
请选择要切换的马甲:

个人中心

每日签到

我的消息

内容搜索