微信扫码
添加专属顾问
我要投稿
在我们日常处理大模型的输出时,经常希望输出的结果为结构化的(例如输出json格式),这样有助于我们进行结果的后处理。但是在模型输出超过限制和流式输出时就会遇到问题了,由于答案没完全输出,转json就存在问题。
效果展示
text = '''{"name":"张三", "age":'''
print(parse_json_markdown(text))
# {'name': '张三'}
markdown格式
text = '''```json\n{"name":"张三", "age":27'''
print(parse_json_markdown(text))
# {'name': '张三', 'age': 27}
多维嵌套
text = '''```json\n{"name":"张三", "age": 27, "爱好": ["羽毛球'''
print(parse_json_markdown(text))
# {'name': '张三', 'age': 27, '爱好': ['羽毛球']}
核心代码介绍
核心处理代码如下:
new_chars = []
stack = []
is_inside_string = False
escaped = False
# Process each character in the string one at a time.
for char in s:
if is_inside_string:
if char == '"' and not escaped:
is_inside_string = False
elif char == "\n" and not escaped:
char = "\\n"# Replace the newline character with the escape sequence.
elif char == "\\":
escaped = not escaped
else:
escaped = False
else:
if char == '"':
is_inside_string = True
escaped = False
elif char == "{":
stack.append("}")
elif char == "[":
stack.append("]")
elif char == "}" or char == "]":
if stack and stack[-1] == char:
stack.pop()
else:
# Mismatched closing character; the input is malformed.
return None
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2025-10-20
端到端的多模态文档解析模型-DeepSeek-OCR架构、数据、训练方法
2025-10-20
Prompt 工程进阶——让 DeepSeek 学会你的测试风格
2025-10-20
美团 LongCat 团队发布 VitaBench:基于复杂生活场景的交互式 Agent 评测基准
2025-10-20
几乎都在挂羊头卖狗肉,AI Agent的泡沫现在到底有多大?
2025-10-20
AI Agent 上下文管理:基于搭叩的七大原则与实践
2025-10-20
当 AI 走进前端开发:代理插件的全流程开发实践
2025-10-20
AI Workflow Builder王炸劝退:n8n、Coze、Dify等AI工作流不要学了
2025-10-20
AIOps探索:做AIOps智能体,是直接调用公共大模型还是要部署私有大模型?
2025-08-21
2025-08-21
2025-08-19
2025-09-16
2025-07-29
2025-09-08
2025-09-17
2025-08-19
2025-10-02
2025-09-29
2025-10-20
2025-10-20
2025-10-19
2025-10-18
2025-10-18
2025-10-18
2025-10-16
2025-10-16