StrictJSON:一个用于LLM输出的严格JSON框架
项目基础介绍和主要编程语言
StrictJSON 是一个开源项目,旨在解决 json.loads()
无法处理的JSON解析问题,特别适用于大型语言模型(LLM)的输出。该项目主要使用Python编程语言开发,适合需要在Python环境中处理复杂JSON数据的开发者使用。
项目核心功能
StrictJSON 的核心功能包括:
- 确保LLM输出符合JSON格式:能够处理包含多种特殊字符(如单引号、双引号、方括号、反斜杠等)的JSON输出,确保这些输出能够被正确解析。
- 支持嵌套数据类型:不仅支持简单的JSON数据类型,还支持嵌套的列表和字典,使得处理复杂数据结构成为可能。
- 类型强制和错误纠正:提供类型强制功能,确保输出数据类型符合预期。如果类型不匹配,项目会通过LLM进行迭代纠正,最多尝试3次。
- 自定义检查:允许用户定义自定义检查规则,进一步确保输出数据的准确性。
- 与OpenAI JSON模式的集成:通过设置
openai_json_mode = True
,可以轻松集成OpenAI的JSON模式。 - 异步处理:提供异步处理功能,加快处理速度。
项目最近更新的功能
最近更新的功能包括:
- Agentic Framework的集成:引入了TaskGen作为官方的Agentic Framework,使得StrictJSON的代码库更加整洁,专注于LLM输出解析。
- 更强大的类型检查:增强了类型检查功能,特别是对于枚举(Enum)和列表(List)类型的处理,确保这些类型的输出格式正确。
- 错误纠正机制的优化:改进了错误纠正机制,使得LLM在生成错误时能够更快地进行自我修正。
- 异步处理功能的增强:优化了异步处理功能,提高了处理效率。
通过这些更新,StrictJSON 进一步提升了其在处理复杂JSON数据和LLM输出方面的能力,为开发者提供了更加强大和灵活的工具。