宝玉xp
2023-11-08 12:41:04
JSON mode已经可以用了,目前支持gpt-4-1106-preview 和 gpt-3.5-turbo-1106 两个模型,在请求的response_format 参数中,设置为 { type: "json_object" },这样可以确保输出的内容只输出JSON格式。
另外在上下文中必须要有“JSON”关键字,例如系统消息中加上:“请输出JSON格式”,否则API会报错。这是为了避免生成无休止的空白流。
还要注意的是,如果 finish_reason="length",则消息内容可能是被切断了而不是一个完整的JSON文档,这表明超过了最大上下文长度。
至于如果定义JSON类型,没有说,但是在System Message里面用TypeScript的类型定义说明返回类型应该是可行的。
platform.openai.com/docs/guides/text-generation/json-mode