OpenAI模型使用指南

OpenAI是全球领先的AI公司,其GPT系列模型在API易平台上完全可用。本指南将详细介绍如何使用GPT-4o、GPT-4、O1等系列模型,帮助你充分发挥这些顶级AI模型的能力。

🚀 模型概览

GPT-4o 系列

GPT-4o是OpenAI最新的旗舰模型,“o”代表”omni”(全能),支持文本、图像、音频等多种模态。

🔥 GPT-4o (推荐)

模型ID: gpt-4o 特点:
  • 🎯 最新旗舰模型,性能最强
  • 🖼️ 支持图像理解和生成
  • 🔊 支持音频输入输出
  • 🌍 优秀的多语言能力
  • ⚡ 响应速度快
价格: 输入 5/1Mtokens,输出5/1M tokens,输出 15/1M tokens
from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.apiyi.com/v1"
)

# 基础文本对话
response = client.chat.completions.create(
    model="gpt-4o",
    messages=[
        {"role": "system", "content": "你是一个专业的AI助手"},
        {"role": "user", "content": "请解释什么是量子计算"}
    ],
    temperature=0.7
)

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

🎯 GPT-4o 图像理解

GPT-4o可以理解和分析图像内容:
response = client.chat.completions.create(
    model="gpt-4o",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "请详细描述这张图片的内容,并分析其中的设计元素"
                },
                {
                    "type": "image_url",
                    "image_url": {
                        "url": "https://example.com/image.jpg",
                        "detail": "high"  # high/low/auto
                    }
                }
            ]
        }
    ],
    max_tokens=500
)

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

⚡ GPT-4o Mini (性价比之王)

模型ID: gpt-4o-mini 特点:
  • 💰 极高性价比:输入仅 $0.15/1M tokens
  • 🚀 响应速度更快
  • 🎯 保持GPT-4o的核心能力
  • 💡 适合大规模应用
价格: 输入 0.15/1Mtokens,输出0.15/1M tokens,输出 0.6/1M tokens
# GPT-4o Mini 特别适合日常对话和批量处理
response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[
        {"role": "system", "content": "你是一个友好的客服助手"},
        {"role": "user", "content": "我想了解你们的服务"}
    ],
    temperature=0.3
)

📅 GPT-4o 特定版本

模型ID: gpt-4o-2024-11-20 使用特定日期版本确保结果的一致性:
response = client.chat.completions.create(
    model="gpt-4o-2024-11-20",
    messages=[
        {"role": "user", "content": "请写一篇关于AI发展的文章"}
    ],
    temperature=0.5  # 较低温度确保一致性
)

GPT-4 系列

经典的GPT-4系列模型,提供强大的文本理解和生成能力。

🧠 GPT-4 Turbo

模型ID: gpt-4-turbo 特点:
  • 🚀 更快的响应速度
  • 📚 支持128K上下文长度
  • 💡 优秀的推理能力
  • 🔧 适合复杂任务
价格: 输入 10/1Mtokens,输出10/1M tokens,输出 30/1M tokens
# 处理长文档分析
long_document = """
[这里是一篇很长的文档内容...]
"""

response = client.chat.completions.create(
    model="gpt-4-turbo",
    messages=[
        {
            "role": "system", 
            "content": "你是一个专业的文档分析师,请仔细分析文档内容并提供深入见解"
        },
        {
            "role": "user", 
            "content": f"请分析以下文档的核心观点和结论:\n\n{long_document}"
        }
    ],
    temperature=0.3
)

🏛️ GPT-4 经典版

模型ID: gpt-4 经典的GPT-4模型,在创意写作和复杂推理方面表现优异:
# 创意写作任务
response = client.chat.completions.create(
    model="gpt-4",
    messages=[
        {
            "role": "system", 
            "content": "你是一个富有创意的作家,擅长创作引人入胜的故事"
        },
        {
            "role": "user", 
            "content": "请写一个关于时间旅行的科幻短故事,要求有意想不到的结局"
        }
    ],
    temperature=0.9,  # 高温度增加创意性
    max_tokens=1000
)

📖 GPT-4 32K

模型ID: gpt-4-32k 支持更长上下文的版本,适合处理超长文档:
# 处理超长代码审查
large_codebase = """
[这里是大量的代码内容...]
"""

response = client.chat.completions.create(
    model="gpt-4-32k",
    messages=[
        {
            "role": "system", 
            "content": "你是一个资深的代码审查专家"
        },
        {
            "role": "user", 
            "content": f"请审查以下代码,指出潜在问题和改进建议:\n\n{large_codebase}"
        }
    ],
    temperature=0.2
)

O1 系列 (推理专家)

O1系列是OpenAI专为复杂推理任务设计的模型,在数学、编程、科学等领域表现卓越。

🎓 O1 Preview

模型ID: o1-preview 特点:
  • 🧮 强大的数学推理能力
  • 🔬 科学问题解决能力
  • 💻 复杂编程任务
  • 🎯 多步骤逻辑推理
价格: 输入 15/1Mtokens,输出15/1M tokens,输出 60/1M tokens
O1系列模型有特殊限制:
  • 不支持 temperaturetop_p 等参数
  • 不支持 system 角色消息
  • 不支持流式输出
  • 不支持函数调用
# 复杂数学问题
response = client.chat.completions.create(
    model="o1-preview",
    messages=[
        {
            "role": "user",
            "content": """
            解决这个数学问题:
            
            一个正整数n,满足以下条件:
            1. n是4位数
            2. n的各位数字之和等于20
            3. n是质数
            4. n的各位数字都不相同
            
            请找出所有满足条件的n,并说明解题思路。
            """
        }
    ]
)

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

🚀 O1 Mini

模型ID: o1-mini 轻量版的推理模型,成本更低: 价格: 输入 3/1Mtokens,输出3/1M tokens,输出 12/1M tokens
# 中等复杂度的逻辑推理
response = client.chat.completions.create(
    model="o1-mini",
    messages=[
        {
            "role": "user",
            "content": """
            有A、B、C、D四个人,其中有一个人说谎,其他人说真话。
            
            A说:B是说谎者
            B说:C是说谎者  
            C说:D是说谎者
            D说:A是说谎者
            
            请推理出谁是说谎者,并说明推理过程。
            """
        }
    ]
)

🔬 O3 (最新推理模型)

模型ID: o3 最新的推理模型,能力更强: 价格: 输入 20/1Mtokens,输出20/1M tokens,输出 80/1M tokens
# 超复杂科学问题
response = client.chat.completions.create(
    model="o3",
    messages=[
        {
            "role": "user",
            "content": """
            请分析以下化学反应的机理,并预测在不同条件下的产物:
            
            在催化剂存在下,化合物A (C₈H₁₀O₂) 与化合物B (C₄H₆O₃) 
            在180°C和2大气压下反应。已知A含有苯环和酯基,B含有烯烃双键。
            
            请提供:
            1. 详细的反应机理
            2. 主要产物的结构
            3. 副反应的可能性
            4. 反应条件对产物的影响
            """
        }
    ]
)

GPT-3.5 系列

虽然不是最新的模型,但GPT-3.5系列仍然是高性价比的优秀选择。

⚡ GPT-3.5 Turbo

模型ID: gpt-3.5-turbo 特点:
  • 💰 极高性价比
  • 🚀 响应速度快
  • 📱 适合移动应用
  • 🔄 适合高频调用
价格: 输入 0.5/1Mtokens,输出0.5/1M tokens,输出 1.5/1M tokens
# 高频简单任务,如翻译、摘要等
response = client.chat.completions.create(
    model="gpt-3.5-turbo",
    messages=[
        {
            "role": "system", 
            "content": "你是一个专业的翻译专家"
        },
        {
            "role": "user", 
            "content": "请将以下英文翻译成中文:'The future of artificial intelligence looks promising.'"
        }
    ],
    temperature=0.3
)

使用技巧和最佳实践

1. 选择合适的模型

2. 优化提示词

# 好的系统消息示例
system_prompt = """
你是一个专业的Python编程专家,具有以下特点:
1. 代码风格遵循PEP8规范
2. 注重代码可读性和性能
3. 提供详细的注释和说明
4. 给出多种解决方案对比

请用简洁明了的语言回答,并提供可执行的代码示例。
"""

3. 参数调优

4. 成本优化策略

渐进式模型选择

先用便宜模型测试,再用高级模型优化
# 先用GPT-4o Mini测试
# 再用GPT-4o完善

智能缓存

对重复请求进行缓存,避免重复计费
import hashlib
cache = {}

def cached_completion(prompt):
    key = hashlib.md5(prompt.encode()).hexdigest()
    if key in cache:
        return cache[key]
    # 调用API...

批量处理

将多个简单任务合并为一个请求
# 合并多个翻译任务
batch_prompt = """
请翻译以下句子:
1. Hello world
2. Good morning
3. Thank you
"""

精确控制长度

设置合适的max_tokens避免浪费
# 根据任务设置精确的token限制
max_tokens = estimate_needed_tokens(task_type)

错误处理和重试

import time
import random
from openai import OpenAI

def robust_completion(client, **kwargs):
    """带重试机制的API调用"""
    max_retries = 3
    base_delay = 1
    
    for attempt in range(max_retries):
        try:
            response = client.chat.completions.create(**kwargs)
            return response
        
        except Exception as e:
            if attempt == max_retries - 1:
                raise e
                
            # 指数退避重试
            delay = base_delay * (2 ** attempt) + random.uniform(0, 1)
            print(f"重试 {attempt + 1}/{max_retries},等待 {delay:.2f} 秒...")
            time.sleep(delay)

# 使用示例
try:
    response = robust_completion(
        client,
        model="gpt-4o",
        messages=[{"role": "user", "content": "Hello!"}]
    )
except Exception as e:
    print(f"API调用失败: {e}")

流式响应处理

对于长文本生成,建议使用流式响应提升用户体验:
def stream_completion(client, **kwargs):
    """流式响应处理"""
    kwargs['stream'] = True
    
    try:
        stream = client.chat.completions.create(**kwargs)
        
        for chunk in stream:
            if chunk.choices[0].delta.content is not None:
                content = chunk.choices[0].delta.content
                print(content, end='', flush=True)
                yield content
                
    except Exception as e:
        print(f"流式响应错误: {e}")

# 使用示例
for chunk in stream_completion(
    client,
    model="gpt-4o",
    messages=[{"role": "user", "content": "写一篇关于AI的文章"}]
):
    # 实时处理每个文本块
    pass