news 2026/9/15 6:19:26

Linux 命令行下用 jq 处理 LLM 返回的 JSON 流:5 个实战技巧jq

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux 命令行下用 jq 处理 LLM 返回的 JSON 流:5 个实战技巧jq

为什么 AI 应用开发者要掌握 jq

在开发 LLM 应用时,你经常需要处理 API 返回的 JSON 数据——无论是提取choices[0].message.content,还是解析流式响应中的增量内容。虽然 Python 脚本能搞定,但在快速调试、日志分析或管道处理时,jq是效率最高的命令行工具。下面这些技巧能让你少写几十行 Python。

技巧一:用-r输出纯文本,去掉 JSON 引号

原因:默认jq输出 JSON 格式,字符串会带引号,不方便直接保存或重定向。

示例

echo '{"content":"Hello, AI"}' | jq -r '.content' # 输出:Hello, AI

技巧二:用--stream处理流式 JSON(如 SSE 数据)

原因:OpenAI 的流式响应是多个 JSON 对象连续输出,jq默认只能解析单个 JSON。用--stream可以逐条解析。

示例

curl -N https://api.openai.com/v1/chat/completions \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -H "Content-Type: application/json" \ -d '{"model":"gpt-4","stream":true,"messages":[{"role":"user","content":"Hi"}]}' \ | jq --stream 'select(length==2 and .[0][0]=="choices") | .[1][0].delta.content // empty'

这段命令会逐行输出增量文本,方便实时查看。

技巧三:用slurp合并多个 JSON 对象

原因:当你需要把多行 JSON 合并成一个数组时(比如从日志文件分析),slurp可以一次性读取所有输入。

示例

cat responses.jsonl | jq -s '.' > combined.json

这样就把每行一个 JSON 变成了一个 JSON 数组。

技巧四:用mapselect批量提取字段

原因:在处理批量结果时,你可能只想提取特定字段或过滤条件。

示例

cat results.json | jq '[.[] | select(.score > 0.8) | {id, text: .message.content}]'

这会输出所有分数大于 0.8 的记录,并只保留idmessage.content字段。

技巧五:用@json@tsv格式化输出

原因:当你想把 JSON 转换成其他格式(如 CSV 或 TSV)用于表格处理时,@json@tsv非常有用。

示例

cat data.json | jq -r '[.id, .content] | @tsv' > data.tsv

这样就能用 Excel 或awk直接处理了。

小结

掌握这些 jq 技巧后,你可以直接在命令行中快速解析、过滤和转换 LLM 返回的数据,提高调试效率。建议把常用命令写成 shell 别名,比如alias jqstream='jq --stream ...'

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/15 6:18:24

超声相控阵TFM全聚焦成像:从算法到工程应用的深度解析

简介:压缩包总大小仅 4KB,包含两个 Python 文件,是一份面向超声相控阵及全聚焦成像初学者的精简代码示例,聚焦于全聚焦方法(TFM)的信号处理与可视化流程。其中一个脚本围绕 TFM 的核心计算,演示…

作者头像 李华
网站建设 2026/9/15 6:18:23

RSI与异质心智:AI认知范式迁移的工程实践指南

1. 这篇《An Alien Mind》到底在讲什么?——不是科幻小说,而是AI认知范式的地震前兆“RSI”这个词最近在技术圈、AI研究组、甚至部分工程团队的周会纪要里频繁出现,但它既不是某个新发布的模型缩写,也不是某家创业公司的融资代号。…

作者头像 李华
网站建设 2026/9/15 6:17:15

Wazuh开源安全平台部署实战:从零到跑通的完整踩坑指南

Wazuh这套开源安全监控平台,功能确实能打,SIEM、入侵检测、日志审计、合规检查一把梭,但你要是从零开始自己装一遍,我敢说你大概率会在前三个小时里想砸键盘。别问我怎么知道的——我第一次布 Wazuh 的时候,从拿到官方…

作者头像 李华
网站建设 2026/9/15 6:17:12

SSH免密登录配置与排查:从密钥原理到批量运维实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/15 6:13:11

PyTorch+ResNet50实现眼部疾病分类:数据管道与训练调优实战

简介:这是一份基于PyTorch与ResNet50的眼部疾病图片分类完整工程,主要面向正在准备课程设计、期末大作业的计算机相关专业学生,以及希望掌握深度学习图像分类实战流程的学习者。资源压缩包内共10个文件,含7个Python脚本&#xff0…

作者头像 李华
网站建设 2026/9/15 6:12:49

羽毛球目标检测数据集:2879张图三分类标注与YOLOv8训练实践

做体育视频分析这些年,羽毛球可能是最让我头疼的检测对象之一。场上的运动员还算好认,真正麻烦的是那个时速轻松突破三百公里的羽毛球——在画面里往往只有十几个像素,一眨眼就飞出视野。找来找去,公开的目标检测数据集大多集中在…

作者头像 李华