星辰大海 AI星辰大海 AI
首页
  • ChatGPT
  • Claude
  • Midjourney
  • Stable Diffusion
  • 大语言模型
  • 图像生成模型
  • 语音模型
Demo 示例
开发笔记
GitHub
首页
  • ChatGPT
  • Claude
  • Midjourney
  • Stable Diffusion
  • 大语言模型
  • 图像生成模型
  • 语音模型
Demo 示例
开发笔记
GitHub
  • AI 工具

    • ChatGPT 使用笔记
    • Claude 使用笔记
    • Midjourney 使用笔记
    • Stable Diffusion 使用笔记

ChatGPT 使用笔记

简介

ChatGPT 是 OpenAI 开发的大型语言模型,能够进行对话、回答问题、生成文本等多种任务。

基本使用

API 调用

import openai

openai.api_key = "your-api-key"

response = openai.ChatCompletion.create(
    model="gpt-3.5-turbo",
    messages=[
        {"role": "system", "content": "你是一个有用的助手。"},
        {"role": "user", "content": "你好,请介绍一下自己。"}
    ]
)

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

常用参数

  • model: 模型版本(gpt-3.5-turbo, gpt-4 等)
  • temperature: 控制随机性(0-2,默认 1)
  • max_tokens: 最大生成 token 数
  • top_p: 核采样参数

使用技巧

这些是我在使用 ChatGPT 过程中总结的技巧:

1. System Prompt 设计

System prompt 可以设定 AI 的角色和行为模式:

你是一位专业的 Python 开发工程师,擅长编写清晰、高效的代码。
请用中文回答,并提供代码示例。

2. 上下文管理

对于长对话,需要维护消息历史:

messages = [
    {"role": "system", "content": "你是一个有用的助手。"},
    {"role": "user", "content": "什么是 Python?"},
    {"role": "assistant", "content": "Python 是一种编程语言..."},
    {"role": "user", "content": "它有什么特点?"}
]

3. 流式输出

对于长文本生成,使用流式输出提升用户体验:

stream = openai.ChatCompletion.create(
    model="gpt-3.5-turbo",
    messages=messages,
    stream=True
)

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

常见问题

以下是我在使用过程中遇到的常见问题和解决方案:

Q: 如何处理 API 限流?

A: 实现重试机制和指数退避:

import time
import random

def retry_with_backoff(func, max_retries=5):
    for i in range(max_retries):
        try:
            return func()
        except Exception as e:
            if i == max_retries - 1:
                raise
            wait_time = (2 ** i) + random.uniform(0, 1)
            time.sleep(wait_time)

Q: 如何控制输出长度?

A: 使用 max_tokens 参数,并在 prompt 中明确要求:

请用不超过 100 字回答这个问题。

最佳实践

  1. 明确任务目标:在 prompt 中清晰描述需求
  2. 提供示例:Few-shot learning 可以提升效果
  3. 迭代优化:根据结果调整 prompt
  4. 错误处理:妥善处理 API 错误和异常情况
  5. 成本控制:监控 token 使用量,优化 prompt 长度

相关资源

  • OpenAI API 文档
  • Prompt 工程指南
在 GitHub 上编辑此页
Next
Claude 使用笔记