GPT-5 是 OpenAI 的最新模型,它拥有强大而有用的功能。该模型有多种参数和选项可供您选择,您必须正确选择这些参数和选项才能针对您的应用领域优化 GPT-5 的性能。
在本文中,我将深入探讨您在使用 GPT-5 时拥有的不同选项,并帮助您选择最佳设置,使其适合您的用例。我将讨论您可以使用的不同输入模式、GPT-5 具有的可用功能(例如工具和文件上传),以及您可以为模型设置的参数。
本文只是使用 GPT-5 的经验总结,讨论如何有效地使用该模型。

为什么应该使用 GPT-5
GPT-5 是一个非常强大的模型,您可以用于各种任务。例如,您可以将其用于聊天机器人助手或从文档中提取重要的元数据。然而,GPT-5 也有很多不同的选项和设置,您可以在 OpenAI 的 GPT-5 指南中阅读其中很多内容。我将讨论如何浏览所有这些选项并为您的用例最佳地利用 GPT-5。
多模态能力
GPT-5 是一个多模态模型,这意味着您可以输入文本、图像和音频,模型将输出文本。您还可以在输入中混合使用不同的模式,例如,输入图像和询问图像的提示,并接收响应。当然,输入文本是 LLM 所期望的,但输入图像和音频的能力非常强大。
VLM 非常强大,因为它们能够直接理解图像,这通常比对图像执行 OCR 然后理解提取的文本效果更好。同样的概念也适用于音频。例如,您可以直接发送音频剪辑,不仅可以分析剪辑中的单词,还可以分析音频剪辑中的音调、说话速度等。多模态理解只是让您更深入地了解正在分析的数据。
工具
工具是您可以使用的另一个强大功能。您可以定义模型在执行过程中可以使用的工具,这将 GPT-5 变成代理。一个简单工具的例子是 get_weather() 函数:
def get_weather(city: str):
return "Sunny"
然后,您可以将自定义工具以及函数的描述和参数提供给您的模型:
tools = [
{
"type": "function",
"name": "get_weather",
"description": "Get today's weather.",
"parameters": {
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "The city you want the weather for",
},
},
"required": ["city"],
},
},
]
确保函数定义中包含详细的描述性信息非常重要,包括函数的描述和使用函数的参数。
您可以定义许多工具以提供给模型,但请务必记住 AI 工具定义的核心原则:
参数
使用 GPT-5 时,您应该注意三个主要参数:
我现在将描述不同的参数以及如何选择它们。
推理努力
推理工作量是一个参数,您可以从以下参数中进行选择:
最小推理本质上使 GPT-5 成为非推理模型,应该用于需要快速响应的更简单的任务。例如,您可以在聊天应用程序中使用最少的推理工作,其中问题很容易回答,并且用户期望快速响应。
你的任务越困难,你应该使用越多的推理,但你应该记住使用更多推理的成本和延迟。推理算作输出令牌,在撰写本文时,GPT-5 为 10 美元/百万令牌。
我通常会从最低的推理努力开始对模型进行实验。如果我注意到模型难以给出高质量的响应,我会在推理层面上上升,首先从最小值 -> 低值开始。然后我继续测试模型,看看它的性能如何。您应该努力使用具有可接受质量的最低推理工作。
您可以使用以下命令设置推理工作量:
client = OpenAI()
request_params = {
"model" = "gpt-5",
"input" = messages,
"reasoning": {"effort": "medium"}, # can be: minimal, low, medium, high
}
client.responses.create(**request_params)
冗长
详细程度是另一个重要的可配置参数,您可以从以下选项中进行选择:
Verbosity 设置模型应该输出多少个输出标记(这里不包括思维标记)。默认值为中等冗长度,OpenAI 还表示这本质上是用于其先前模型的设置。
假设您希望模型生成更长、更详细的响应,则应将详细程度设置为高。然而,我发现自己大多在低和中等冗长之间做出选择。
您可以使用以下命令设置详细程度:
client = OpenAI()
request_params = {
"model" = "gpt-5",
"input" = messages,
"text" = {"verbosity": "medium"}, # can be: low, medium, high
}
client.responses.create(**request_params)
结构化输出
结构化输出是一个强大的设置,可用于确保 GPT-5 以 JSON 格式响应。如果要提取特定数据点,而不提取其他文本,例如文档中的日期,这再次很有用。这保证了模型使用有效的 JSON 对象进行响应,然后您可以解析该对象。我所做的所有元数据提取都使用这种结构化输出,因为它对于确保一致性非常有用。您可以通过在 GPT-5 的请求参数中添加“text”键来使用结构化输出,如下所示。
client = OpenAI()
request_params = {
"model" = "gpt-5",
"input" = messages,
"text" = {"format": {"type": "json_object"}},
}
client.responses.create(**request_params)
确保在提示中提及“JSON”;否则,如果您使用的是结构化输出,则会收到错误。
文件上传
文件上传是 GPT-5 提供的另一个强大功能。我之前讨论了该模型的多模态能力。但是,在某些情况下,直接上传文档并让 OpenAI 解析文档很有用。例如,如果您尚未执行 OCR 或从文档中提取图像,则可以将文档直接上传到 OpenAI 并向其提问。根据经验,上传文件也很快,您通常会得到快速响应,这主要取决于您要求的工作量。
如果您需要文档的快速响应并且没有时间先使用 OCR,那么文件上传是您可以使用的一项强大功能。
GPT-5 的缺点
GPT-5 也有一些缺点。我在使用过程中注意到的主要缺点是,当您使用该模型时,OpenAI 不会共享思维令牌。您只能访问想法的摘要。
这在实时应用程序中非常严格,因为如果你想使用更高的推理努力(中或高),你无法在模型思考时将任何信息从 GPT-5 流式传输给用户,从而导致用户体验不佳。然后,选择使用较低的推理工作,这会导致输出质量较低。其他前沿模型提供商,例如 Anthropic 和 Gemini,都有可用的思维代币。
关于 GPT-5 的创造力不如其前辈的讨论很多,尽管这对于我正在开发的应用程序来说通常不是一个大问题,因为创造力通常不是 GPT-5 的 API 使用的要求。
结论
在本文中,我概述了 GPT-5 的不同参数和选项,以及如何最有效地利用该模型。如果使用得当,GPT-5 是一个非常强大的模型,尽管它自然也有一些缺点,从我的角度来看,主要缺点是 OpenAI 不共享推理令牌。每当处理 LLM 应用程序时,我总是建议从其他前沿模型提供商处获得备份模型。例如,这可能是将 GPT-5 作为主要模型,但如果失败,您可以回退到 Google 的 Gemini 2.5 Pro。
