要使用 OpenAI API 设置自定义输出格式,你需要设计你的提示词和参数来指导模型的响应结构。API 本身并不强制严格的格式,但你可以通过结合明确的指令、响应格式参数和后处理来获得一致的结果。例如,如果你想要 JSON 输出,可以在提示词中指定结构,并使用 response_format
参数(在较新模型如 gpt-4-1106-preview
或 gpt-3.5-turbo-1106
中可用)来表明需要 JSON。这种方法减少了错误,并确保模型优先输出结构化内容。
首先,撰写一个系统消息或用户消息,明确定义所需的格式。例如,一个系统提示词:“总是以 JSON 格式响应,包含 'summary' 和 'keywords' 键”,设定了期望。将此与 API 的 response_format={ "type": "json_object" }
参数结合使用,以强制执行 JSON 语法。请注意,模型可能仍然需要示例来与复杂的模式对齐。如果你需要 XML、CSV 或其他格式,请在提示词中提供一个模板(例如,“使用
接收到响应后,对其进行验证和解析。对于 JSON,可以使用 Python 中的解析器(如 json.loads()
)来捕获语法错误。如果输出与你的模式不符,可以考虑添加重试逻辑或优化你的提示词。例如,如果模型偶尔遗漏了必需的字段,可以包含一句短语,如“包含所有字段,即使它们是空的。”JSON Schema 等工具可以自动化验证。对于非 JSON 格式,正则表达式或自定义解析器可以提取结构化数据。使用不同输入进行测试有助于识别边缘情况。虽然并非万无一失,但这种清晰指令、API 参数和验证的结合,可以确保大多数用例的可靠自定义格式。