当前位置:   article > 正文

fetch 获取流式数据(chatgpt的流式输出)_fetch获取流式数据后如何挨个读取

fetch获取流式数据后如何挨个读取

背景:项目中需要获取chatgpt实时返回的数据

使用场景:在对接chatgpt 语言模型的时候采取的这种方案,因为目前的大语言的模型的结果都是需要一点点计算的,如果提出的问题比较复杂就导致响应的时间过长。

好处:流式获取一般在用于数据量比较大的情况,一次性返回会导致前端页面加载时间过长或者请求超时等问题,这时候我们就可以考虑使用流式的方式拿到部分数据并先展示,从而提升用户体验。

  1. async function getChatgptMsg() {
  2. const response = await fetch('你的url', {
  3. method: 'POST',
  4. headers: {
  5. 'Content-Type': 'application/json'
  6. },
  7. dataType: "text/event-stream",
  8. body: JSON.stringify({
  9. model: 'gpt-4',
  10. messages: messages,
  11. frequency_penalty: 0;
  12. max_tokens:4000;
  13. model:"gpt-4";
  14. presence_penalty: 0.6;
  15. temperature: 0.5;
  16. top_p :1;
  17. })
  18. });
  19. if (!response.ok) {
  20. throw new Error(`HTTP error! status: ${response.status}`);
  21. }
  22. const reader = response.body.getReader();
  23. let decoder = new TextDecoder();
  24. let resultData = '';
  25. let result = true;
  26. while (result) {
  27. const { done, value } = await reader.read();
  28. if (done) {
  29. console.log("Stream ended");
  30. result = false;
  31. break;
  32. }
  33. resultData += decoder.decode(value);
  34. }
  35. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/335426?site
推荐阅读
相关标签
  

闽ICP备14008679号