当前位置: 首页 > article >正文

大模型提取结构化JSON——生产级

目录输出结构化符合预期的JsonPhase 1: 提示工程约束 (Prompt Engineering)Phase 2: 原生协议控制 (Native Protocol Control)深入浅出:如何用 Function Calling 提取结构化数据第一步:把“提取动作”包装成一个“函数说明 (Schema)”第二步:向大模型发起对话请求第三步:见证奇迹!大模型不再返回普通文本了第四步:在你的代码里直接拿来用总结Phase 3: 解码拦截 - 核心 (Decoding Interception)深入浅出:解码拦截与 Outlines 状态机 (Decoding Interception)一、 大白话原理解析:如何“捂住大模型的嘴”?1. 大模型的“打字机”原理2. FSM (有限状态机) 的介入:随身监工二、 Python 代码实战1.使用 Outlines 库2. OpenAI协议自带校验器三、 为什么解码拦截(Phase 3)是“终极杀器”?优势 1:100% 的语法正确率优势 2:节省 Token 和算力劣势:Phase 4: 解析自愈与重试 (Parsing Self-healing and Retry)总结输出结构化符合预期的Json四个阶段(Phase 1 - Phase 4):Phase 1: 提示工程约束 (Prompt Engineering)大白话:在你提问的时候,明明白白地告诉大模型你要什么格式,并且给它打个样。提供 JSON Schema:把上面 Pydantic 定义的类转换成 JSON 结构说明(Schema)丢给大模型。告诉它:“你必须返回包含 name, age, email 的 JSON,age 必须是数字”。Few-shot 示例 (少样本提示):仅仅说还不够,直接给例子。输入给大模型的 Prompt 示例:提取用户信息。例子1:输入:"我是张三,今年25岁,邮箱是zs@qq.com"输出:{"name": "张三", "age": 25, "email": "zs@qq.com"}例子2:输入:"李四昨天刚满三十,联系方式lisi@gmail.com"输出:{"name": "李四", "age": 30, "email": "lisi@gmail.com"}现在请处理:输入:"老王今年40了,wang@163.com是他的邮箱。"输出:Phase 2: 原生协议控制 (Native Protocol Control)大白话:很多主流大模型(如 OpenAI, Claude, 智谱等)已经在 API 层面提供了强制输出 JSON 的开关,直接把开关打开。JSON Mode:在调用 API 时,直接加上参数response_format={ "type": "json_object" }。这会让大模型在底层偏向于生成合法的 JSON 字符串。Function Calling (工具调用):把你需要的提取动作包装成一个“函数”。大模型不会直接回复文本,而是返回一个调用该函数的指令,里面的参数天然就是结构化好的name,age,email。深入浅出:如何用 Function Calling 提取结构化数据在之前的“四层防御体系”中,我们提到了Phase 2: 原生协议控制里的Function Calling(工具调用)。传统的做法是“求”大模型:“请你输出JSON格式”。 而 Function Calling 的逻辑是“骗”大模型:“我现在有一个系统函数,需要你帮我把参数填满,你去调用它。”为了让你直观理解,我们用 OpenAI 的 API 格式(这也是目前行业的通用标准)来模拟这个场景:提取「姓名」、「年龄」和「邮箱」。第一步:把“提取动作”包装成一个“函数说明 (Schema)”在大模型的世界里,你不需要真的写一个能在它那里运行的函数,你只需要告诉它有这个函数存在,以及这个函数需要什么参数。我们定义一个假想的函数叫save_user_profile(保存用户档案)。在传给大模型的 API 时,我们会带上下面这段 JSON 描述(也就是工具箱/Tools):{ "name": "save_user_profile", "description": "从自然语言文本中提取用户信息,并保存到数据库中。", "parameters": { "type": "object", "properties": { "name": { "type": "string", "description": "用户的姓名,例如:张三、老王" }, "age": { "type": "integer", "description": "用户的年龄,必须是纯数字,例如:40" }, "email": { "type": "string", "description": "用户的电子邮箱地址" } }, "required": ["name", "age", "email"] } }大白话翻译:告诉大模型“我这里有个抽屉叫save_user_profile,里面有三个格子,分别只能放字符串名字、数字年龄、字符串邮箱。你得帮我把格子填满。”第二步:向大模型发起对话请求现在,我们把用户的输入文本,连同刚才的函数说明(Tools)一起扔给大模型。# 伪代码示例 response = client.chat.completions.create( model="gpt-4o", # 或者其他支持工具调用的模型 messages=[ {"role": "user", "content": "老王今年40了,wang@163.com是他的邮箱。"} ], tools=[ { "type": "function", "function": { /* 这里放的就是第一步里的那段 JSON Schema */ } } ], # 强制让大模型必须调用我们提供的函数 tool_choice={"type": "function", "function": {"name": "save_user_profile"}} )

相关文章:

大模型提取结构化JSON——生产级

目录 输出结构化符合预期的Json Phase 1: 提示工程约束 (Prompt Engineering) Phase 2: 原生协议控制 (Native Protocol Control) 深入浅出:如何用 Function Calling 提取结构化数据 第一步:把“提取动作”包装成一个“函数说明 (Schema)” 第二步:向大模型发起对话请…...

吉林周边陶粒仓库现货

《【吉林周边陶粒仓库现货】哪家好:排名前五专业深度测评》开篇:定下基调在吉林周边,陶粒仓库现货的需求日益增长,为了帮助对吉林周边陶粒仓库现货感兴趣的人群挑选到合适的产品,我们开展了本次测评。本次测评旨在通过…...

双频 WiFi 机柜天线:2.4G+5.8G 全覆盖无死角

WiFi 进机柜,最容易遇到干扰大、衰减快、金属屏蔽。今天分享一步到位的双频 WiFi 机柜天线,2.4G 与 5.8G 同时覆盖,布线少、信号稳。 双频机柜天线优势:一根顶两根,省空间、省布线;抗金属优化,…...

做泰国外贸生意,企业该如何预防合作骗局?

外贸企业防范泰国外贸骗局需做好尽职调查合同设计物流跟踪与风险监控,可借助泰国官方平台核验信息并通过催全球实地审验降低风险。外贸企业防范泰国外贸骗局,可从以下关键环节入手:前期尽职调查核实企业注册信息:通过泰国商业部商…...

B站会员购抢票脚本:5大智能通知系统让你的抢票成功率提升300%

B站会员购抢票脚本:5大智能通知系统让你的抢票成功率提升300% 【免费下载链接】biliTickerBuy b站会员购购票辅助工具 项目地址: https://gitcode.com/GitHub_Trending/bi/biliTickerBuy 你是否曾在B站会员购抢票时,因为错过开售时间或无法及时获…...

硅基波导介绍

硅基波导的简单介绍 文章目录 一、基本概念 二、原理 2.1 截止频率 2.2 波导的模式 三、硅基波导规格 一、基本概念 波导能够将电磁能量束缚在中空的金属管内传输,从而显著降低传输过程中的损耗,这与天线将能量直接辐射至整个自由空间的工作方式截然不同…...

大厂Java面试全流程故事:微服务架构、消息队列、缓存与AI Agent在内容社区场景的深度剖析

大厂Java面试全流程故事:微服务架构、消息队列、缓存与AI Agent在内容社区场景的深度剖析 故事场景 谢飞机(幽默水货程序员)走进互联网大厂面试,面试官以“内容社区与UGC”为主线,三轮递进考察微服务架构、缓存、数据库…...

以球为媒:2026中国匹克球巡回赛-西安站 诠释“体育+”融合新范式

当清脆的击球声在千年古都上空回荡,一场关于体育、文化与城市活力的深度对话就此展开。4月11日,2026“李宁杯”中国匹克球巡回赛-陕西西安站(CPC-1000)在陕西省体育馆正式拉开帷幕。作为新赛季全国首站CPC-1000赛事,这…...

鸿蒙三方库实战指南:从安装到核心功能的深度解析

其实昨天那个没有写完,还有少部分没有进行分享,等有机会了我再将下文分享一下摘要​随着 HarmonyOS NEXT(API 12)的正式商用,原生三方库生态已成为提升鸿蒙应用开发效率的核心支撑。本文针对UI 组件、网络通信、数据库…...

2026 年 AI Agent 实战榜单:实测「抖去推 AI 超级员工」如何重构企业自动化效率

前言2026 年 Q2,AI Agent 已从概念走向企业刚需。单纯能对话、写文案的 AI 早已无法满足业务需求,跨系统自动化、非侵入式执行、稳定落地成为衡量企业级 Agent 的核心标准。经过对国内外数十款主流 Agent 的深度实测,本文梳理 2026 年最具落地…...

STM32CubeMX配置RMBG-2.0边缘计算设备

STM32CubeMX配置RMBG-2.0边缘计算设备 1. 项目背景与价值 在嵌入式设备上运行AI模型一直是行业的热点话题,特别是像背景去除这样的实用功能。RMBG-2.0作为一款开源的背景去除模型,能够在保持高精度的同时,实现对各种图像类型的前景与背景分…...

实测对比:Qwen3-ForcedAligner与传统字幕制作工具谁更高效?

实测对比:Qwen3-ForcedAligner与传统字幕制作工具谁更高效? 1. 引言:字幕制作工具的演进 在视频内容爆炸式增长的今天,字幕制作已成为内容创作者无法回避的痛点。传统字幕制作流程通常包含三个步骤:人工听写文本、手…...

Qwen3.5-9B嵌入式开发指南:STM32项目调试与代码优化

Qwen3.5-9B嵌入式开发指南:STM32项目调试与代码优化 1. 嵌入式AI开发新范式 在传统嵌入式开发中,工程师需要花费大量时间研读芯片手册、编写底层驱动、调试硬件问题。现在,借助Qwen3.5-9B这样的AI大模型,我们可以显著提升开发效…...

Fish-Speech-1.5语音克隆质量评测:VITS与Transformer架构对比

Fish-Speech-1.5语音克隆质量评测:VITS与Transformer架构对比 1. 引言 语音合成技术正在经历一场革命性的变革,而Fish-Speech-1.5无疑是这场变革中的佼佼者。这个基于百万小时多语言数据训练的模型,不仅在语音克隆质量上达到了新的高度&…...

Java的java.lang.foreign访问模式

Java的java.lang.foreign访问模式是JDK 14引入的一项实验性功能,旨在提供一种更安全、高效的方式与本地代码和内存进行交互。传统JNI虽然强大,但存在性能开销大、易出错等问题。而java.lang.foreign通过MemorySegment、MemoryAddress等API,让…...

crontab——你的自动化打工人

咕嘎讲堂:crontab——你的自动化打工人 “人类最大的进步,就是学会了让机器帮自己干活。”——咕嘎 📌 crontab 是什么? crontab cron table,是 Linux 系统中用于定时执行任务的工具。 简单说:你想让系…...

基于Socket通信的西门子S7-1200与ABB机器人实时数据交换实践

1. 工业自动化中的跨品牌设备通信挑战 在现代化工厂的生产线上,经常能看到西门子PLC和ABB机器人协同工作的场景。这种组合在汽车制造、3C电子等行业尤为常见,但不同品牌设备之间的数据互通往往让工程师头疼。我去年就遇到过这样一个项目:客户…...

抖音直播WebSocket数据采集:实时弹幕、用户、礼物数据抓取完整指南

抖音直播WebSocket数据采集:实时弹幕、用户、礼物数据抓取完整指南 【免费下载链接】DouyinLiveWebFetcher 抖音直播间网页版的弹幕数据抓取(2025最新版本) 项目地址: https://gitcode.com/gh_mirrors/do/DouyinLiveWebFetcher 痛点分…...

四川厨房设备平台的赋能逻辑与核心优势

四川作为餐饮产业大省,川味餐饮(火锅、川菜、特色小吃等)的规模化发展,推动商用厨房设备市场持续扩容。据行业数据统计,四川商用厨房设备市场年增速稳定在12%,但行业长期存在的产业链割裂、供需匹配低效、服…...

YOLO12消防应急实战:烟雾火焰检测+逃生通道识别双模部署

YOLO12消防应急实战:烟雾火焰检测逃生通道识别双模部署 1. 引言:当AI成为消防员的“火眼金睛” 想象一下,在一个大型商场或工厂里,火灾初期的烟雾刚刚升起,一个无形的“眼睛”瞬间就捕捉到了这一异常,同时…...

PHP全局使用局部变量+参数默认值+静态变量

自定义函数、返回值、返回值指的当函数调用结束以后,该函数给外部调用处返回一些列的数据数据类型任意:八个数据类型。如果函数没有任何返回值,可以理解为函数返回的是NULL。PHP中函数可以没有返回值。 参数传值 传值方式:值传递&…...

使用StructBERT增强Elasticsearch的语义搜索能力

使用StructBERT增强Elasticsearch的语义搜索能力 1. 引言 传统搜索引擎在面对"帮我找昨天开会讨论的那个产品设计方案"这样的自然语言查询时,往往表现得力不从心。它们依赖于关键词匹配,无法理解查询背后的真实意图,导致返回的结…...

【BLheli_S】P01 上位机参数修改、编译生成固件以及脱机烧录教程

目录 1.1 脱机烧录器购买 1.2 BLHeli_S相关资料下载 1.2.1 源码结构分析: 1.3 BLHeli_S 工程文件创建 1.3.1 Keil-C51 工程创建 1.4 BLHeli_S 参数修改 1.5 BLHeli_S 引脚定义说明 1.6 脱机烧录教程配置 1.1 脱机烧录器购买 阿莫智能设备 1.2 BLHeli_S相关资料下载 源码下载 上…...

AIGlasses_for_navigation开发利器:VS Code与Jupyter Notebook环境配置

AIGlasses_for_navigation开发利器:VS Code与Jupyter Notebook环境配置 如果你正准备上手AIGlasses_for_navigation项目,或者任何类似的智能硬件与AI结合的项目,那么一个趁手的开发环境就是你的第一把武器。今天咱们不聊复杂的算法&#xff…...

85个CV模型变体!计算机视觉基础模型最全盘点

85个CV模型变体!计算机视觉基础模型最全盘点做CV的朋友都知道,标注数据太烧钱。研究员们为了不花钱也能训练模型,想出了各种办法:用无标签数据、用网上爬的图文配对、甚至用多模态数据,通过对比学习、掩码重建这些套路…...

从传统互联网到AI Agent:薪资涨幅有多夸张

第一,也是最重要的,别光看书、别光听课,你得动手干出一个东西来; 如果实在不知道咋整,能够直接抄知学堂新出的 「AILLM使用研发」 ,里面很多实战项目case,自己跟着教程做写到简历里,…...

一文读懂计算机视觉需要哪些数学基础

一文读懂计算机视觉需要哪些数学基础 标签:#计算机视觉、#线性代数、#人工智能、#深度学习、#自然语言处理、#神经网络、#机器学习### 一、痛点引入:为什么很多人怕CV数学?真相是什么?### 二、CV必备数学:必须掌握的和…...

Windows任务栏透明美化终极指南:TranslucentTB完整配置教程

Windows任务栏透明美化终极指南:TranslucentTB完整配置教程 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB TranslucentTB是一…...

小红书运营效率革命:告别切换,私域管理一步到位

还在为管理多个小红书账号焦头烂额?反复登录切换、消息分散遗漏、深夜咨询无人应答,这些痛点是不是每天都在消耗你的精力?现在,一套小红书私域管理系统,彻底打破多账号运营困局,让你的私域运营效率直线飙升…...

美胸-年美-造相Z-Turbo参数详解:Xinference模型注册、Gradio端口映射与资源分配

美胸-年美-造相Z-Turbo参数详解:Xinference模型注册、Gradio端口映射与资源分配 1. 引言:从模型到服务的一站式部署 如果你手头有一个精心调校好的文生图模型,比如“美胸-年美-造相”这个LoRA版本,怎么才能让它变成一个随时可以…...