Skip to content

文本生成

1. 获取可用模型列表

GET /v1/models

列出当前可用的所有模型,并提供有关每个模型的基本信息。

响应 (200)

json
{
  "object": "list",
  "data": [
    {
      "id": "gpt-4o",
      "object": "model",
      "created": 1686935002,
      "owned_by": "openai",
      "permission": [
        {
          "id": "modelperm-abc123",
          "object": "model_permission",
          "created": 1686935002,
          "allow_create_engine": false,
          "allow_sampling": true,
          "allow_logprobs": true,
          "allow_search_indices": false,
          "allow_view": true,
          "allow_fine_tuning": false,
          "organization": "*",
          "group": null,
          "is_blocking": false
        }
      ],
      "root": "gpt-4o",
      "parent": null
    },
    {
      "id": "gpt-4-vision-preview",
      "object": "model",
      "created": 1698357334,
      "owned_by": "openai",
      "permission": [
        {
          "id": "modelperm-def456",
          "object": "model_permission",
          "created": 1698357334,
          "allow_create_engine": false,
          "allow_sampling": true,
          "allow_logprobs": true,
          "allow_search_indices": false,
          "allow_view": true,
          "allow_fine_tuning": false,
          "organization": "*",
          "group": null,
          "is_blocking": false
        }
      ],
      "root": "gpt-4-vision-preview",
      "parent": null
    }
  ]
}

2. 对话 API

POST /v1/chat/completions

创建一个包含模型响应的聊天补全。

请求体

json
{
  "model": "gpt-4o",
  "messages": [
    {
      "role": "system",
      "content": "你是一个有帮助的助手。"
    },
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "分析这张图片中的内容"
        },
        {
          "type": "image_url",
          "image_url": {
            "url": "https://example.com/image.jpg"
          }
        }
      ]
    }
  ],
  "max_tokens": 500,
  "temperature": 0.7,
  "stream": false
}

参数说明

  • model(必填):要使用的模型 ID,如 "gpt-4o"、"gpt-4-vision-preview" 等
  • messages(必填):对话消息数组,包含角色和内容
    • role(必填):消息角色,可为 "system"、"user"、"assistant" 或 "tool"
    • content(必填):消息内容,可以是字符串或包含多模态内容的数组
      • 文本内容:{"type": "text", "text": "文本内容"}
      • 图像内容:{"type": "image_url", "image_url": {"url": "图像URL", "detail": "auto|high|low"}}
      • 视频内容:{"type": "video_url", "video_url": {"url": "视频URL"}}
  • max_tokens(可选):生成的最大令牌数,默认为无限制
  • temperature(可选):采样温度,介于 0 和 2 之间,默认为 1
  • stream(可选):是否流式返回部分结果,默认为 false
  • top_p(可选):核采样,默认为 1
  • n(可选):为每个输入消息生成的聊天补全选择数,默认为 1
  • stop(可选):生成停止的序列,可以是字符串或字符串数组
  • presence_penalty(可选):惩罚新主题的出现,介于 -2.0 和 2.0 之间,默认为 0
  • frequency_penalty(可选):惩罚基于现有频率的重复,介于 -2.0 和 2.0 之间,默认为 0
  • logit_bias(可选):修改特定令牌出现的可能性,默认为空对象
  • user(可选):代表终端用户的唯一标识符
  • response_format(可选):指定响应格式,如 {"type": "json_object"}

响应 (200)

json
{
  "id": "chatcmpl-123abc",
  "object": "chat.completion",
  "created": 1677858242,
  "model": "gpt-4o",
  "choices": [
    {
      "message": {
        "role": "assistant",
        "content": "这张图片显示了一只橘色的猫咪正在草地上休息。它看起来很放松,阳光照在它的毛发上。背景是一片绿色的草地,有几朵小花。"
      },
      "finish_reason": "stop",
      "index": 0
    }
  ],
  "usage": {
    "prompt_tokens": 82,
    "completion_tokens": 76,
    "total_tokens": 158
  }
}