AI调用模块流式输出无法输出deepseek思考过程,是否有办法像HTTP请求模块一样使用子程序处理?
暂时还没时间研究,再过几天看看
好的,流式输出内容格式是否也能改变呢
在HTTP请求中,流式输出内容的思考部分与正文部分的格式无法做出差异性(例如每行用 “>” 开头做出高亮标识),而且输出内容需分两个追加内容步骤,否则会出现思考内容与正文字符混乱的情况。
因为流式输出会多次调用SSE子程序,所以无法在返回内容中插入任何字符。
高亮处理
流式输出多次调用子程序,每次返回几个字符,字符的处理也是多次调用,无法实现预期效果
文本窗口似乎不是很适合这个场景,还是web技术更合适一些。不过很多>这个情况可以尝试判断一下前一个文字是不是换行,如果不是换行,就不再加>符号。
变量{reasoning_content} 一次获取2~4个字符,输出后重新获取内容,无法判断前面的字符,虽然可以每次都将 “\n” (不是"\r\n") 正则替换为"\n>",但是无法判断最开始的字符在哪,也就无法在第一行前面加上">"符号,只能在调用子程序前先行输入一个">",如果调用的模型不是深度思考类型,这个符号又会变多余。
从上面的截图看,每个换行前面都是有>的,说明在上一个消息的结尾肯定是换行结束。
主程序里弄一个变量,子程序在收到内容后,判断是否为换行结尾,如果是的话,设置变量值为true,否则设置为false。
然后在下次收到消息的时候,如果前面那个不是true,就不添加>符号。