通过ChatGPT API,开发者可以将强大的AI能力集成到自己的应用中。本文将介绍如何获取API密钥、发送请求以及处理响应,帮助你快速入门API开发。
一、准备工作
1. 创建OpenAI账号
如果还没有OpenAI账号,需要先注册一个。访问 platform.openai.com 进行注册。
2. 获取API密钥
- 登录 OpenAI 平台
- 点击右上角头像,选择"API Keys"
- 点击"Create new secret key"
- 复制密钥并妥善保存(只显示一次)
安全警告
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的强大功能。参考官方文档和社区示例,可以快速上手开发。