ChatGPT等AI大模型输出格式错误优化分享

#ChatGPT/坑 当 ChatGPT没有按照要求的格式输出

省时间,直接上结论

切换模型也不太好使,捕获异常回调重试发送提示词也不太好使。

原因是相同的提示词会触发类似 "缓存" 的东西持续输出错误的结果,至上与上次输出的 70% 都是相同的,大概率也是错误的结果。

所以在发送请求前,先在提示词的前面加上 uuid 就可以保证每次输出不走缓存 gpt 重新计算输出了,大概率是会成功的。

我最终的方案就是通过:捕获异常回调重试,在提示词前面加上 uuid 发送给大模型解决这个问题的。

闲着没事就接着往下看

复制代码
接下来将下面这段英语单词数组翻译中文
{单词数组}
你需要将下面英语单词按顺序意译翻译成中文,必须严格按照以下对象数组json格式,不容出错:
``
[{ "e": "英语单词","c": "翻译中文"}]
``

上面这段是我的 prompt,但是在我使用 gpt3.5 16k 的时候有时候发癫并没有按照要求格式输出,输出内容变成这样:

json 复制代码
[{"e":"chatter?","c":"闲聊?"},
 {"e":"colors.","c":"颜色。"},
 {"e":"concept","c":"概念"},{"e":"constantly","c":"不断地"},{"e":"crazy","crazy"},{"e":"crowd","人群"},.....手动忽略后面错误json]

前面是对的格式,后面就错了。

解决办法是切换成了 gpt3.5,然后就可以了,原因嘛,不知道,解决以上的问题步骤:

1、检查你的提示词(prompt)

2、提示词没问题,那么就是模型的问题了,切换模型

1、意外来了,切换了模型还是出了问题

经过思考我尝试用出现异常就线程等待一段时间后,然后重新发出请求试试。

2、这次舒服了,过一会我一看,怎么还是输出格式错误!!!

好吧,gpt 本身可能自带一些类似缓存的机制,如果每次提示词都一样,那么他大概率就会输出和上次相似度高达 80% 的内容。

所以最好的办法就是当出现异常后,回调重新发送 gpt 提示词都有所不同。

我的方法是在提示词前面加一串随机数字即可,在 299~999999 随机选出一个,这次就正常运行了,万岁。

原提示词:接下来将下面这段英语单词数组翻译中文

修改后:{随机数占位符}:接下来将下面这段英语单词数组翻译中文

使用随机占位符之后,成功运行了一段时间~

又出错了

这是怎么回事呢?经过一番实践思考和尝试,哦哦哦哦哦哦,我懂了,因为随机数虽然让提示词有了一点变化,但还是变化太小了,gpt 会识别这个提示词和原先区别不大,直接走这个 "缓存" 导致输出原先的错误结果,那么如何解决呢?

随机数改成 uuid,这个变化就稍微大了一点,大概运行了 1 小时都没有什么问题,好了,就这样

相关推荐
江畔柳前堤3 小时前
roLabelImg 详细安装教程
开发语言·人工智能·后端·云原生
阿里云大数据AI技术3 小时前
分链路差异化设计的DSP准实时数仓|钛动科技基于阿里云实时计算 Flink 版 + DLF Paimon + EMR Serverless StarRocks 的实践
人工智能·flink
陕西企来客3 小时前
2026年7月AI智能搜索曝光趋势研判
大数据·人工智能·机器学习·ai智能搜索曝光
白鸽(二般)4 小时前
MinIO Java Client API
java·开发语言
阿里云大数据AI技术4 小时前
从算力到智能体,面向 Agentic AI 的基础设施演进
人工智能·agent
hangyuekejiGEO4 小时前
GEO技术服务选型指南
大数据·人工智能·python
阿里云大数据AI技术4 小时前
EMR Serverless Spark AI Function 的双维降本实践
人工智能·sql·spark
软萌萌的14 小时前
Java Spring Boot 修改yml配置&加载顺序规则
java·spring boot·python
维基框架5 小时前
GitHub源码处理提速 一趟扫描反而更慢
人工智能·github
冬奇Lab5 小时前
代码库知识库系列(05):向量检索 vs 知识图谱——加了调用图并没有变更好
人工智能