title: 拿到可用的 API Key,再把 Chat Completions 的参数逐个对齐
lecture: 1-4-4
chapter: 1
section: 4
series: AI Agent 全栈开发工程师学习笔记
tags: [OpenAI API, Chat Completions, API 密钥, MoonShot]
拿到可用的 API Key,再把 Chat Completions 的参数逐个对齐
卡点不在代码,在手机号
ChatGPT 网页版能正常聊天,不等于能调 API。创建密钥这一步多出一道国外手机号校验,国内号码收不到验证码——这是很多人第一次打开platform.openai.com就停住的真实原因。
四条路先摆清楚:
| 方案 | 前置条件 | 适合谁 |
|---|---|---|
| 官方渠道 | 国外手机号校验,后续继续使用要绑国外银行卡 | 想完整体验官方能力与全部参数 |
| 第三方中转 API | 一个兼容 OpenAI 协议的地址 + 对应 key | 个人开发者,最快跑通 |
| Azure OpenAI | 国内企业账号 + 国内银行卡 | 企业,走合规路径 |
| 兼容协议的国产模型(月之暗面) | 国内手机号即可注册 | 想原样复用 OpenAI 代码 |
个人开发者的最短路径是第一条或第四条。第一条要解决手机号;第四条只要换 key 和地址。
用虚拟号平台过手机号校验
sms-activate.org是一类"租一个临时海外号码收验证码"的平台。注册只要邮箱,充值支持国内支付方式,按号码收费。
完整流程五步:
- 打开官网,右上角可切中文。
- 站内搜
OpenAI,进服务页,选和你当前 IP 所在国家一致的号码(IP 在菲律宾就选菲律宾)。页面上那句提示写得很直白:要正常接收短信,你的 IP 必须与号码的国家一致;不一致就得挂代理。 - 加购物车付款,拿到一个虚拟号,号码带有效期、页面会倒计时(截图里剩 19 分钟),复制时注意去掉国家代码前面的
+。 - 回到 OpenAI 设置页,国家选同一个,粘贴号码,发送验证码。
- 回虚拟号平台刷新,读出验证码填进 OpenAI。校验通过后就能创建 API 密钥。
密钥管理的三条纪律,任何一家平台都适用:
- 创建后立刻复制。密钥只显示一次,关掉页面就找不回来。
- 不用就删。挂在账户里的闲置 key 是被盗刷的入口。
- 不进版本库。放
.env,.gitignore里加一行.env。
# .env(占位符,别提交真实值) OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxx参数去哪查
接口定义在platform.openai.com/docs/api-reference/chat,左侧端点栏按能力分组:Audio、Chat、Embeddings、Fine-tuning、Batch、Files、Images、Models、Moderations,以及 Assistants 一组。官方文档右侧自带 Python / Node.js 示例,装库命令就是:
pipinstallopenainpminstallopenai@^4.0.0请求参数:把语义和取值范围对齐
messages之所以必填,是因为模型本身无状态:它不记得上一句。所谓上下文,是把历史提问和回复拼成一个列表,每次一起抛进去。
下表逐项按讲义截图(官方文档参数表)核对过,"取值/默认"一列写的是截图里能读到的原文。
| 参数 | 必填 | 取值 / 默认(截图核对) | 作用 |
|---|---|---|---|
messages | 是 | 消息历史列表 | 唯一的上下文来源 |
model | 是 | 常见值gpt-3.5-turbo、gpt-4 | 效果和费用都跟着它变 |