Closed pixeldin closed 8 months ago
第一点,经过我这边简单的尝试,错误是有成功返回来的,至于 console.dir 没输出是因为 console.dir 的第二参数是InspectOptions
第二点,流式请求的时候如我注释所说,请求返回的是一个Nodejs 的 Stream 对象,需要通过 .on("data", ()=> ...) 读取
response.on('data', (message) => {
console.log(message.toString());
})
// 输出
data: {"id":"8489583196621604331","created":1710769321,"model":"glm-4","choices":[{"index":0,"delta":{"role":"assistant","content":"标题"}}]}
data: {"id":"8489583196621604331","created":1710769321,"model":"glm-4","choices":[{"index":0,"delta":{"role":"assistant","content":":"}}]}
data: {"id":"8489583196621604331","created":1710769321,"model":"glm-4","choices":[{"index":0,"delta":{"role":"assistant","content":"魔法"}}]}
......
感谢回复,从我的捕获错误来看,似乎还是无法打印出来
也许是我这边的问题,为什么返回的response对象编译器无法识别为stream类型
不是很清楚你这个错误是如何触发的,如果能给出复现的方法就最好了, 我可以去详细的排查一下
至于第二个编辑器报错可能是没有正确的识别类型,但是它其实是正常可用的,可以先屏蔽这个错误,
// ts 使用忽略该行的类型检查
// @ts-ignore
我计划近期可能会修改一下接口吧流式和非流式的接口分开返回正确的类型提示
好的,感谢。
经测试使用// @ts-ignore
在流式模式下可以正常接收。
非流式问答
使用接口的时候会抛出一个
error
,catch
住之后打印为空,调用方式如下:参考官方示例
输出日志如下:
请问如何分析出具体错误信息?
流式问答
后面也尝试过使用流式SSE方式,如果是设置
stream: true
改为流式,则响应的response
结构如下, 我尝试判断response
其中的choice
字段,但是其长度为0请问该如何提取所需信息,能否提供示例代码对响应消息进行获取?