基于 OpenAI API 的 Python 聊天程序开发指南
本教程介绍如何使用 OpenAI 大模型 API 进行编程,适合从零开始搭建聊天应用,也适合开发者查缺补漏。我们将重点讲解基于 Chat Completion API 的调用方法、参数配置及最佳实践。
环境搭建
OpenAI 官方提供的示例和 SDK 主要基于 Python 编写,因此本教程使用 Python 作为开发语言。
Python 环境准备
建议使用 Python 3.10 或更高版本。如果你已经具备 Python 环境且清楚如何管理依赖,可跳过此节。
推荐使用虚拟环境(如 venv 或 conda)来隔离项目依赖,避免污染全局环境。
安装依赖包
执行以下命令安装 OpenAI 的 Python SDK 及相关网络库:
pip install --upgrade openai httpx[socks]
该命令只需执行一次。安装成功后,可通过 python -m pip show openai 验证版本。
代码实现
下面进入核心部分,演示如何运行一个 GPT 聊天程序。我们将让 GPT 扮演一名小学数学老师,并输出 JSON 格式的回答。
注意:请务必替换代码中的 api_key 为你的真实密钥,切勿将密钥硬编码在代码中提交至公共仓库。
import os
from openai import OpenAI
# 从环境变量读取 API Key,确保安全性
api_key = os.getenv("OPENAI_API_KEY")
if not api_key:
raise ValueError("未找到 OPENAI_API_KEY 环境变量")
client = OpenAI(api_key=api_key)
try:
stream = client.chat.completions.create(
messages=[{
"role": "system",
"content": "你是一名数学老师,从事小学数学教育 30 年,精通设计各种数学考试题"
}, {
"role": "user",
"content": "你是谁?请以 json 返回"
}],
model="gpt-3.5-turbo-1106",
max_tokens=1024,
temperature=0.7,
top_p=0.9,
presence_penalty=0.2,
seed=12345,
response_format={"type": "json_object"},
n=,
stream=
)
chunk stream:
chunk.choices (chunk.choices) > :
delta = chunk.choices[].delta
delta.content:
(delta.content, end=)
Exception e:
()


