下载包
npm i @microsoft/fetch-event-source -S
引入包
import { fetchEventSource } from '@microsoft/fetch-event-source'
使用包
fetchEventSource("/api/v1/services/aigc/text-generation/generation", {
method: 'POST',
headers: {
'Authorization': 'bearer sk-62d6c40d40024b94869b7a9537ec0f81',
"content-type": "application/json",
"Accept": "text/event-stream",
responseType: 'stream',
},
body: JSON.stringify({ "model": "qwen-1.8b-chat", "input": { "messages": [{ "role": "system", "content": "You are a helpful assistant." }, { "role": "user", "content": "java循环" }] }, "parameters": { "result_format": "message" } }),
openWhenHidden: true,
async onopen(response: any) {
// 成功连接时回调
if (response.ok && response.headers.get('content-type') === 'text/event-stream; charset=utf-8') {
return // everything's good
} else if (response.status >= 400 && response.status < 500 && response.status !== 429) {
}
},
onmessage: (msg) => {
// 连接正常操作
console.log(msg.event)
// if(msg.event == ''){
setHtml(JSON.parse(msg.data).output.choices[0].message.content)
console.log(JSON.parse(msg.data))
// }
},
onclose:()=>{
// 一轮结束后会触发
}
})
这样就可以正常的使用sse进行数据接入啦