OpenAI API接入完整教程:新手从零开始

1 阅读1分钟

第一章:理解OpenAI API

API是什么?

API(Application Programming Interface,应用程序接口)简单理解就是:你写代码,AI帮你做事

你发送一个请求(包含你的问题),OpenAI的服务器处理后返回回答。这个通信过程通过API完成。

OpenAI API能做什么?

功能

模型

典型场景

文字对话/问答

GPT-4o

客服机器人、助手

代码生成

GPT-4o

编程助手、代码审查

文本生成

GPT-4o

内容创作、报告生成

图片理解

GPT-4o

图片分析、OCR增强

语音转文字

Whisper

会议记录、字幕生成

文字转语音

TTS

有声读物、播报

图片生成

DALL-E 3

设计辅助、创意图片

费用是多少?

OpenAI API按使用量(Token)计费。Token是文本的基本单位,大约:

  • 1个英文单词 ≈ 1 Token

  • 1个中文字符 ≈ 2 Token

以GPT-4o为例(通过jiekou.ai):

  • 输入:约¥0.02 / 1000 tokens

  • 输出:约¥0.08 / 1000 tokens

实际感受: 和ChatGPT对话一次(来回约1000 tokens),成本不到1分钱。

第二章:准备工作

方案一:官方OpenAI账号(需要翻墙)

  1. 访问 platform.openai.com(需要科学上网)

  2. 注册账号(需要境外手机号)

  3. 进入 API Keys 页面

  4. 点击"Create new secret key"

  5. 充值(需要境外信用卡)

国内开发者常见障碍: 注册门槛高、信用卡问题、封号风险。

方案二:jiekou.ai 中转服务(国内推荐⭐)

对于国内新手,强烈推荐使用 jiekou.ai

  1. 访问 jiekou.ai(国内直连,无需翻墙)

  2. 用手机号/微信注册

  3. 充值人民币(支付宝/微信支付)

  4. 在控制台创建API Key

jiekou.ai的Key格式与官方相同,代码完全兼容,只需多设置一个 base_url****。

第三章:环境搭建

安装Python

访问 python.org 下载安装Python 3.10+。

验证安装:

python --version
# 或
python3 --version

创建虚拟环境(可选但推荐)

# 创建虚拟环境
python -m venv ai-project
cd ai-project

# 激活虚拟环境
# Windows:
.\Scripts\activate
# Mac/Linux:
source bin/activate

安装OpenAI库

pip install openai

配置API Key

方式一:环境变量(推荐)

# Mac/Linux,添加到 ~/.bashrc 或 ~/.zshrc
export OPENAI_API_KEY="your-api-key"
export OPENAI_BASE_URL="https://api.jiekou.ai/v1"

# Windows PowerShell
$env:OPENAI_API_KEY="your-api-key"
$env:OPENAI_BASE_URL="https://api.jiekou.ai/v1"

方式二:.env文件

安装dotenv:

pip install python-dotenv

创建 .env 文件(放在项目根目录):

OPENAI_API_KEY=your-api-key-here
OPENAI_BASE_URL=https://api.jiekou.ai/v1

⚠️ 重要:将 .env 加入 .gitignore,避免泄露API Key!

第四章:第一次API调用

最简单的Hello World

创建 hello_ai.py

from openai import OpenAI
import os

# 初始化客户端
client = OpenAI(
    api_key=os.environ.get("OPENAI_API_KEY"),
    base_url=os.environ.get("OPENAI_BASE_URL", "https://api.jiekou.ai/v1")
)

# 发送请求
response = client.chat.completions.create(
    model="gpt-4o",          # 使用的模型
    messages=[               # 对话消息列表
        {
            "role": "user",
            "content": "你好!请用一句话自我介绍。"
        }
    ]
)

# 获取回复
answer = response.choices[0].message.content
print("AI说:", answer)

运行:

python hello_ai.py

如果看到AI的回复,恭喜你!第一次API调用成功了!

第五章:理解API请求结构

请求的核心参数

response = client.chat.completions.create(
    # 必填
    model="gpt-4o",          # 模型选择
    messages=[...],          # 对话消息

    # 可选 - 控制输出质量
    temperature=0.7,         # 随机性:0=确定,2=最随机,默认1
    max_tokens=1000,         # 最大输出长度
    
    # 可选 - 控制输出格式
    stream=False,            # 是否流式输出
)

消息格式详解

messages 是一个列表,每条消息包含 rolecontent

messages = [
    # 1. system消息:设置AI的角色和行为(可选,但很有用)
    {
        "role": "system",
        "content": "你是一个专业的法律顾问,回答要严谨、专业。"
    },
    
    # 2. user消息:用户的提问(必须有)
    {
        "role": "user",
        "content": "合同中的违约金条款需要注意哪些?"
    },
    
    # 3. assistant消息:AI之前的回复(用于多轮对话上下文)
    {
        "role": "assistant",
        "content": "违约金条款需要注意以下几点:..."
    },
    
    # 4. 下一轮用户提问
    {
        "role": "user",
        "content": "能举个实际例子吗?"
    }
]

解读API响应

response = client.chat.completions.create(...)

# 响应的完整结构
print(type(response))           # ChatCompletion对象

# 最常用的部分
print(response.choices[0].message.content)   # AI回复的文本
print(response.choices[0].finish_reason)     # 停止原因

# 用量统计(很重要!监控费用)
print(f"输入tokens: {response.usage.prompt_tokens}")
print(f"输出tokens: {response.usage.completion_tokens}")
print(f"总计tokens: {response.usage.total_tokens}")

第六章:实用示例

创建一个命令行聊天程序

from openai import OpenAI
import os

client = OpenAI(
    api_key=os.environ.get("OPENAI_API_KEY"),
    base_url="https://api.jiekou.ai/v1"
)

def main():
    print("AI聊天助手(输入'退出'结束)")
    print("-" * 40)
    
    messages = [
        {"role": "system", "content": "你是一个友好、有帮助的AI助手。"}
    ]
    
    while True:
        # 获取用户输入
        user_input = input("\n你: ").strip()
        
        if user_input.lower() in ["退出", "exit", "quit", "q"]:
            print("再见!")
            break
        
        if not user_input:
            continue
        
        # 添加用户消息
        messages.append({"role": "user", "content": user_input})
        
        # 调用API
        try:
            response = client.chat.completions.create(
                model="gpt-4o",
                messages=messages
            )
            
            ai_reply = response.choices[0].message.content
            
            # 添加AI回复到历史
            messages.append({"role": "assistant", "content": ai_reply})
            
            print(f"\nAI: {ai_reply}")
            
        except Exception as e:
            print(f"\n错误: {e}")

if __name__ == "__main__":
    main()

第七章:常见问题与注意事项

API Key安全

# ❌ 错误:硬编码Key
client = OpenAI(api_key="sk-xxxx...")

# ✅ 正确:从环境变量读取
import os
client = OpenAI(api_key=os.environ.get("OPENAI_API_KEY"))

Key泄露了怎么办? 立即去控制台删除该Key,重新生成一个新的。

Token费用控制

# 设置max_tokens避免意外消耗大量token
response = client.chat.completions.create(
    model="gpt-4o",
    messages=[...],
    max_tokens=500  # 限制最大输出
)

# 打印每次调用的费用(估算)
usage = response.usage
cost = (usage.prompt_tokens * 0.00002 + usage.completion_tokens * 0.00008)
print(f"本次估算费用:¥{cost:.4f}")

错误处理

from openai import OpenAI, APIConnectionError, AuthenticationError

try:
    response = client.chat.completions.create(...)
except AuthenticationError:
    print("API Key无效,请检查")
except APIConnectionError:
    print("网络连接失败,请检查网络")
except Exception as e:
    print(f"未知错误: {e}")

jiekou.ai:新手最友好的选择

对于刚入门的开发者,jiekou.ai 是最推荐的起点:

优势

说明

无门槛注册

手机号即可注册,无需境外账号

人民币充值

支付宝/微信,随充随用

国内直连

不需要VPN,速度稳定

代码兼容

只需改base_url,其他代码完全一样

多模型

GPT-4o / Claude / Gemini 一次都能试

中文支持

控制台全中文,有中文文档

访问 jiekou.ai 注册,新用户有免费额度,正好用来跑本文的示例代码。

总结:你的学习路线图

完成本文后,建议按以下路径深入:

基础调用(本文)
    ↓
流式输出(打字机效果)
    ↓
Function Calling(让AI调用工具)
    ↓
多模态(发送图片给AI)
    ↓
构建完整应用(Web服务、Bot等)

本文核心要点:

  1. OpenAI API通过 client.chat.completions.create() 调用

  2. messages 列表控制对话内容和上下文

  3. temperature 控制创意度,max_tokens 控制输出长度

  4. 国内推荐使用 jiekou.ai,只需修改 base_url

  5. API Key要保密,用环境变量存储

开始你的AI开发之旅吧!