一、注册与获取API Key

现在很多小程序都接入了AI对话功能——用户在小程序里直接问问题、查资料、生成内容。ChatGPT是目前最成熟的方案。本文将教你如何把ChatGPT API接到自己的小程序里,从注册到跑通代码。

⚠️ 注意:OpenAI的API在中国大陆需要海外网络/代理才能访问。如果你的服务器在国内无法直接调用,可以考虑使用代理或改用国产模型(如DeepSeek、通义千问)。

步骤1:注册 OpenAI 账号

访问 https://platform.openai.com/,点击「Sign up」。支持邮箱注册(推荐Gmail)或Google/微软账号登录。注册时需要海外手机号验证。

步骤2:创建API Key

登录后,进入 API Keys 页面,点击「Create new secret key」。给Key起个名字,复制保存。

⚠️ 非常重要:API Key只显示一次,关闭后就看不到了。务必立即复制到安全位置。

步骤3:查看用量和额度

注册时自动赠送 $5 赠金,有效期3个月。在「Usage」页面可以查看剩余额度。GPT-4o-mini性价比极高,$5足够完成上千次对话测试。

💡 提示:OpenAI 的 SDK 是行业标准,DeepSeek、通义千问、豆包等国产模型都兼容 OpenAI 的调用格式。学会 OpenAI 的调用方式,就等于学会了其他所有兼容模型的调用方式。

二、用curl测试(最快验证方式)

先用curl跑通一遍,确认API Key有效、网络通畅。注意:OpenAI使用 https://api.openai.com/v1 作为API地址。

bash
curl https://api.openai.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-你的API_KEY" \
  -d '{
    "model": "gpt-4o-mini",
    "messages": [
      {"role": "system", "content": "你是一个有用的助手"},
      {"role": "user", "content": "用一句话解释什么是API"}
    ]
  }'

如果返回类似下面的结果,说明调通了:

json
{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1747296000,
  "model": "gpt-4o-mini",
  "choices": [{
    "index": 0,
    "message": {
      "role": "assistant",
      "content": "API(应用程序编程接口)是不同软件系统之间通信的桥梁,定义了请求和响应的规则。"
    },
    "finish_reason": "stop"
  }],
  "usage": {
    "prompt_tokens": 25,
    "completion_tokens": 30,
    "total_tokens": 55
  }
}
⚠️ 注意: 如果curl报错,先确认API Key是否正确。中国服务器需要海外代理才能访问OpenAI。如果403错误,通常是IP被限制。

三、用Python调用

Python是调用AI API最常用的语言。OpenAI 提供了官方的 Python SDK,安装使用非常简单。

安装依赖

bash
pip install openai

基础对话

python
from openai import OpenAI

# OpenAI的SDK无需改base_url(默认就是api.openai.com)
client = OpenAI(
    api_key="sk-你的API_KEY"
)

# 发送对话请求(推荐使用gpt-4o-mini,性价比最高)
response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[
        {"role": "system", "content": "你是一个专业的编程助手"},
        {"role": "user", "content": "用Python写一个快速排序算法"}
    ]
)

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

流式输出(打字机效果)

流式输出可以让AI一边生成一边显示,用户体验更好:

python
from openai import OpenAI

client = OpenAI(
    api_key="sk-你的API_KEY"
)

stream = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "讲一个程序员笑话"}],
    stream=True
)

for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="")

四、用Node.js调用

安装依赖

bash
npm install openai

基础对话

javascript
import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: 'sk-你的API_KEY'
});

async function main() {
  const response = await client.chat.completions.create({
    model: 'gpt-4o-mini',
    messages: [
      
      { role: 'user', content: 'Node.js如何读取文件?' }
    ]
  });
  console.log(response.choices[0].message.content);
}
main();

五、常用功能代码示例

1. AI自动写文章

python
def generate_article(topic, style="专业"):
    """根据主题生成文章"""
    response = client.chat.completions.create(
        model="gpt-4o-mini",
        messages=[{
            "role": "user",
            "content": f"请以{style}的风格,写一篇关于「{topic}」的800字文章。要求:有标题、有分段、有数据支撑。"
        }]
    )
    return response.choices[0].message.content

2. 智能客服自动回复

python
def customer_service(user_message, history=[]):
    """智能客服,带上下文记忆"""
    messages = [{"role": "system", "content": "你是一个专业的电商客服,回答简洁有礼貌。"}]
    # 添加上下文历史
    for h in history[-5:]:  # 只保留最近5轮
        messages.append(h)
    messages.append({"role": "user", "content": user_message})
    
    response = client.chat.completions.create(
        model="gpt-4o-mini",
        messages=messages
    )
    return response.choices[0].message.content

3. 批量翻译

python
def batch_translate(texts, target_lang="英语"):
    """批量翻译文本"""
    batch_text = "\n---\n".join(texts)
    response = client.chat.completions.create(
        model="gpt-4o-mini",
        messages=[{
            "role": "user",
            "content": f"将以下文本逐条翻译成{target_lang},保持原格式用---分隔:\n\n{batch_text}"
        }]
    )
    return response.choices[0].message.content.split("\n---\n")

六、常见错误及解决

错误代码 原因 解决方案
401 Unauthorized API Key 错误或已过期 检查 Key 是否完整复制,是否在后台被删除
429 Too Many Requests 请求频率过高 添加 sleep 或使用指数退避重试
400 context length exceeded 对话历史太长,超过模型上下文限制 截断历史消息,只保留最近几轮
timeout 网络连接超时 检查网络环境,是否被墙,加长timeout时间
503 Service Unavailable 服务端暂时不可用 等待几秒后重试
💡 最佳实践:在生产环境中,建议添加重试机制(retry)。Python可以用 tenacity 库,每次失败后等待2秒再重试,最多重试3次。

七、价格与免费额度

项目 价格
注册赠金 500万 tokens(输入+输出)
输入(用户提问) ¥0.5 / 百万 tokens
输出(AI回答) ¥2.0 / 百万 tokens
估算:一篇2000字文章 约 ¥0.01(一分钱)
估算:100万次客服对话 约 ¥500

GPT-4o-mini 是目前性价比最高的选择,$5赠金可以完成上千次测试。如果追求更低成本,可以考虑国产模型(DeepSeek、通义千问等)。

八、实际项目应用场景 & 代接服务

API调通了,然后呢?以下是用ChatGPT API可以做的落地场景:

场景一:AI客服机器人

客户在小程序/网站提问,AI自动回复。适合电商、教育、服务类商家。接入方式:小程序前端 → 你的后端 → OpenAI API。

  • 接入方式:小程序前端 → 你的后端 → OpenAI API
  • 成本估算:1000次对话 ≈ ¥0.5
  • 我们能帮做:¥500 整套部署

场景二:自动写日报/周报

对接企业微信或钉钉机器人,每天自动生成工作日报。员工只需输入关键词,AI生成完整报告。

场景三:AI合同/文档生成

我们已经做了灵犀AI合同生成器(线上运行中)。类似的思路可以做:AI简历生成、AI方案生成、AI论文辅助。

场景四:AI代码审查

把你的代码发给GPT-4o,它帮你检查Bug、优化性能、补充注释。接入CI/CD流水线后每次提交自动审查。