lqw3030:
最近遇到一个问题,无论我用哪家(智谱、moonshot 、DeepSeek...等)都会存在有一定概率回复带引导词,或非完整的 json:
{
"usage": {
"prompt_tokens": 185,
"completion_tokens": 304,
"total_tokens": 489
},
"created": 1717295221,
"model": "GLM-4",
"id": "123",
"error": null,
"choices": [
{
"finish_reason": "stop",
"index": 0,
"message": {
"role": "assistant",
"content": "根据您提供的信息,我为您做了以下规划:\n\n```json\n{\n \"planDays\": [\n {\n \"dayPlanOrder\": 0,\n \"dayStations\": [\n {\n \"stationName\": \"腾格里沙漠\",\n \"stationOrder\": 0,\n \"stationDescription\": \"中国第四大沙漠,体验沙漠探险和沙丘摩托\",\n \"stationTag\": \"探险,自然景观\",\n \"stationActivity\": \"沙漠徒步,骑骆驼,沙丘摩托\",\n \"timeUsed\": 120\n },\n {\n \"stationName\": \"贺兰山\",\n \"stationOrder\": 1,\n \"stationDescription\": \"阿拉善著名景点,参观贺兰山岩画\",\n \"stationTag\": \"历史,文化,自然景观\",\n \"stationActivity\": \"参观岩画,登山\",\n \"timeUsed\": 90\n },\n {\n \"stationName\": \"巴丹吉林沙漠\",\n \"stationOrder\": 2,\n \"stationDescription\": \"中国第三大沙漠,欣赏沙漠日落\",\n \"stationTag\": \"自然景观\",\n \"stationActivity\": \"欣赏日落\",\n \"timeUsed\": 60\n }\n ]\n }\n ]\n}\n```\n\n 这个行程涵盖了阿拉善的主要景点,您可以根据个人兴趣选择参加的活动。如果选择自驾出行,可以在景点附近寻找停车场。祝您在阿拉善度过愉快的一天!",
"name": null,
"tool_call_id": null,
"tool_calls": null
},
"delta": null
}
],
"task_id": null,
"request_id": null,
"task_status": null
}
上述 content 字段中期望的理想的是只有纯粹的 json ,但实际字段中多出了“根据您提供的信息,我为您做了以下规划:\n\n```json\n”,并且是 markdown 格式的
尽管我已经在 prompt 中加入了“参照以下格式输出,直接给出规划的结果,不需要添加任何引导性文本,输出的结果符合标准 json 格式{someKey:someValue}”。
想请教下各位是怎么解决的
( 3
min )