【vLLM 学习】Structured Outputs

大模型部署六种方式:从Ollama到vLLM的选型决策指南 大模型推理部署本质上是硬件能力、团队技能与业务SLA之间的系统性权衡。理解vLLM的PagedAttention内存优化原理,可显著提升KV Cache利用率;掌握Ollama的沙盒化设计边界,则能规避其在生产环境中的单线程阻塞与流式缺失风险。技术价值在于:以最小运维成本匹配真实负载——轻量验证用Ollama,高并发低延迟选vLLM,快速原型靠Gradio,企业集成走FastAPI,结构化生成宜用SGLang。典型场景包括内部知识库上线、AI客服API化、私有化模型服务平台构建等。本文聚焦工程落地中反复出现 阅读详情

vLLM 是一款专为大语言模型推理加速而设计的框架,实现了 KV 缓存内存几乎零浪费,解决了内存管理瓶颈问题。

更多 vLLM 中文文档及教程可访问 →https://go.hyper.ai/Wa62f

*在线运行 vLLM 入门教程:零基础分步指南

源码 examples/offline_inference/structured_outputs.py


from enum import Enum

from pydantic import BaseModel

from vllm import LLM, SamplingParams
from vllm.sampling_params import GuidedDecodingParams

llm = LLM(model="Qwen/Qwen2.5-3B-Instruct", max_model_len=100)

# 使用候选选项列表的引导式解码
guided_decoding_params = GuidedDecodingParams(choice=["Positive", "Negative"])
sampling_params = SamplingParams(guided_decoding=guided_decoding_params)
outputs = llm.generate(
    prompts="Classify this sentiment: vLLM is wonderful!",
    sampling_params=sampling_params,
)
print(outputs[0].outputs[0].text)

# 使用 Regex 的引导式解码
guided_decoding_params = GuidedDecodingParams(regex="\w+@\w+\.com\n")
sampling_params = SamplingParams(guided_decoding=guided_decoding_params,
                                 stop=["\n"])
prompt = ("Generate an email address for Alan Turing, who works in Enigma."
          "End in .com and new line. Example result:"
          "alan.turing@enigma.com\n")
outputs = llm.generate(prompts=prompt, sampling_params=sampling_params)
print(outputs[0].outputs[0].text)


# 使用 Pydantic 模式的 JSON 引导式解码
class CarType(str, Enum):
    sedan = "sedan"
    suv = "SUV"
    truck = "Truck"
    coupe = "Coupe"


class CarDescription(BaseModel):
    brand: str
    model: str
    car_type: CarType


json_schema = CarDescription.model_json_schema()

guided_decoding_params = GuidedDecodingParams(json=json_schema)
sampling_params = SamplingParams(guided_decoding=guided_decoding_params)
prompt = ("Generate a JSON with the brand, model and car_type of"
          "the most iconic car from the 90's")
outputs = llm.generate(
    prompts=prompt,
    sampling_params=sampling_params,
)
print(outputs[0].outputs[0].text)

# 使用 Grammar 的引导式解码
simplified_sql_grammar = """
    ?start: select_statement

    ?select_statement: "SELECT " column_list " FROM " table_name

    ?column_list: column_name ("," column_name)*

    ?table_name: identifier

    ?column_name: identifier

    ?identifier: /[a-zA-Z_][a-zA-Z0-9_]*/
"""
guided_decoding_params = GuidedDecodingParams(grammar=simplified_sql_grammar)
sampling_params = SamplingParams(guided_decoding=guided_decoding_params)
prompt = ("Generate an SQL query to show the 'username' and 'email'"
"from the 'users' table.")
outputs = llm.generate(
prompts=prompt,
sampling_params=sampling_params,
)
print(outputs[0].outputs[0].text)
Anthropic结构化输出:删除LLM胶水层的零层API实践 结构化输出是大模型工程中将非结构化文本响应强制转化为合法JSON的关键能力,其核心原理在于服务端token级schema约束解码,而非客户端后解析。相比传统正则或Pydantic解析,它通过契约前置、错误显性化与流式语义分块,显著降低格式错误率与维护成本。该技术已落地于Claude 3.5 Sonnet的beta structured-outputs接口,支持JSON Schema子集校验与强类型响应保障,适用于AI Agent编排、企业级数据提取及低代码集成等需高确定性的生产场景。 阅读详情

相关推荐

微调视觉语言模型提升文档理解准确率

文档理解是AI在金融、法律、政务等场景落地的关键瓶颈,其本质是视觉-语言联合感知与结构化解析任务,远超通用大语言模型的文本生成能力。传统OCR+规则或Prompt工程难以应对扫描件、表格、手写批注等真实噪声,而端到端视觉语言大模型(VLM)如Donut通过图像到序列建模,天然支持坐标感知与布局先验。结合QLoRA高效微调与vLLM高性能推理部署,可在保持低显存开销的同时,显著提升关键字段抽取的F1值与格式鲁棒性。该技术路径已广泛应用于合同审查、票据识别、报关单解析等高精度结构化提取场景。

weixin_34343308的博客 422

vLLM - 特征 - 结构化输出(Structured Outputs)

vLLM 支持结构化输出生成,提供多种约束方式(choice/regex/json/grammar等)来精确控制模型输出格式。文档介绍了通过OpenAI兼容API使用结构化输出的方法,包括选项选择、正则匹配、JSON Schema和语法约束等示例。同时支持推理模型与结构化输出的结合应用,并提醒用户从废弃API迁移到新字段。结构化输出功能可确保生成内容符合预定格式要求,适用于需要严格控制输出结构的场景。

1390

LLM工程落地四支柱:结构化输出、LangGraph编排、亚毫秒Agent与规模化个性化

结构化输出是大模型工程化的基础能力,它通过确定性校验(如Pydantic Schema+业务规则钩子)替代概率性生成,解决schema保真与错误恢复难题;LangGraph则将传统线性NLP流水线升级为状态驱动的有向无环图(DAG),支持动态跳转与循环控制,实现复杂对话逻辑的可靠编排;在此基础上,Sub-ms级智能体响应依赖硬件亲和调度、算子级优化(Triton内核)与零拷贝状态传递,逼近推理延迟物理极限;最终,规模化个性化不再依赖静态标签,而是构建用户情境世界模型(CWM),融合实时行为与关系代数规则,在

weixin_28223453的博客 279

Structured Outputs与LangGraph:构建高确定性NLP系统

在大模型应用落地中,'输出不可控'和'流程难维护'是NLP工程的核心痛点。Structured Outputs通过将JSON Schema约束前置至解码层,实现模型输出的原子性、可验证性与强一致性;LangGraph则以有向无环图(DAG)和状态机范式,替代传统线性Chain,支撑动态路由、状态持久化与可视化可观测性。二者共同构成高确定性NLP系统的底层支柱——前者保障结果可信,后者保障过程可控。该技术路径已广泛应用于智能客服、个性化推荐与实时决策Agent等对稳定性、可调试性与迭代效率要求严苛的生产场景。

weixin_42530570的博客 326

vLLM专题(十三)-结构化输出(Structured Outputs)

vLLM 支持使用outlines或xgrammar作为引导解码的后端来生成结构化输出。本文档展示了一些可用于生成结构化输出的不同选项示例。

1280

限定vLLM输出json格式:guided_json

【代码】限定大模型输出json格式的模版。

开卷有益 79

18-vLLM 结构化输出约束分析文档

本文档深入分析了vLLM的结构化输出系统,重点介绍了其架构实现与四种后端工作方式。主要内容包括: 配置层:通过StructuredOutputsConfig实现引擎级配置,支持自动选择或指定后端(xgrammar/guidance/outlines/lm-format-enforcer),并定义语法约束参数。 后端实现: XgrammarBackend:基于MLC-AI的高性能语法约束库,支持GBNF格式 其他三种后端(Outlines/Guidance/LMFormatEnforcer)各具特色,适用于不

ld326的专栏 252

提取术:如何让 LLM 稳定输出 JSON 格式的测试数据(拒绝废话)

摘要 2026年LLM结构化输出技术已从JSON Mode演进到约束解码时代。文章揭示了当前生产环境中JSON输出的三大痛点:格式漂移(47%)、类型错误(31%)和字段缺失(22%),并对比了不同解决方案: 技术演进:从字符串解析(失败率5-15%)→JSON Mode(仅保证语法)→约束解码(Schema级保证) 核心机制:有限状态机在token采样时强制合规,xgrammar成为主流后端 创新方案:DCCD方法将准确率提升24%,Schema键名设计被发现影响模型推理 方案对比:OpenAI结构化输出

ZXSXJ的博客 34

大模型 Structured Outputs 工业级实战:基于 GBNF 语法树与 vLLM Logits Masking 的 100% 确定性 JSON 生成

必须严格只输出 JSON,不要包含任何客套话为了彻底消灭这种非确定性,现代推理引擎(如 OpenAI Structured Outputs、vLLM、SGLang、llama.cpp、Outlines)引入了革命性的技术。它不是在生成结束后去“事后修补”,而是本文深入剖析受约束解码的底层编译机理、GBNF 语法状态机流转,并给出生产级 Python 结构化输出与 Logits 掩码实战代码。

2611_95335967的博客 5289

从零构建:如何在VSCode中为HBuilderX迁移的UniApp项目搭建TypeScript支持环境

本文详细指导如何将HBuilderX中的UniApp项目迁移至VSCode并搭建TypeScript支持环境。通过pnpm包管理器初始化项目、配置tsconfig.json和vite.config.ts文件,实现工程化迁移与TypeScript深度集成,提升开发效率和代码质量。

book8的博客 1050

数字IC后端时钟树综合实战:OCC电路优化与时钟树平衡策略

本文深入探讨了数字IC后端设计中时钟树综合的关键挑战,重点分析了OCC电路时钟树优化的必要性。通过实战案例,详细阐述了如何通过手动干预、时钟分组与分段长树等策略,避免工具自动平衡导致的时序违例和资源浪费,从而有效实现时钟树平衡并提升设计质量。

weixin_29306261的博客 329

【vllm】(v1 Engine)vLLM V1 Engine 深度分析 — Part1: Core引擎与数据定义

vLLM V1 Engine 深度分析 — Part1: Core引擎与数据定义

zhonglinzhang 437

LVGL colorwheel组件教程一(调色板)

【代码】LVGL colorwheel组件教程一(调色板)

摸鱼专家 436

大模型训练实战(5)——Ollama 为什么突然成了本地大模型部署的“万能入口”?一篇讲透原理、实战和边界

Ollama 不只是本地聊天工具,而是一层本地模型运行与服务抽象。 它有模型管理、API、Modelfile、自定义模型等完整能力。 它之所以火,不是因为理论最强,而是因为本地部署阻力足够小。 run、list、show、REST API、OpenAI 兼容接口,这些体验都非常直接。 它已经从“本地聊天”扩展到 embeddings、tool calling、structured outputs、web search 等应用能力。 对本地 AI 应用和原型开发来说,Ollama 很像一个“统一入口”。

小李同学_LSH的博客 581

YOLOv11 环境配置全流程 | 从零开始搭建训练与推理环境

YOLOv11环境配置与训练全流程指南 本文详细介绍了YOLOv11目标检测模型的环境配置、训练与推理全流程。内容包括: 环境要求:列出GPU、CUDA、Python等组件的版本要求,提供快速检查脚本 Windows配置: CUDA 12.6和cuDNN 8.9.7安装步骤 使用Conda创建隔离环境 PyTorch GPU版本安装方法 IDE环境配置 Linux配置:提供Ubuntu 22.04下的CUDA、cuDNN安装命令和Conda环境搭建 Docker方案:提供一键式容器化部署命令 训练实战: 数

shrgegrb的博客 2017

使用Simulink进行四足机器人的非线性动力学建模与仿真

四足机器人的运动包含多个自由度(DOF),包括腿部的摆动和支撑阶段的动力学特性。由于存在接触力、摩擦以及不同地形的影响,四足机器人的动力学行为呈现出高度的非线性特征。因此,构建准确的非线性动力学模型对于研究机器人的运动学和动力学特性至关重要。定义代表机器人状态的变量,如位置、速度、角度和角速度。matlab深色版本通过本指南,我们介绍了如何基于Simulink搭建一个四足机器人的非线性动力学模型,并进行了详细分析。

xiaoheshang_123的博客 311

大模型推理引擎vLLM(32):MOE层相关代码流程梳理_权重重排、量化、GEMM计算、EP、vllm serve命令的解析过程

大模型推理引擎vLLM(20):MOE层相关代码流程梳理_权重重排、量化、GEMM计算、EP

C/C++、嵌入式开发、深度学习算法、模型部署与推理优化 591

[QMT和ptrade量化交易小白入门]-121、如何用K-means聚类,每月自动筛选高流动性ETF

本专栏主要是介绍QMT和ptrade的基础用法,常见函数,写策略的方法,也会分享一些量化交易的思路,大概会写200篇左右。QMT的相关资料较少,在使用过程中不断的摸索,遇到了一些问题,记录下来和大家一起沟通,共同进步。

木头大左的博客 828

大模型工程化实战(一):概率坍塌的救赎 - 给LLM输出加锁

本文探讨了如何解决大模型输出不稳定的工程问题,提出了4层确定性金字塔方案。文章指出大模型输出不稳定性体现在三个层面:输出随机破坏用户体验、格式错乱导致系统中断、偶发幻觉造成业务污染。传统应对方法如依赖temperature=0、加强prompt约束或更换模型都存在本质缺陷。 核心方案是通过4个层级递进增强确定性:采样层(temperature=0+seed)提供基础稳定性;契约层(JSON Schema严格校验)确保格式合规;容错层(校验+重试+降级)控制失败成本;编排层(状态机控制流)实现业务级确定

寻道AI,探索AI无限可能! 877

CodeQL查询时遇到报错:A fatal error occurred: Could not process query metadata for...如何解决?

🏆本文收录于 《全栈Bug调优(实战版)》 专栏,该专栏专注于分享我在真实项目开发中遇到的各类疑难Bug及其深层成因,并系统提供高效、可复现的解决思路和实操方案。无论你是刚入行的新手开发者,还是拥有多年项目经验的资深工程师,本专栏都将为你提供一条系统化、高质量的问题排查与优化路径,助力你加速成长,攻克技术壁垒,迈向技术价值最大化与职业发展的更高峰🚀!

**My Coding Family** 1084

GEE:大面积研究区域数据分块导出,以解决内存限制和导出失败的问题

本文介绍了在Google Earth Engine (GEE)平台分块导出大面积研究区域数据的方法。针对直接导出大区域影像易失败的问题,作者提出通过网格分块技术进行处理。文章展示了完整的JavaScript代码示例,包含定义研究区域、加载ESA WorldCover数据集、设置分块参数(包括像素大小、分块尺寸)、创建网格系统、处理坐标转换等关键步骤。代码中还提供了错误处理和导出按钮功能,确保数据能可靠地分块导出到Google Drive。该方法有效解决了大区域数据导出时的内存限制问题,适用于全球范围的研究。

养乐多的博客 1186

使用vLLM和SGLang部署Kimi-K2.6-MXFP4:性能优化最佳实践

想要在AMD硬件上获得极致推理性能?这篇终极指南将为您展示如何通过vLLM和SGLang高效部署Kimi-K2.6-MXFP4多模态大语言模型!🚀 作为一款专为AMD MI350/MI355架构优化的MXFP4量化模型,Kimi-K2.6-MXFP4在保持99.3%精度恢复率的同时,大幅提升了推理效率。 ## 📊 Kimi-K2.6-MXFP4模型概览 Kimi-K2.6-MXFP4是基于

gitblog_00936的博客 520

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Claude Code で PR のセキュリティをレビューする `/check-security` スラッシュコマンド実践ガイド

`/check-security` は、Claude Code の PR Review プラグイン(`pr-review`)に同梱される、コード変更を**セキュリティ観点に特化して解析する**スラッシュコマンドです。認証・認可、データ漏洩、インジェクション脆弱性、暗号処理の弱点、ログ中の機微情報という 5 つの検査観点を、補完的な PR レビュー(`/review-pr`)に委ねることなく単独で実

gitblog_00893的博客 401

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

【vllm】(v1 Worker)vLLM V1 Worker—Part 2输入批处理与采样系统

vLLM V1 Worker 超深度架构分析 — Part 2: 输入批处理与采样系统

zhonglinzhang 280

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

实战部署MinerU2.5-Pro:3步构建最强文档解析AI服务

MinerU2.5-Pro-2604-1.2B是一款基于Qwen2VL架构的多模态文档解析模型,专为PDF转Markdown等文档处理任务设计。这款1.2B参数的轻量级模型通过数据工程突破,在OmniDocBench v1.6基准测试中取得了95.69分的SOTA成绩,超越了Gemini 3 Pro等大型模型。本文将带您从零开始,通过三种不同部署方案快速构建高性能文档解析服务。 ## 为什么选择

gitblog_00571的博客 928

DeepSeek-V4-Pro-Base实战:如何解决大模型本地部署的三大技术难题

在开源模型快速发展的今天,DeepSeek-V4-Pro-Base作为当前最先进的104万token上下文大语言模型,为开发者和研究人员提供了前所未有的AI应用可能性。然而,在实际部署过程中,我们常常面临显存不足、推理速度慢、输出质量不稳定三大技术难题。本文将深入探讨这些挑战的解决方案,帮助您高效部署这一强大的开源模型。 ## 显存不足:如何在有限硬件上运行130GB大模型? ### 场景描述

gitblog_00138的博客 395
上一篇: 【Triton 教程】triton_language.cdiv
下一篇: LightOnOCR-2-1B:基于 RLVR 训练实现高精度端到端 OCR;Google Streetview 国家街景图像:基于世界级地理映射技术的全景图像开源库
HyperAI超神经
博客等级 码龄7年 8872粉丝 1753原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值