logo

Chat Completions 基础用法

本页介绍 Chat Completions 的基础调用方式与常见参数,适合快速搭建多轮对话、问答与内容生成。

如果你把 responses 看成“统一总线”,那 Chat Completions 更像“经典手动挡”。
理解它能帮你读懂大量历史代码,也便于维护已有项目。

Chat 对话示意

1. 基本概念

  • messages:多轮对话数组,按时间顺序排列。
  • role:消息角色(system/user/assistant)。
  • temperature:生成随机性,值越高越有创意。

读者导向:你先关注什么

  • 新手:先关注 messages 顺序和 role 职责
  • 产品开发:重点关注输出稳定性与成本参数(max_tokens
  • 运维负责人:优先建立日志、重试和异常兜底

2. Python 示例

from openai import OpenAI

client = OpenAI()

response = client.chat.completions.create(
    model="gpt-5.2",
    messages=[
        {"role": "system", "content": "你是一个简洁专业的技术助理。"},
        {"role": "user", "content": "用 3 句话解释什么是 API。"}
    ],
    temperature=0.3,
    max_tokens=300
)

print(response.choices[0].message.content)

3. Node.js 示例

import OpenAI from 'openai';

const client = new OpenAI();

const response = await client.chat.completions.create({
  model: 'gpt-5.2',
  messages: [
    { role: 'system', content: '你是一个简洁专业的技术助理。' },
    { role: 'user', content: '用 3 句话解释什么是 API。' }
  ],
  temperature: 0.3,
  max_tokens: 300
});

console.log(response.choices[0].message.content);

4. 多轮对话

messages = [
    {"role": "system", "content": "你是一个面试官。"},
    {"role": "user", "content": "请问什么是 REST?"},
    {"role": "assistant", "content": "REST 是一种..."},
    {"role": "user", "content": "它和 RPC 有什么不同?"}
]

response = client.chat.completions.create(
    model="gpt-5.2",
    messages=messages
)

5. 常用参数

参数作用说明
model模型选择如 gpt-5.2/gpt-5-mini
temperature随机性0 更稳定,1 更有创意
max_tokens输出长度控制成本与响应时间
stream流式输出适合长文本体验

6. 最佳实践

  • 先用 system 提示约束风格与边界。
  • 通过清晰结构化输入提高稳定性。
  • 对长内容建议使用 stream

一句轻松版:
多轮对话像接力赛,messages 就是接力棒。
你要是把棒子丢了(上下文丢失),模型再强也只能现场脑补。

参考资料

OpenAI API 开发指南
AI Engineer

OpenAI API 开发指南

OpenAI API 是最广泛使用的 AI API 之一,提供 GPT-4、DALL-E、Whisper 等模型的访问。

OpenAI API 开发指南基础用法

Chat Completions 基础用法

本页介绍 Chat Completions 的基础调用方式与常见参数,适合快速搭建多轮对话、问答与内容生成。

如果你把 responses 看成“统一总线”,那 Chat Completions 更像“经典手动挡”。
理解它能帮你读懂大量历史代码,也便于维护已有项目。

Chat 对话示意
Chat 对话示意

#1. 基本概念

  • messages:多轮对话数组,按时间顺序排列。
  • role:消息角色(system/user/assistant)。
  • temperature:生成随机性,值越高越有创意。

#读者导向:你先关注什么

  • 新手:先关注 messages 顺序和 role 职责
  • 产品开发:重点关注输出稳定性与成本参数(max_tokens
  • 运维负责人:优先建立日志、重试和异常兜底

#2. Python 示例

python
from openai import OpenAI client = OpenAI() response = client.chat.completions.create( model="gpt-5.2", messages=[ {"role": "system", "content": "你是一个简洁专业的技术助理。"}, {"role": "user", "content": "用 3 句话解释什么是 API。"} ], temperature=0.3, max_tokens=300 ) print(response.choices[0].message.content)

#3. Node.js 示例

ts
import OpenAI from 'openai'; const client = new OpenAI(); const response = await client.chat.completions.create({ model: 'gpt-5.2', messages: [ { role: 'system', content: '你是一个简洁专业的技术助理。' }, { role: 'user', content: '用 3 句话解释什么是 API。' } ], temperature: 0.3, max_tokens: 300 }); console.log(response.choices[0].message.content);

#4. 多轮对话

python
messages = [ {"role": "system", "content": "你是一个面试官。"}, {"role": "user", "content": "请问什么是 REST?"}, {"role": "assistant", "content": "REST 是一种..."}, {"role": "user", "content": "它和 RPC 有什么不同?"} ] response = client.chat.completions.create( model="gpt-5.2", messages=messages )

#5. 常用参数

参数作用说明
model模型选择如 gpt-5.2/gpt-5-mini
temperature随机性0 更稳定,1 更有创意
max_tokens输出长度控制成本与响应时间
stream流式输出适合长文本体验

#6. 最佳实践

  • 先用 system 提示约束风格与边界。
  • 通过清晰结构化输入提高稳定性。
  • 对长内容建议使用 stream

一句轻松版:
多轮对话像接力赛,messages 就是接力棒。
你要是把棒子丢了(上下文丢失),模型再强也只能现场脑补。

#参考资料

System Design

系统设计必备:核心概念 + 经典案例

快速掌握取舍与设计套路,备战系统设计面试。

进入 System Design →

相关路线图