使用 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 调用的设置。