LLM输出增量解析咨询:适用Python库及实现方案推荐
LLM流式输出解析需求
- 核心场景:开发调用Large Language Model(LLM)的服务,需解析LLM流式输出并逐条发送结果给客户端
- 聚合输出示例:
This is a reference [r1] and here's an image of a cat <image>a black cat</image>. - 期望解析结果:
[ {"text": "This is a reference "}, {"reference": "r1"}, {"text": " and here's an image of a cat "}, {"image": "a black cat"}, {"text": "."}, ] - 流式处理难点:需即时发送就绪的
text消息,缓存非text项直至就绪再发送 - 简化错误处理规则:
- 若遇
[无匹配],无限缓存,流结束时将缓存转为text - 若遇
<image>但闭合标签非</image>,整体转为text;暂不考虑嵌套标签
- 若遇
- 当前现状:已有引用解析的底层Python代码,但可读性差、难以维护;曾查阅pyparsing、lark、parsimonious等库,因对解析术语理解有限,无法确定适用性
- 诉求:寻求增量解析的可行方案,推荐适用的Python库及相关学习资料(无需关注LLM调用及异步处理)
内容的提问来源于stack exchange,提问作者Nagasaki45
相关产品推荐
相关产品推荐

