Model Tools & Sanitization

JSON 荷载自愈与 Surrogate 代理对清洗

解密 agent/message_sanitization.py 参数纠正、控制字符逃逸与图片标签移除细节
JSON 自愈流程
📊 图 3-2-1:损坏 JSON 荷载自愈、括号匹配与 Surrogate 代替清洗流图

🩹 1. JSON 损坏自动修复 (_repair_tool_call_arguments)

大模型可能因为输出被突然截断、或者是因框架缺陷产生畸形的 JSON 参数段。在 agent/message_sanitization.py_repair_tool_call_arguments() 方法中,系统提供了多级防御修复,计算左右大括号和右大括号的数量差值,自动在字符串结尾补齐相应数量 of }]

工具执行与参数净化
📊 图 3-2-2:工具执行流程、参数净化与错误重试控制架构图

🔒 2. Surrogate 代理对清洗与图片处理

  • Surrogate 代理对清洗 (_sanitize_surrogates):部分模型的 Byte-level 输出会在遇到中文或特殊符号时意外抛出孤立的代理对(lone surrogates,如 \ud800\udfff),系统将它们强制替换,保障了系统稳定性。
  • 不支持图片时的降级 (_strip_images_from_messages):当大模型返回不支持图片上传报错时,系统会自动剔除消息列表里的图片部分。