大模型 JSON 格式化输出小技巧
发布网友
发布时间:2024-10-03 22:16
我来回答
共1个回答
热心网友
时间:2024-10-03 23:38
新换工作,每天都是新挑战,业务、人、环境都在不断变化,感觉脑袋都要装不下了。
但别灰心,给自己打打鸡血,时间都是挤出来的,人都是逼出来的。
最近发现一些大模型 JSON 格式输出的方法,简单分享一下,或许对你有帮助。
有人问,为什么一定要纠结 JSON 格式的输出?我用得挺好的,也没弄过 JSON。
这种说法可能是对 JSON 不够深入,或者不是 AI 开发者。要知道,开发最终的输出结果结构化很重要。
比如,你想要抽取关键信息,这时候怎么给你?当然是结构化的字段信息,简洁明了。
当然,结构化的输出不止 JSON 一种,还有很多。
很多人头疼的是,大模型(Large Language Model)有时候不按照指令,不按照想要的格式输出。即使你在 prompt 中明确要求按照 JSON 格式返回,它就是不听。
最简单的方式当然是在 prompt 上做功夫,让大模型遵循你的命令。
这种结构化大模型输出格式的已经成为很多人的研究课题。
以下是一些有效的方法,可以尝试:
1. 输入即输出:按照 JSON 的格式喂给大模型,它会按照 JSON 的格式返回。
2. prompt 中明确要求:除了明确按照 JSON 格式返回,还要给定 JSON 的案例。
3. 如果使用 openAI 的 API,他们提供了 response_format 参数,可以设置为 { "type": "json_object" }。
但要注意,这些方法不一定完全有效,还需要做些后处理。
1. 正则表达式处理特殊字符,或者提取返回结果中的 JSON 片段信息。
2. 利用第三方库修复 JSON badcase,比如 json_repair。
3. 调整 temperature 参数,调低点,甚至 0。
4. 重试机制,对无法解决的 case 进行重新提问。
以上只是一些简单的写法,大模型结果的格式化输出已经成为很多人的研究工作。
<-End->
我是大林,持续关注 AI 发展,和大家一起交流。
主页: About - 大林 - 大林个人主页
如果文章对你有一点点帮助,关注可以及时收到最新 AI 信息,谢谢。
大模型 JSON 格式化输出小技巧
1. 输入即输出:按照 JSON 的格式喂给大模型,它会按照 JSON 的格式返回。2. prompt 中明确要求:除了明确按照 JSON 格式返回,还要给定 JSON 的案例。3. 如果使用 openAI 的 API,他们提供了 response_format 参数,可以设置为 { "type": "json_object" }。但要注意,这些方法不一定完全有效,...
非结构化数据如何可视化呈现?
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准...
Huggingface Accelerate文档:超大模型推理方法
完成前面的操作后,我们使用多个设备加载模型(这些设备可能包括硬盘)。尽管模型被存储得如此分散,我们依然可以将上面定义的model当成普通的Pytorch model来使用,如下所示。在后台,Accelerate完成了向模型添加hooks的步骤,包括:通过上述操作,就可以在有限内存和GPU资源的情况下进行大模型的推理。但是上述操...
本地运行“李开复”的零一万物 34B 大模型
8. 通过调整 llama.cpp 加载模型层数,以优化性能,如将模型的 55 层放在显卡中,减少程序在大模型程序和数据中查找答案的时间。9. 选择更小巧的模型,以进一步提升吞吐速度,例如 Q4 版本的量化模型,设置--ctx-size 到 200K,适用于多张卡或大显存资源。10. 测试模型在不同格式下的输出,如 JSON...
LLM大模型之不同精度下显存占用与相互转换实践
以显卡NVIDIA A40 48G,模型llama-2-7b-hf为例,该模型的保存精度通过查看模型文件的congfig.json可知为"torch_dtype": "float16"。首先打印相关版本和显卡信息,然后使用transformers加载模型,精度设为float16。加载模型后,查看模型的总参数,以float16进行加载,即每个参数16个bit,2个byte,计算这么多...
运维效率提升:基于大模型构建高效的运维知识及智能问答平台
4. **集成与私有化知识:**对于已有系统,大模型可以无缝融入,利用私有化知识库,以json格式提供问题和答案,便于大模型推理。5. **实现步骤:**通过Flowise AI等工具,配置对话式应用、大模型、向量数据库和知识库导入,实现知识向量化和智能问答的构建和测试。通过以上步骤,企业可以实现20分钟内构建...
ai大模型怎么接入AI大模型怎么接入啊
这可以通过将模型导出为JSON、ONNX或TorchScript格式来完成,然后将其部署到服务器或云计算平台上。总之,接入AI大模型需要一定的技术和资源投入。如果你不熟悉这些技术,可以寻求专业人士的帮助或使用云服务提供商提供的AI平台来快速接入AI大模型。要接入AI大模型,通常需要经过以下步骤:数据准备:首先需要...
GEOJSON/OBJ格式在线转换
格式转换 上传模型文件后,网站将自动完成模型格式的转换。转换时间与模型大小和面数相关,文件越大、面数越多,转换所需时间越长。模型预览 点击“预览”按钮,在新页面中对模型文件进行在线预览。GEOJSON转OBJ网站支持对顶点颜色和图片纹理进行处理,转换后的模型保留了基础结构和顶点颜色、图片纹理。模型...
json可视化?
推荐两款JSON可视化工具,配合Swagger使用效率大幅提升! JsonHero是一款开源的JSON可视化工具,目前在Github已有2.9K+Star,通过JsonHero可以非常方便地查看JSON数据,它支持列视图、树视图和编辑视图,总有一款适合你! JsonVisio是一款简洁易用的JSON可视化工具,目前在Github已有4.1K+Star,可以支持JSON格式化、编辑和校验,并且...
大模型之BPE分词算法从头训练-使用库的方法
首先,你需要准备一个简单的文本文件,例如名为test1.txt,包含两行内容。接下来,导入transformer库进行BPE分词训练的实践:在代码中,首先导入必要的库:然后,构建基础的token分词模型:现在可以开始训练模型,过程相当快捷:训练完成后,你可以进行简单的测试以确认效果:在实际使用中,建议先保存训练好的...
使用LLaMa-Factory简单高效微调大模型
Tip 使用 --adapter_name_or_path path_to_sft_checkpoint,path_to_dpo_checkpoint 来进行微调模型的推理。使用 Accelerate 进行 LoRA 训练的 config.yaml 示例 我们推荐使用 Accelerate 进行 LoRA 训练。使用 DeepSpeed ZeRO-2 进行全参数训练的 ds_config.json 示例 更多训练脚本请查看 examples。Warnin...