Open tisfeng opened 1 month ago
由于使用的第三方库 OpenAI 不支持停止 stream 请求,因此目前的代码实现只是忽略了 isStreamFinished 的请求,但这样会有一个问题,如果某个请求 A 内容特别长,以至于下个新的请求发出时,请求 A 还没有结束,这样会导致同时出现两个请求交错 completion 😥
https://github.com/tisfeng/Easydict/blob/30dd06d07cfbb81b07a7a4a9dfa392ebbcfa093b/Easydict/Swift/Service/OpenAI/BaseOpenAIService.swift#L129
https://github.com/tisfeng/Easydict/assets/25194972/306fe96c-5520-441d-862b-aa9b56d22bd2
*
已经有人提了这个问题 Cancel the async openAI.chatsStream(query: query) ,但这个库的维护者并没有响应,这里有个实现 https://github.com/longseespace/OpenAI/commit/a290a1a119fc465cdb1740472242fbfca57069b9 ,或许我们将它 pick 到自己 fork 的库上 OpenAI 。
请先确认以下事项
功能描述
由于使用的第三方库 OpenAI 不支持停止 stream 请求,因此目前的代码实现只是忽略了 isStreamFinished 的请求,但这样会有一个问题,如果某个请求 A 内容特别长,以至于下个新的请求发出时,请求 A 还没有结束,这样会导致同时出现两个请求交错 completion 😥
https://github.com/tisfeng/Easydict/blob/30dd06d07cfbb81b07a7a4a9dfa392ebbcfa093b/Easydict/Swift/Service/OpenAI/BaseOpenAIService.swift#L129
https://github.com/tisfeng/Easydict/assets/25194972/306fe96c-5520-441d-862b-aa9b56d22bd2
使用场景
*
实现方案(可选)
已经有人提了这个问题 Cancel the async openAI.chatsStream(query: query) ,但这个库的维护者并没有响应,这里有个实现 https://github.com/longseespace/OpenAI/commit/a290a1a119fc465cdb1740472242fbfca57069b9 ,或许我们将它 pick 到自己 fork 的库上 OpenAI 。
是否愿意提交 PR 实现该功能