调用 OpenAI API:chat.completions
向 OpenAI 的 chat.completions 端点发送消息,设置 temperature 和 max_tokens,并解析响应。
调用 OpenAI API:chat.completions 是 CoddyKit 上的免费 AI Agents 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 AI Agents 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 AI Agents 课程共包含 4 节课。
为什么使用 chat.completions?
OpenAI 有两个 API:
- chat.completions — 标准且获得良好支持的端点
- Responses API / Assistants — 托管式智能体(更高级)
本课程介绍 chat.completions,它是 95% 的智能体所使用的主力 API。
安装 SDK
一个包,一行代码:
# pip install openai
from openai import OpenAI
client = OpenAI() # reads OPENAI_API_KEY from env首次调用
一个最小化的补全请求:
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=[
{'role': 'system', 'content': 'You are concise.'},
{'role': 'user', 'content': 'Capital of France?'},
],
)
print(response.choices[0].message.content)
# 'Paris'响应对象剖析
响应不只有文本。以下字段很有用:
response.choices[0].message.content # the text
response.choices[0].finish_reason # 'stop' / 'length' / 'tool_calls'
response.usage.prompt_tokens # input tokens
response.usage.completion_tokens # output tokens
response.usage.total_tokens # sum
response.id # 'chatcmpl-...' for tracing关键参数
model— 要使用的模型temperature— 0.0 表示确定性,1.0 表示创造性max_tokens— 输出长度上限top_p— temperature 的替代参数seed— 可复现的输出(但有一些限制)
根据任务选择温度
- 0.0 — 信息提取、分类、代码生成
- 0.2-0.5 — 大多数智能体决策
- 0.7-1.0 — 创意写作、头脑风暴
停止序列
在指定标记处截断输出:
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=messages,
stop=['\n\n', 'END'],
)
# Stops as soon as a blank line or 'END' appears.多个候选项
在一次调用中生成 N 个候选项:
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=messages,
n=3, # three samples
)
for choice in response.choices:
print(choice.message.content)需要处理的错误类型
RateLimitError— 429,进行退避APIConnectionError— 网络问题APITimeoutError— 响应缓慢AuthenticationError— API 密钥无效BadRequestError— 架构问题
异步调用
对于高吞吐量的智能体,请使用异步客户端:
from openai import AsyncOpenAI
import asyncio
client = AsyncOpenAI()
async def ask(q):
r = await client.chat.completions.create(
model='gpt-4o-mini',
messages=[{'role': 'user', 'content': q}],
)
return r.choices[0].message.content
results = asyncio.run(asyncio.gather(*[ask(q) for q in questions]))内置超时与重试
SDK 默认会执行一些重试。您可以覆盖这一设置:
client = OpenAI(
timeout=30.0,
max_retries=3,
)完成原因
finish_reason == "length" 表示什么?
回顾
现在您已经可以从 Python 调用 OpenAI。接下来我们将介绍 Anthropic API,它存在一些细微但重要的差异。
用 AI 导师学习 AI Agents — 免费
在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。
- 课程
- 60
- 课程
- 239
常见问题解答
「调用 OpenAI API:chat.completions」课时是免费的吗?
是的 — 「调用 OpenAI API:chat.completions」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 AI Agents 课程的其余内容,请升级到 CoddyKit PRO。 AI Agents 课程共包含 4 节课。
「调用 OpenAI API:chat.completions」这节课中我会学到什么?
向 OpenAI 的 chat.completions 端点发送消息,设置 temperature 和 max_tokens,并解析响应。 你通过在浏览器中直接运行的动手代码来练习 AI Agents,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 AI Agents 需要有经验吗?
无需任何先前经验。CoddyKit 上的 AI Agents 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「调用 OpenAI API:chat.completions」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 AI Agents 课中编写并运行代码吗?
能。每节 AI Agents 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 调用 OpenAI API:chat.completions
- 调用 Anthropic API:messages
- 流式响应(SSE)
- 成本意识:令牌计数与预算