使用 JSON 模式

OpenAI API 现在支持 JSON 格式的输出,这一功能在 2023 年的 OpenAI 的 Dev Day 上被引入。要实现这一点,你需要确保使用支持 JSON 输出的模型(如 gpt-3.5-turbo 或 gpt-4o),并在 API 请求中设置适当的参数。

示例代码如下

以 API 易 – API 中转站的举例:只需要换成自己的 Key

from openai import OpenAI
import os

# 设置 API 密钥
api_key = "换成你自己的 api_key"
api_base = "https://api.apiyi.com/v1"
client = OpenAI(api_key=api_key, base_url=api_base)

# 定义提示
prompt = "中国的首都是哪里?请以 JSON 格式返回。"

# 调用 API
completion = client.chat.completions.create(
    model="gpt-4o",
    messages=[
        {"role": "system", "content": "你是一个 AI 助手,将用 JSON 格式返回."},
        {"role": "user", "content": prompt}
    ],
    response_format={"type": "json_object"}
)

# 输出结果
print(completion.choices[0].message.content)

核心是这句吧,response_format={"type": "json_object"}  可以使用的。

提示词加入 明确的提示 更好

为了确保模型返回的内容完全是 JSON 格式,您需要在提示中明确要求。例如,可以在系统消息中加入“请只返回 JSON,不要添加其他文本”。这样可以减少模型生成多余文本的可能性。

处理代码的响应结果~

在处理响应时,您需要注意以下几点:

  • 确保响应的 finish_reason 为 stop,这表明模型已正常完成生成。
  • 如果模型返回的内容不符合 JSON 格式,您可能需要重新调整提示或检查 API 调用的设置。

类似文章