安装库与API配置
1
|
!pip install pandas openai
|
获取API密钥需访问某中心平台设置页面,新用户需完成5美元最低支付激活API访问权限。
1
2
3
|
import os
from getpass import getpass
os.environ['OPENAI_API_KEY'] = getpass('请输入OpenAI API密钥: ')
|
详细度参数控制
通过verbosity参数调节模型响应详细程度:
- low: 简洁模式,最小化附加文本
- medium: 默认模式,平衡细节与清晰度
- high: 详细模式,适合教学和审计场景
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
from openai import OpenAI
import pandas as pd
from IPython.display import display
client = OpenAI()
question = "创作一首关于侦探破获首案的诗歌"
data = []
for verbosity in ["low", "medium", "high"]:
response = client.responses.create(
model="gpt-5-mini",
input=question,
text={"verbosity": verbosity}
)
output_text = ""
for item in response.output:
if hasattr(item, "content"):
for content in item.content:
if hasattr(content, "text"):
output_text += content.text
usage = response.usage
data.append({
"详细度": verbosity,
"输出示例": output_text,
"输出token数": usage.output_tokens
})
|
输出token数量随详细度线性增长:low(731) → medium(1017) → high(1263)
自由形式函数调用
GPT-5支持直接输出原始文本载荷(Python脚本、SQL查询、Shell命令),无需GPT-4所需的JSON格式化,可直连:
- 代码沙箱环境(Python/C++/Java)
- SQL数据库(直接输出原始SQL)
- Shell环境(输出可执行Bash命令)
- 配置生成器
1
2
3
4
5
6
7
8
9
10
11
12
|
response = client.responses.create(
model="gpt-5-mini",
input="使用code_exec工具计算'pineapple'中元音数量的立方",
text={"format": {"type": "text"}},
tools=[{
"type": "custom",
"name": "code_exec",
"description": "执行任意Python代码"
}]
)
print(response.output[1].input)
|
模型直接生成可执行Python代码,无需额外解析即可投入运行时环境。
上下文无关语法(CFG)
CFG通过产生式规则严格约束输出格式,确保编程语言、数据格式等结构化文本的语法正确性。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
email_regex = r"^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$"
# 无语法约束的GPT-4输出
response = client.responses.create(model="gpt-4o", input="生成John Doe的有效邮箱")
output = response.output_text.strip() # 可能包含额外文本
# CFG约束的GPT-5输出
response = client.responses.create(
model="gpt-5",
input="生成John Doe的有效邮箱",
text={"format": {"type": "text"}},
tools=[{
"type": "custom",
"name": "email_grammar",
"description": "输出有效邮箱地址",
"format": {
"type": "grammar",
"syntax": "regex",
"definition": email_regex
}
}]
)
|
GPT-5精确输出john.doe@example.com格式,而GPT-4可能产生包含说明文本的无效输出。
最小化推理模式
通过减少推理token数量显著降低延迟,适用于:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
import time
start_time = time.time()
response = client.responses.create(
model="gpt-5",
input=[
{ "role": "developer", "content": "判断数字奇偶性,仅返回一个单词" },
{ "role": "user", "content": "57" }
],
reasoning={"effort": "minimal"} # 加速首token生成
)
latency = time.time() - start_time
output_text = ""
for item in response.output:
if hasattr(item, "content"):
for content in item.content:
if hasattr(content, "text"):
output_text += content.text
print("输出:", output_text)
print(f"延迟: {latency:.3f}秒")
|