为什么要学AI API
网页版ChatGPT很好用,但API能让你做到更多:把AI能力嵌入自己的程序、自动化处理大量文本、搭建自己的AI产品原型。掌握API调用,是从"AI用户"进化到"AI开发者"的第一步。
好消息是,这比你想象的要简单得多。本文以Python + OpenAI API为例,手把手带你完成第一个AI程序。
前置准备:安装Python 3.8+,具备基础Python语法知识(知道怎么运行一个.py文件即可)。
第一步:获取API Key
API Key 是你调用AI服务的"通行证"。以OpenAI为例:
- 注册OpenAI账号,登录后进入
platform.openai.com - 点击右上角头像 →
API keys - 点击
Create new secret key,复制保存(只显示一次!)
API Key 相当于你的密码,绝对不要上传到GitHub或分享给他人。建议存储在环境变量中,而不是直接写在代码里。
第二步:安装SDK
打开终端,执行:
pip install openai
安装成功后,验证一下:
python -c "import openai; print(openai.__version__)"
第三步:第一个AI程序
创建文件 hello_ai.py:
import os
from openai import OpenAI
# 从环境变量读取API Key(更安全)
client = OpenAI(api_key=os.environ.get("OPENAI_API_KEY"))
# 发送消息,获取回复
response = client.chat.completions.create(
model="gpt-4o-mini", # 选择模型(mini版本更便宜)
messages=[
{
"role": "system",
"content": "你是一个友好的AI助手,用简洁的中文回答问题。"
},
{
"role": "user",
"content": "用一句话解释什么是量子计算"
}
],
max_tokens=200, # 限制回复长度
temperature=0.7, # 创意程度,0~2,越高越有创意
)
# 打印AI的回复
print(response.choices[0].message.content)
设置环境变量并运行:
# macOS / Linux
export OPENAI_API_KEY="sk-你的密钥"
python hello_ai.py
# Windows (PowerShell)
$env:OPENAI_API_KEY="sk-你的密钥"
python hello_ai.py
理解核心概念
Token 和计费
API 按 Token 计费,而不是按字数。简单来说:
- 1个英文单词 ≈ 1-2个Token
- 1个中文字符 ≈ 1-2个Token
- 输入(你的消息)和输出(AI的回复)都会计费
# 查看本次调用消耗的Token
print(f"输入Token: {response.usage.prompt_tokens}")
print(f"输出Token: {response.usage.completion_tokens}")
print(f"总Token: {response.usage.total_tokens}")
消息格式
Chat API 采用消息列表的格式,每条消息有三种角色:
system:系统指令,定义AI的角色和行为规则user:用户发送的消息assistant:AI之前的回复(用于多轮对话时保存上下文)
关键参数
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[...],
temperature=0.7, # 0=确定性强,2=随机创意
max_tokens=500, # 最大回复Token数
top_p=1.0, # 另一种控制随机性的参数
stream=False, # True则流式输出(逐字返回)
)
实现多轮对话
多轮对话的关键是维护消息历史:
import os
from openai import OpenAI
client = OpenAI(api_key=os.environ.get("OPENAI_API_KEY"))
# 消息历史
messages = [
{"role": "system", "content": "你是一个友好的AI助手"}
]
print("开始对话(输入 quit 退出)\n")
while True:
user_input = input("你:")
if user_input.lower() == "quit":
break
# 添加用户消息到历史
messages.append({"role": "user", "content": user_input})
# 调用API
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=messages,
max_tokens=500,
)
# 获取AI回复
ai_reply = response.choices[0].message.content
print(f"AI:{ai_reply}\n")
# 把AI回复也加入历史(用于下轮上下文)
messages.append({"role": "assistant", "content": ai_reply})
常见错误处理
from openai import OpenAI, RateLimitError, AuthenticationError
client = OpenAI(api_key=os.environ.get("OPENAI_API_KEY"))
try:
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": "你好"}]
)
print(response.choices[0].message.content)
except AuthenticationError:
print("API Key 无效,请检查密钥是否正确")
except RateLimitError:
print("请求频率过高或余额不足,请稍后重试")
except Exception as e:
print(f"发生未知错误:{e}")
下一步
恭喜你完成了第一个AI程序!接下来可以探索的方向:
- 流式输出:设置
stream=True,让回复像打字机一样逐字显示 - 函数调用(Function Calling):让AI调用你定义的函数,实现更复杂的交互
- 图像识别:GPT-4o支持发送图片,实现视觉理解
- 接入Web框架:用Flask或FastAPI把AI能力包装成API服务