AI Agents · 课时

调用 OpenAI API:chat.completions

向 OpenAI 的 chat.completions 端点发送消息,设置 temperature 和 max_tokens,并解析响应。

第 1 / 4 课13 个步骤

调用 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 反馈 — 无需本地设置。

此课程中的所有课时

  1. 调用 OpenAI API:chat.completions
  2. 调用 Anthropic API:messages
  3. 流式响应(SSE)
  4. 成本意识:令牌计数与预算
← 返回 AI Agents