← 返回首页

ChatGPT API开发入门

通过ChatGPT API,开发者可以将强大的AI能力集成到自己的应用中。本文将介绍如何获取API密钥、发送请求以及处理响应,帮助你快速入门API开发。

一、准备工作

1. 创建OpenAI账号

如果还没有OpenAI账号,需要先注册一个。访问 platform.openai.com 进行注册。

2. 获取API密钥

  1. 登录 OpenAI 平台
  2. 点击右上角头像,选择"API Keys"
  3. 点击"Create new secret key"
  4. 复制密钥并妥善保存(只显示一次)

安全警告

API密钥是敏感信息,不要分享给他人,不要提交到代码仓库,建议使用环境变量管理。

3. 设置计费

API使用需要付费。在平台中设置支付方式和预算限制,避免意外支出。

二、发送第一个请求

使用curl

curl https://api.openai.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "gpt-3.5-turbo",
    "messages": [{"role": "user", "content": "你好,ChatGPT!"}]
  }'

使用Python

import openai

openai.api_key = "YOUR_API_KEY"

response = openai.ChatCompletion.create(
    model="gpt-3.5-turbo",
    messages=[
        {"role": "user", "content": "你好,ChatGPT!"}
    ]
)

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

使用JavaScript

const { OpenAI } = require("openai");

const openai = new OpenAI({
  apiKey: "YOUR_API_KEY"
});

async function main() {
  const completion = await openai.chat.completions.create({
    model: "gpt-3.5-turbo",
    messages: [{"role": "user", "content": "你好,ChatGPT!"}]
  });

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

main();

三、API参数详解

核心参数

  • model:选择使用的模型,如 gpt-3.5-turbo、gpt-4
  • messages:对话消息数组,包含角色和内容
  • temperature:温度参数,控制输出的随机性(0-2)
  • max_tokens:最大输出token数
  • n:生成的回复数量

消息角色

  • system:系统消息,设定助手的行为和角色
  • user:用户消息,用户的提问或请求
  • assistant:助手消息,之前的回复内容

四、进阶用法

1. 多轮对话

response = openai.ChatCompletion.create(
    model="gpt-3.5-turbo",
    messages=[
        {"role": "system", "content": "你是一位专业的程序员。"},
        {"role": "user", "content": "什么是Python?"},
        {"role": "assistant", "content": "Python是一种高级编程语言..."},
        {"role": "user", "content": "它和JavaScript有什么区别?"}
    ]
)

2. 流式响应

response = openai.ChatCompletion.create(
    model="gpt-3.5-turbo",
    messages=[{"role": "user", "content": "讲一个故事"}],
    stream=True
)

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

3. 函数调用

API支持函数调用,让模型可以调用外部工具。

response = openai.ChatCompletion.create(
    model="gpt-3.5-turbo",
    messages=[{"role": "user", "content": "今天天气怎么样?"}],
    functions=[{
        "name": "get_weather",
        "description": "获取指定城市的天气",
        "parameters": {
            "type": "object",
            "properties": {
                "city": {"type": "string", "description": "城市名称"}
            },
            "required": ["city"]
        }
    }],
    function_call="auto"
)

五、最佳实践

1. 错误处理

  • 处理API调用失败的情况
  • 实现重试机制
  • 处理限流和配额问题

2. 性能优化

  • 使用流式响应减少等待时间
  • 缓存重复请求的结果
  • 选择合适的模型和参数

3. 成本控制

  • 设置API调用预算
  • 使用更便宜的模型(如 gpt-3.5-turbo)
  • 优化提示词,减少不必要的token消耗

开发资源

  • 官方文档:platform.openai.com/docs
  • SDK:官方提供 Python、JavaScript、Java 等语言的SDK
  • 社区:GitHub、Discord 等平台有丰富的开发资源

六、常见问题

Q:API调用费用如何计算?

A:费用按token数计算,不同模型的单价不同。可以在平台中查看详细的定价信息。

Q:如何提高API调用速度?

A:使用流式响应、选择更轻量的模型、优化网络连接。

Q:API有调用频率限制吗?

A:是的,有每分钟和每天的调用限制。可以在平台中查看具体限制。

Q:支持哪些编程语言?

A:官方提供了Python和JavaScript的SDK,但你可以使用任何支持HTTP请求的语言。

最后建议

从简单的应用开始,逐步探索API的强大功能。参考官方文档和社区示例,可以快速上手开发。