在IPython/Jupyter中流式追加渲染Markdown内容的实现方案咨询
在IPython/Jupyter中流式追加渲染Markdown内容的实现方案咨询
我目前正在做LLM的token流式输出,输出的内容本身是Markdown格式的,现在想要实现流式追加渲染——也就是让内容像纯文本打印那样逐步连贯地呈现,而不是每次输出一个独立的Markdown块。
先说说我目前用纯文本流式输出的情况,这段代码是正常工作的:
async for chunk in response.receive(): print(chunk.text, end='')
它能输出排版正常的Markdown内容:
# Document heading Intro text * A bullet point * Another bullet point
但当我换成IPython的Markdown渲染方式时,就出现了问题。我用的代码是这样的:
from IPython import display, Markdown async for chunk in response.receive(): display(Markdown(chunk.text))
因为每次调用display(Markdown())都会生成一个独立的渲染块,导致内容被拆得支离破碎,比如会出现这样的效果:
Document heading Intro text * A bullet point * Another bullet point
想请教一下各位:有没有办法用IPython或者其他Python库来实现自然的流式追加渲染?还是说我必须手动缓存所有接收到的chunk内容,然后再重新渲染整个完整的Markdown文本?
备注:内容来源于stack exchange,提问作者Mark McDonald
相关产品推荐
相关产品推荐

