大模型 API 测试 curl 命令大全(OpenAI 规范)


1. 环境准备

export OPENAI_API_KEY="your_api_key"
export BASE_URL="https://api.openai.com/v1"

2. 最小可用测试

curl $BASE_URL/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "model": "gpt-4.1",
    "messages": [{"role": "user", "content": "ping"}]
  }'

3. 基础对话

curl $BASE_URL/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "model": "gpt-4.1",
    "messages": [{"role": "user", "content": "介绍一下大模型"}]
  }'

4. System 风格控制

curl $BASE_URL/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "model": "gpt-4.1",
    "messages": [
      {"role": "system", "content": "你是一位严谨的技术专家"},
      {"role": "user", "content": "解释RAG"}
    ]
  }'

5. 多轮对话

curl $BASE_URL/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "model": "gpt-4.1",
    "messages": [
      {"role": "user", "content": "什么是Transformer"},
      {"role": "assistant", "content": "注意力模型"},
      {"role": "user", "content": "和RNN区别?"}
    ]
  }'

6. 流式输出

curl $BASE_URL/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -N \
  -d '{
    "model": "gpt-4.1",
    "stream": true,
    "messages": [{"role": "user", "content": "讲个故事"}]
  }'

说明:-N 用来关闭 curl 缓冲,否则你会感觉“不是实时输出”。


7. 控制生成参数

curl $BASE_URL/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "model": "gpt-4.1",
    "temperature": 0.7,
    "top_p": 0.9,
    "max_tokens": 500,
    "frequency_penalty": 0.3,
    "presence_penalty": 0.2,
    "messages": [
      {
        "role": "user",
        "content": "给我 5 个 AI 创业方向。"
      }
    ]
  }'

参数理解

  • temperature:越高越发散
  • top_p:核采样
  • max_tokens:限制最大输出长度
  • frequency_penalty:抑制重复
  • presence_penalty:鼓励引入新内容

8. JSON 输出

curl $BASE_URL/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "model": "gpt-4.1",
    "response_format": { "type": "json_object" },
    "messages": [
      {
        "role": "user",
        "content": "生成一个 JSON,包含字段 name、age、skills。"
      }
    ]
  }'

9. Function Calling

curl $BASE_URL/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "model": "gpt-4.1",
    "messages": [{"role": "user", "content": "查北京天气"}],
    "tools": [{
      "type": "function",
      "function": {
        "name": "get_weather",
        "description": "获取天气",
        "parameters": {
          "type": "object",
          "properties": {
            "city": {"type": "string"}
          },
          "required": ["city"]
        }
      }
    }],
    "tool_choice": "auto"
  }'

10. 多模态(图像识别)

curl $BASE_URL/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "model": "gpt-4.1",
    "messages": [{
      "role": "user",
      "content": [
        {"type": "text", "text": "图里是什么"},
        {"type": "image_url","image_url":{"url":"https://example.com/image.jpg"}}
      ]
    }]
  }'

11. Embedding

curl $BASE_URL/embeddings \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "model": "text-embedding-3-small",
    "input": "测试文本"
  }'

12. 并发压测

seq 1 10 | xargs -P 5 -I{} curl -s $BASE_URL/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{"model":"gpt-4.1","messages":[{"role":"user","content":"hello"}]}'
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐