awesome-llm-json

GitHub
2.2k 91 非常简单 1 次阅读 2天前MITAgent开发框架语言模型
AI 解读 由 AI 自动生成,仅供参考

awesome-llm-json 是一份专为利用大语言模型(LLM)生成 JSON 及其他结构化数据而整理的精选资源清单。在 AI 应用开发中,让模型输出严格符合格式要求的代码或数据往往充满挑战,容易出现语法错误或结构偏差。这份清单直击这一痛点,系统性地汇集了实现“结构化输出”的各类关键资源,涵盖主流托管模型与本地部署方案、Python 核心库、技术博客、视频教程及实战 Notebook 等。

它特别梳理了行业内容易混淆的技术概念,如函数调用(Function Calling)、JSON 模式、工具使用(Tool Usage)以及基于上下文无关文法的引导生成(Guided Generation),帮助开发者厘清不同技术路径的适用场景。无论是需要集成 API 的后端工程师、探索模型能力的研究人员,还是希望提升应用稳定性的全栈开发者,都能从中快速找到适合的解决方案和最佳实践。通过整合从理论术语到具体代码实现的完整生态,awesome-llm-json 旨在降低结构化数据生成的门槛,让大模型更可靠地服务于实际业务逻辑。

使用场景

某电商公司的数据工程师需要每天从成千上万条非结构化的用户评论中提取商品属性(如颜色、尺寸、材质)并自动存入数据库。

没有 awesome-llm-json 时

  • 格式解析频繁报错:大模型生成的 JSON 经常缺少逗号、引号不闭合或包含多余的解释性文字,导致后端代码解析失败,需编写复杂的正则表达式进行“清洗”。
  • 字段结构不可控:模型偶尔会自作主张增加或减少字段(例如将"color"写成"colour"),导致数据入库时因 schema 不匹配而丢失关键信息。
  • 开发调试成本高:团队需花费大量时间尝试不同的 Prompt 技巧或微调模型,却难以稳定复现完美的结构化输出,严重拖慢项目上线进度。
  • 技术选型迷茫:面对函数调用、引导生成(Guided Generation)、JSON Mode 等多种术语和实现方案,开发者难以快速找到适合当前本地模型或云服务的最佳实践库。

使用 awesome-llm-json 后

  • 输出严格合规:通过列表中推荐的引导生成库(如 Outlines 或 Instructor),强制模型遵循预定义的 Context-Free Grammar,确保输出的 JSON 100% 合法且无需二次清洗。
  • Schema 精准映射:利用清单中适配的工具定义功能,锁定输出字段名称和类型,彻底杜绝字段漂移问题,实现数据无缝流入数据库。
  • 效率显著提升:直接复用列表中经过验证的 Python 库和 Notebook 模板,将原本数天的调试工作缩短至几小时,快速构建稳定的数据管道。
  • 方案决策清晰:借助清晰的术语对照表和模型支持清单,团队能迅速根据是用本地小模型还是云端大模型,选定最匹配的技术路径(如 Tool Usage 或 Function Calling)。

awesome-llm-json 的核心价值在于它将分散的结构化生成资源系统化,帮助开发者从“与模型格式博弈”转向“专注业务逻辑落地”,极大提升了非结构化数据处理的稳定性与效率。

运行环境要求

GPU

未说明

内存

未说明

依赖
notes该仓库是一个资源列表(Awesome List),用于整理支持生成 JSON 或结构化输出的大语言模型(LLM)、API 提供商、Python 库及相关文章,本身不是一个可运行的软件工具,因此没有具体的操作系统、GPU、内存或依赖库要求。具体运行需求取决于用户选择的特定模型(如本地部署的 Mistral 7B 需显存约 6-8GB)或调用的云端 API。
python未说明
awesome-llm-json hero image

快速开始

令人惊叹的 LLM JSON 列表

这个令人惊叹的列表致力于提供使用大型语言模型(LLMs)生成 JSON 或其他结构化输出的相关资源。

目录

术语

不幸的是,生成 JSON 有几种不同的叫法,但大致意思相同:

  • 结构化输出:使用 LLM 生成任何结构化输出,包括 JSON、XML 或 YAML,无论采用何种技术(例如函数调用、引导式生成)。
  • 函数调用:向 LLM 提供一个假设的(或实际的)函数定义,让其在聊天或完成响应中“调用”该函数。实际上 LLM 并不会真正调用函数,它只是通过 JSON 消息表明应该调用某个函数。
  • JSON 模式:指定 LLM 必须生成有效的 JSON。根据提供商的不同,可能会指定模式,也可能不会,而 LLM 可能会创建意想不到的模式。
  • 工具使用:为 LLM 提供一系列工具选择,如图像生成、网络搜索以及“函数调用”。API 请求中的函数调用参数现在被称为“tools”。
  • 引导式生成:用于约束 LLM 模型生成符合预设规范的文本,例如上下文无关语法
  • GPT Actions:ChatGPT 根据 OpenAPI 规范 中指定的端点和参数来调用操作(即 API 调用)。与名为“Function Calling”的功能不同,此功能确实会调用您托管在 API 服务器上的函数。

这些名称都不太理想,因此我将此列表命名为“令人惊叹的 LLM JSON”。

托管模型

提供商 模型 链接
Anthropic claude-3-opus-20240229
claude-3-sonnet-20240229
claude-3-haiku-20240307
API 文档
定价
AnyScale Mistral-7B-Instruct-v0.1
Mixtral-8x7B-Instruct-v0.1
函数调用
JSON 模式
定价
公告(2023 年)
Azure gpt-4
gpt-4-turbo
gpt-35-turbo
mistral-large-latest
mistral-large-2402
函数调用
OpenAI 定价
Mistral 定价
Cohere Command-R
Command-R+
函数调用
定价
Command-R(2024-03-11)
Command-R+(2024-04-04)
Fireworks.ai firefunction-v1 函数调用
JSON 模式
语法模式
定价
公告(2023-12-20)
Google gemini-1.0-pro 函数调用
定价
Groq llama2-70b
mixtral-8x7b
gemma-7b-it
函数调用
定价
Hugging Face TGI 众多开源模型 语法、JSON 模式、函数调用和工具
免费本地使用,或通过专用无服务器端点使用。
Mistral mistral-large-latest 函数调用
定价
OpenAI gpt-4
gpt-4-turbo
gpt-35-turbo
函数调用
JSON 模式
定价
公告(2023-06-13)
Rysana inversion-sm API 文档
定价
公告(2024-03-18)
Together AI Mixtral-8x7B-Instruct-v0.1
Mistral-7B-Instruct-v0.1
CodeLlama-34b-Instruct
函数调用
JSON 模式
定价
2024-01-31 公告

并行函数调用

以下是支持多个并行函数调用的托管 API 模型列表。这可能包括同时查询多个城市的天气,或者先查找酒店的位置,再查询该位置的天气。

  • anthropic
    • claude-3-opus-20240229
    • claude-3-sonnet-20240229
    • claude-3-haiku-20240307
  • azure/openai
    • gpt-4-turbo-preview
    • gpt-4-1106-preview
    • gpt-4-0125-preview
    • gpt-3.5-turbo-1106
    • gpt-3.5-turbo-0125
  • cohere
    • command-r
  • together_ai
    • Mixtral-8x7B-Instruct-v0.1
    • Mistral-7B-Instruct-v0.1
    • CodeLlama-34b-Instruct

本地模型

Mistral 7B Instruct v0.3(2024年5月22日,Apache 2.0 许可)是经过指令微调的 Mistral 版本,增加了函数调用支持。

C4AI Command R+(2024年3月20日,CC-BY-NC,Cohere)是一款拥有1040亿参数的多语言模型,具备先进的检索增强生成(RAG)和工具使用能力,专为跨10种语言的推理、摘要和问答任务而优化。支持量化以提高效率,并展示了独特的多步工具集成能力,可用于执行复杂任务。

Hermes 2 Pro - Mistral 7B(2024年3月13日,Nous Research)是一款70亿参数的模型,擅长函数调用、JSON结构化输出以及通用任务。它基于更新的 OpenHermes 2.5 数据集和新的函数调用数据集进行训练,采用了特殊的系统提示和多轮对话结构。在函数调用评估中达到91%,在JSON模式评估中达到84%。

Gorilla OpenFunctions v2(2024年2月27日,Apache 2.0 许可,Charlie Cheng-Jie Ji 等人)根据 JSON Schema 对象解释并执行函数,支持多种语言,并能检测函数的相关性。

NexusRaven-V2(2023年12月5日,Nexusflow)是一款130亿参数的模型,在零样本函数调用方面比 GPT-4 高出最多7%,能够有效利用软件工具。此外,它还在 CodeLlama-13B-instruct 的基础上进行了进一步的指令微调。

Functionary(2023年8月4日,MeetKai)根据 JSON Schema 对象解释和执行函数,支持不同的计算需求和调用类型。它与 OpenAI-python 和 llama-cpp-python 兼容,可在 JSON 生成任务中高效执行函数。

Hugging Face TGI多种本地模型 提供 JSON 输出和函数调用功能。

Python 库

DSPy(MIT 许可证)是一个用于算法优化大语言模型提示和权重的框架。DSPy 引入了类型化预测器和签名,利用 Pydantic 对输入和输出强制执行类型约束,从而改进了基于字符串的字段。

FuzzTypes(MIT 许可证)在 Pydantic 的基础上扩展了自动更正的注解类型,以增强数据规范化能力,并更好地处理复杂类型,如电子邮件、日期和自定义实体。

guidance(Apache-2.0 许可证)支持受限生成,可以将 Python 逻辑与大语言模型调用交织在一起,提供可重用函数并调用外部工具。它还能优化提示,以加快生成速度。

Instructor(MIT 许可证)通过使用函数调用、工具调用和受限采样模式,简化了从大语言模型生成结构化数据的过程。该库基于 Pydantic 进行验证,并支持多种大语言模型。

LangChain(MIT 许可证)提供了链式接口、与其他工具的集成以及面向应用的链。LangChain 支持跨模型的结构化输出工具调用

LiteLLM(MIT 许可证)简化了以 OpenAI 格式调用 100 多种大语言模型的操作,支持函数调用、工具调用和 JSON 模式。

LlamaIndex(MIT 许可证)提供了不同抽象层次的结构化输出模块,包括用于文本补全端点的输出解析器、利用函数调用或输出解析将提示映射到结构化输出的Pydantic 程序,以及针对特定输出类型的预定义 Pydantic 程序。

Marvin(Apache-2.0 许可证)是一个轻量级工具包,用于构建可靠的自然语言界面,配备自我文档化的工具,适用于实体提取等任务,并支持多模态功能。

Outlines(Apache-2.0 许可证)通过使用多种模型、Jinja 模板以及对正则表达式模式、JSON 模式、Pydantic 模型和上下文无关文法的支持,促进了结构化文本的生成。

Pydantic(MIT 许可证)通过定义数据模型、验证、生成 JSON 模式以及无缝的解析和序列化,简化了对数据结构和 JSON 的操作。

PydanticAI(MIT 许可证)是一个 Python 代理框架,旨在降低构建生产级生成式 AI 应用程序的难度。

SGLang(MPL-2.0 许可证)允许使用正则表达式或 Pydantic 模型指定 JSON 模式,以实现受限解码。其高性能运行时能够加速 JSON 解码过程。

SynCode(MIT 许可证)是一个用于大型语言模型(LLMs)语法引导生成的框架。它支持 Python、Go、Java、JSON、YAML 等多种上下文无关文法。

Mirascope(MIT 许可证)是一个大语言模型工具包,通过直观的 Python API 支持结构化提取。

Magnetic(MIT 许可证)只需三行代码即可从 Python 调用大语言模型。只需使用 @prompt 装饰器创建函数,即可返回由 Pydantic 驱动的大语言模型生成的结构化输出。

Formatron(MIT 许可证)是一个高效且可扩展的受限解码库,它允许通过 f-string 模板控制语言模型的输出格式,这些模板支持正则表达式、上下文无关文法、JSON 模式和 Pydantic 模型。Formatron 可以无缝集成到各种模型推理库中。

Transformers-cfg(MIT 许可证)通过 EBNF 接口扩展了 Hugging Face Transformers,使其支持上下文无关文法(CFG)。它能够在几乎不修改现有代码的情况下实现语法约束下的生成,并支持 JSON 模式和 JSON Schema。

博客文章

语法结构化生成能有多快?(2024-04-12,.txt Engineering)展示了一种几乎无成本的、遵循语法规则生成文本的方法。实验表明,在C语言语法测试中,该方法的性能比llama.cpp高出50倍。

结构化生成提升大模型性能:GSM8K基准测试(2024-03-15,.txt Engineering)展示了在8个不同模型上的持续改进,强调了“提示一致性”和“思维控制”等优势。

LoRAX + Outlines:通过结构化生成与LoRA实现更优的JSON提取(2024-03-03,Predibase博客)将Outlines与LoRAX v0.8结合,利用结构化生成、微调和LoRA适配器来提升提取精度和模式保真度。

FU,给我看看提示。通过拦截API调用快速理解难以捉摸的大模型框架(2023-02-14,Hamel Husain)提供了一份使用mitmproxy拦截API调用的实用指南,帮助深入了解工具功能并评估其必要性。文章强调尽量减少复杂性,并保持与底层大模型的紧密联系。

凝聚:使大模型推理速度提升5倍(2024-02-02,.txt Engineering)展示了如何通过一种称为“凝聚”的技术,使结构化生成的速度超过非结构化生成,同时也指出了该技术可能对生成质量产生的影响。

为什么Pydantic成为大模型不可或缺的工具(2024-01-19,Adam Azzam)解释了Pydantic如何成为关键工具,它能够通过JSON模式共享数据模型,并在非结构化与结构化数据之间进行推理。文章强调了量化决策空间的重要性,以及大模型可能过度拟合旧版本模式所带来的问题。

函数调用入门(2024-01-11,Elvis Saravia)介绍了如何通过函数调用将大模型与外部工具及API连接起来,并以OpenAI API为例说明了具体应用。

将ChatGPT的结构化数据支持推向极限(2023-12-21,Max Woolf)深入探讨了如何利用付费API、JSON模式和Pydantic来充分发挥ChatGPT的能力。文章重点介绍了提升输出质量的技术手段,以及结构化数据支持带来的好处。

为什么要使用Instructor?(2023-11-18,Jason Liu)解释了该库的优势,包括易读的接口、对部分提取和多种数据类型的支撑,以及自我纠正机制。同时推荐了Instructor官网上的更多资源。

使用语法约束lama.cpp的输出(2023-09-06,Ian Maurer)将上下文无关语法与lama.cpp集成,以获得更准确且符合模式规范的响应,尤其适用于生物医学数据。

使用OpenAI函数及其Python库进行数据提取(2023-07-09,Simon Willison)演示了如何利用OpenAI Python库和函数调用,在一次API调用中提取结构化数据,并提供了代码示例及应对流式传输限制的建议。

视频

GPT利用Datasette和GPT-4 Turbo提取非结构化数据(2024-04-09,Simon Willison)展示了datasette-extract插件从非结构化文本和图像中填充数据库表的能力,并借助GPT-4 Turbo的API进行数据提取。

使用Ollama实现大模型结构化输出以进行函数调用(2024-03-25,Andrej Baranovskij)演示了如何利用Ollama、Instructor和Sparrow代理进行基于函数调用的数据提取。

Hermes 2 Pro概览(2024-03-18,Prompt Engineer)介绍了Hermes 2 Pro这一70亿参数模型,它在函数调用和结构化JSON输出方面表现出色。演示显示,其函数调用准确率高达90%,JSON模式下准确率为84%,优于其他模型。

Mistral AI函数调用(2024-02-24,Sophia Yang)演示了如何将大模型与外部工具连接,生成函数参数并执行函数。此方法还可扩展用于生成或操作JSON数据。

Ollama与OpenAI中的函数调用(2024-02-13,Matt Williams)阐明了模型会生成可解析和调用的结构化输出。他对比了两种实现方式,指出Ollama的方法更为简单,并通过少量示例提示来保证一致性。

大模型工程:结构化输出(2024-02-12,Jason LiuWeights & Biases课程)提供了一门简明课程,讲解如何使用Pydantic处理结构化JSON输出、函数调用和验证,涵盖了构建稳健流水线和高效生产集成所需的关键内容。

Pydantic就是你需要的一切(2023-10-10,Jason LiuAI工程师大会)讨论了Pydantic在结构化提示和输出验证中的重要性,介绍了Instructor库,并展示了其在可靠且易于维护的大模型驱动应用中的高级用法。

Jupyter笔记本

使用lama-cpp-python和OpenAI Python客户端进行函数调用演示了集成过程,包括使用Instructor库进行设置,并提供了获取天气信息和提取用户详情的示例。

使用Mistral模型进行函数调用通过一个简单的支付交易数据框示例,展示了如何将Mistral模型与外部工具连接。

chatgpt-structured-dataMax Woolf提供,包含多个演示,展示了ChatGPT的函数调用和结构化数据支持,覆盖了各种用例和模式。## 排行榜

排行榜

伯克利函数调用排行榜(BFCL) 是一个用于评估大语言模型函数调用能力的基准测试框架,包含超过2000组问题-函数-答案对,覆盖Python、Java、JavaScript、SQL和REST API等多种编程语言。该榜单重点关注简单调用、多重调用、并行调用以及函数相关性检测等任务。

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|1周前
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|1周前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

156.8k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

108.3k|★★☆☆☆|5天前
开发框架图像Agent

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|5天前
插件Agent图像

markitdown

MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|1周前
插件开发框架