88API88API
User GuideAI ApplicationsAPI ReferenceHelp & Support
Chat

Định dạng trò chuyện OpenAI (Hoàn thành trò chuyện)

Tài liệu chính thức

📝 Giới thiệu

Đưa ra danh sách các tin nhắn bao gồm một cuộc trò chuyện, mô hình sẽ trả về một phản hồi. Để biết các hướng dẫn liên quan, vui lòng tham khảo trang web chính thức của OpenAI: Hoàn thành trò chuyện

💡 Yêu cầu Ví dụ

Trò chuyện bằng văn bản cơ bản ✅

curl https://88api.ai/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $API_KEY" \
  -d '{
    "model": "gpt-4.1",
    "messages": [
      {
        "role": "developer",
        "content": "You are a helpful assistant."
      },
      {
        "role": "user",
        "content": "Hello!"
      }
    ]
  }'

Response Example:

{
  "id": "chatcmpl-B9MBs8CjcvOU2jLn4n570S5qMJKcT",
  "object": "chat.completion",
  "created": 1741569952,
  "model": "gpt-4.1-2025-04-14",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! How can I help you?",
        "refusal": null,
        "annotations": []
      },
      "logprobs": null,
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 19,
    "completion_tokens": 10,
    "total_tokens": 29,
    "prompt_tokens_details": {
      "cached_tokens": 0,
      "audio_tokens": 0
    },
    "completion_tokens_details": {
      "reasoning_tokens": 0,
      "audio_tokens": 0,
      "accepted_prediction_tokens": 0,
      "rejected_prediction_tokens": 0
    }
  },
  "service_tier": "default"
}

Trò chuyện phân tích hình ảnh ✅

curl https://88api.ai/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $API_KEY" \
  -d '{
    "model": "gpt-4.1",
    "messages": [
      {
        "role": "user",
        "content": [
          {
            "type": "text",
            "text": "What's in this image?"
          },
          {
            "type": "image_url",
            "image_url": {
              "url": "https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg"
            }
          }
        ]
      }
    ],
    "max_tokens": 300
  }'

Response Example:

{
  "id": "chatcmpl-B9MHDbslfkBeAs8l4bebGdFOJ6PeG",
  "object": "chat.completion",
  "created": 1741570283,
  "model": "gpt-4.1-2025-04-14",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "The image shows a wooden boardwalk path through dense green grass or meadow. The sky is bright blue with scattered clouds, creating a peaceful and serene atmosphere for the entire scene. Trees and shrubs can be seen in the background.",
        "refusal": null,
        "annotations": []
      },
      "logprobs": null,
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 1117,
    "completion_tokens": 46,
    "total_tokens": 1163,
    "prompt_tokens_details": {
      "cached_tokens": 0,
      "audio_tokens": 0
    },
    "completion_tokens_details": {
      "reasoning_tokens": 0,
      "audio_tokens": 0,
      "accepted_prediction_tokens": 0,
      "rejected_prediction_tokens": 0
    }
  },
  "service_tier": "default",
  "system_fingerprint": "fp_fc9f1d7035"
}

Phản hồi trực tuyến ✅

curl https://88api.ai/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $API_KEY" \
  -d '{
    "model": "gpt-4.1",
    "messages": [
      {
        "role": "developer",
        "content": "You are a helpful assistant."
      },
      {
        "role": "user",
        "content": "Hello!"
      }
    ],
    "stream": true
  }'

Streaming Response Example:

{"id":"chatcmpl-123","object":"chat.completion.chunk","created":1694268190,"model":"gpt-4o-mini", "system_fingerprint": "fp_44709d6fcb", "choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}]}

{"id":"chatcmpl-123","object":"chat.completion.chunk","created":1694268190,"model":"gpt-4o-mini", "system_fingerprint": "fp_44709d6fcb", "choices":[{"index":0,"delta":{"content":"Hello"},"logprobs":null,"finish_reason":null}]}

// ... more data chunks ...

{"id":"chatcmpl-123","object":"chat.completion.chunk","created":1694268190,"model":"gpt-4o-mini", "system_fingerprint": "fp_44709d6fcb", "choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}]}

Gọi hàm ✅

curl https://88api.ai/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $API_KEY" \
  -d '{
    "model": "gpt-4.1",
    "messages": [
      {
        "role": "user",
        "content": "What's the weather like in Boston today?"
      }
    ],
    "tools": [
      {
        "type": "function",
        "function": {
          "name": "get_current_weather",
          "description": "Get the current weather for a specified location",
          "parameters": {
            "type": "object",
            "properties": {
              "location": {
                "type": "string",
                "description": "City and state, e.g., San Francisco, CA"
              },
              "unit": {
                "type": "string",
                "enum": ["celsius", "fahrenheit"]
              }
            },
            "required": ["location"]
          }
        }
      }
    ],
    "tool_choice": "auto"
  }'

Response Example:

{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1699896916,
  "model": "gpt-4o-mini",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": null,
        "tool_calls": [
          {
            "id": "call_abc123",
            "type": "function",
            "function": {
              "name": "get_current_weather",
              "arguments": "{\n\"location\": \"Boston, MA\"\n}"
            }
          }
        ]
      },
      "logprobs": null,
      "finish_reason": "tool_calls"
    }
  ],
  "usage": {
    "prompt_tokens": 82,
    "completion_tokens": 17,
    "total_tokens": 99,
    "completion_tokens_details": {
      "reasoning_tokens": 0,
      "accepted_prediction_tokens": 0,
      "rejected_prediction_tokens": 0
    }
  }
}

Yêu cầu logprobs ✅

curl https://88api.ai/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $API_KEY" \
  -d '{
    "model": "gpt-4.1",
    "messages": [
      {
        "role": "user",
        "content": "Hello!"
      }
    ],
    "logprobs": true,
    "top_logprobs": 2
  }'

Response Example:

{
  "id": "chatcmpl-123",
  "object": "chat.completion",
  "created": 1702685778,
  "model": "gpt-4o-mini",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! How can I help you?"
      },
      "logprobs": {
        "content": [
          {
            "token": "Hello",
            "logprob": -0.31725305,
            "bytes": [72, 101, 108, 108, 111],
            "top_logprobs": [
              {
                "token": "Hello",
                "logprob": -0.31725305,
                "bytes": [72, 101, 108, 108, 111]
              },
              {
                "token": "Hi",
                "logprob": -1.3190403,
                "bytes": [72, 105]
              }
            ]
          },
          {
            "token": "!",
            "logprob": -0.02380986,
            "bytes": [33],
            "top_logprobs": [
              {
                "token": "!",
                "logprob": -0.02380986,
                "bytes": [33]
              },
              {
                "token": " there",
                "logprob": -3.787621,
                "bytes": [32, 116, 104, 101, 114, 101]
              }
            ]
          },
          {
            "token": " How",
            "logprob": -0.000054669687,
            "bytes": [32, 72, 111, 119],
            "top_logprobs": [
              {
                "token": " How",
                "logprob": -0.000054669687,
                "bytes": [32, 72, 111, 119]
              },
              {
                "token": "`<|end|>`",
                "logprob": -10.953937,
                "bytes": null
              }
            ]
          },
          {
            "token": " can",
            "logprob": -0.015801601,
            "bytes": [32, 99, 97, 110],
            "top_logprobs": [
              {
                "token": " can",
                "logprob": -0.015801601,
                "bytes": [32, 99, 97, 110]
              },
              {
                "token": " may",
                "logprob": -4.161023,
                "bytes": [32, 109, 97, 121]
              }
            ]
          },
          {
            "token": " I",
            "logprob": -3.7697225e-6,
            "bytes": [32, 73],
            "top_logprobs": [
              {
                "token": " I",
                "logprob": -3.7697225e-6,
                "bytes": [32, 73]
              },
              {
                "token": " assist",
                "logprob": -13.596657,
                "bytes": [32, 97, 115, 115, 105, 115, 116]
              }
            ]
          },
          {
            "token": " assist",
            "logprob": -0.04571125,
            "bytes": [32, 97, 115, 115, 105, 115, 116],
            "top_logprobs": [
              {
                "token": " assist",
                "logprob": -0.04571125,
                "bytes": [32, 97, 115, 115, 105, 115, 116]
              },
              {
                "token": " help",
                "logprob": -3.1089056,
                "bytes": [32, 104, 101, 108, 112]
              }
            ]
          },
          {
            "token": " you",
            "logprob": -5.4385737e-6,
            "bytes": [32, 121, 111, 117],
            "top_logprobs": [
              {
                "token": " you",
                "logprob": -5.4385737e-6,
                "bytes": [32, 121, 111, 117]
              },
              {
                "token": " today",
                "logprob": -12.807695,
                "bytes": [32, 116, 111, 100, 97, 121]
              }
            ]
          },
          {
            "token": " today",
            "logprob": -0.0040071653,
            "bytes": [32, 116, 111, 100, 97, 121],
            "top_logprobs": [
              {
                "token": " today",
                "logprob": -0.0040071653,
                "bytes": [32, 116, 111, 100, 97, 121]
              },
              {
                "token": "?",
                "logprob": -5.5247097,
                "bytes": [63]
              }
            ]
          },
          {
            "token": "?",
            "logprob": -0.0008108172,
            "bytes": [63],
            "top_logprobs": [
              {
                "token": "?",
                "logprob": -0.0008108172,
                "bytes": [63]
              },
              {
                "token": "?\n",
                "logprob": -7.184561,
                "bytes": [63, 10]
              }
            ]
          }
        ]
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 9,
    "completion_tokens": 9,
    "total_tokens": 18,
    "completion_tokens_details": {
      "reasoning_tokens": 0,
      "accepted_prediction_tokens": 0,
      "rejected_prediction_tokens": 0
    }
  },
  "system_fingerprint": null
}

📮 Yêu cầu

Điểm cuối

POST /v1/chat/completions

Tạo phản hồi mẫu cho một cuộc trò chuyện cụ thể. Để biết thêm chi tiết, vui lòng tham khảo hướng dẫn tạo văn bản, hình ảnh và âm thanh.

Phương thức xác thực

Bao gồm những điều sau đây trong tiêu đề yêu cầu để xác thực khóa API:

Authorization: Bearer $API_KEY

Trong đó $API_KEY là khóa API của bạn. Bạn có thể tìm hoặc tạo khóa API của mình trên trang khóa API của nền tảng OpenAI.

Thông số nội dung yêu cầu

messages

  • Kiểu: Mảng
  • Bắt buộc: Có

Danh sách các tin nhắn bao gồm cuộc trò chuyện cho đến nay. Tùy thuộc vào kiểu máy được sử dụng, các loại thông báo (biểu mẫu) khác nhau được hỗ trợ, chẳng hạn như văn bản, hình ảnh và âm thanh.

Loại tin nhắnMô tả
Thông báo của nhà phát triểnHướng dẫn của nhà phát triển, mô hình phải tuân theo các hướng dẫn này bất kể người dùng gửi tin nhắn gì. Trong các mẫu o1 và các phiên bản mới hơn, thông báo của nhà phát triển sẽ thay thế các thông báo hệ thống trước đó.
Thông báo hệ thốngHướng dẫn của nhà phát triển, mô hình phải tuân theo các hướng dẫn này bất kể người dùng gửi tin nhắn gì. Trong các mẫu o1 và các phiên bản mới hơn, vui lòng sử dụng thông báo của nhà phát triển.
Tin nhắn của người dùngTin nhắn được gửi bởi người dùng thiết bị đầu cuối, chứa lời nhắc hoặc thông tin ngữ cảnh bổ sung.
Tin nhắn trợ lýTin nhắn được mô hình gửi để phản hồi tin nhắn của người dùng.
Thông báo về công cụNội dung của tin nhắn công cụ.
Thông báo chức năngKhông dùng nữa.

Developer message Properties:

Bất động sảnLoạiBắt buộcMô tả
roleChuỗiVai trò của tác giả tin nhắn ở đây là "nhà phát triển".
contentChuỗi hoặc mảngNội dung tin nhắn của nhà phát triển. Có thể là nội dung văn bản (chuỗi) hoặc một mảng các phần nội dung.
nameChuỗiKhôngTên tùy chọn cho người tham gia. Cung cấp thông tin cho mô hình để phân biệt giữa những người tham gia có cùng vai trò.

System message Properties:

Bất động sảnLoạiBắt buộcMô tả
roleChuỗiVai trò của tác giả tin nhắn, ở đây là "hệ thống".
contentChuỗi hoặc mảngNội dung tin nhắn của hệ thống. Có thể là nội dung văn bản (chuỗi) hoặc một mảng các phần nội dung.
nameChuỗiKhôngTên tùy chọn cho người tham gia. Cung cấp thông tin cho mô hình để phân biệt giữa những người tham gia có cùng vai trò.

User message Properties:

Bất động sảnLoạiBắt buộcMô tả
roleChuỗiVai trò của tác giả tin nhắn, ở đây là "người dùng".
contentChuỗi hoặc mảngNội dung tin nhắn của người dùng. Có thể là nội dung văn bản (chuỗi) hoặc một mảng các phần nội dung.
nameChuỗiKhôngTên tùy chọn cho người tham gia. Cung cấp thông tin cho mô hình để phân biệt giữa những người tham gia có cùng vai trò.

Content Part Types:

Loại phần nội dungMô tảCó thể được sử dụng cho
Phần nội dung văn bảnNhập văn bản.Tất cả các loại tin nhắn
Phần nội dung hình ảnhĐầu vào hình ảnh.Tin nhắn của người dùng
Phần nội dung âm thanhĐầu vào âm thanh.Tin nhắn của người dùng
Phần nội dung tệpĐầu vào tập tin, được sử dụng để tạo văn bản.Tin nhắn của người dùng
Phần nội dung từ chốiThông báo từ chối do mô hình tạo ra.Tin nhắn trợ lý

Text Content Part Properties:

Bất động sảnLoạiBắt buộcMô tả
textChuỗiNội dung văn bản.
typeChuỗiPhần loại nội dung.

Image Content Part Properties:

Bất động sảnLoạiBắt buộcMô tả
image_urlĐối tượngChứa URL hình ảnh hoặc dữ liệu hình ảnh được mã hóa base64.
typeChuỗiPhần loại nội dung.

Image URL Object Properties:

Bất động sảnLoạiBắt buộcMô tả
urlChuỗiURL của hình ảnh hoặc dữ liệu hình ảnh được mã hóa base64.
detailChuỗiKhôngChỉ định mức độ chi tiết của hình ảnh. Mặc định là "tự động".

Audio Content Part Properties:

Bất động sảnLoạiBắt buộcMô tả
input_audioĐối tượngChứa một đối tượng có dữ liệu âm thanh.
typeChuỗiPhần loại nội dung. Luôn là "input_audio".

Audio Input Object Properties:

Bất động sảnLoạiBắt buộcMô tả
dataChuỗiDữ liệu âm thanh được mã hóa Base64.
formatChuỗiĐịnh dạng của dữ liệu âm thanh được mã hóa. Hiện hỗ trợ "wav" và "mp3".

File Content Part Properties:

Bất động sảnLoạiBắt buộcMô tả
fileĐối tượngChứa một đối tượng với dữ liệu tệp.
typeChuỗiPhần loại nội dung. Luôn luôn "tập tin".

File Object Properties:

Bất động sảnLoạiBắt buộcMô tả
file_dataChuỗiKhôngDữ liệu tệp được mã hóa Base64, được sử dụng để truyền tệp dưới dạng chuỗi tới mô hình.
file_idChuỗiKhôngID của tệp đã tải lên, được sử dụng làm đầu vào.
filenameChuỗiKhôngTên tệp, được sử dụng để truyền tệp dưới dạng chuỗi tới mô hình.

Assistant message Properties:

Bất động sảnLoạiBắt buộcMô tả
roleChuỗiVai trò của người soạn tin nhắn ở đây là "trợ lý".
contentChuỗi hoặc mảngKhôngNội dung tin nhắn trợ lý. Bắt buộc trừ khi tool_calls hoặc function_call được chỉ định.
nameChuỗiKhôngTên tùy chọn cho người tham gia. Cung cấp thông tin cho mô hình để phân biệt giữa những người tham gia có cùng vai trò.
audioĐối tượng hoặc nullKhôngDữ liệu về phản hồi âm thanh trước đó của mô hình.
function_callĐối tượng hoặc nullKhôngKhông được dùng nữa, được thay thế bằng tool_calls. Tên và tham số của hàm được gọi do mô hình tạo ra.
tool_callsMảngKhôngCác lệnh gọi công cụ do mô hình tạo ra, chẳng hạn như các lệnh gọi hàm.
refusalChuỗi hoặc nullKhôngTin nhắn từ chối của trợ lý.

Tool message Properties:

Tài sảnLoạiBắt buộcMô tả
roleChuỗiVai trò của tác giả tin nhắn ở đây là "công cụ".
contentChuỗi hoặc mảngNội dung tin nhắn của công cụ.
tool_call_idChuỗiCuộc gọi công cụ liên quan đến phản hồi tin nhắn này.

Function message Properties (Deprecated):

Bất động sảnLoạiBắt buộcMô tả
roleChuỗiVai trò của tác giả tin nhắn, ở đây là "chức năng".
contentChuỗi hoặc nullNội dung của thông báo chức năng.
nameChuỗiTên của hàm được gọi.

model

  • Loại: Chuỗi
  • Bắt buộc: Có

ID của mô hình sẽ sử dụng. Để biết chi tiết về những mô hình tương thích với API Chat, vui lòng tham khảo bảng khả năng tương thích điểm cuối của mô hình.

store

  • Kiểu: Boolean hoặc null
  • Bắt buộc: Không
  • Mặc định: sai

Liệu có lưu trữ kết quả của yêu cầu hoàn thành cuộc trò chuyện này cho các sản phẩm đánh giá hoặc chắt lọc mô hình của chúng tôi hay không.

reasoning_effort

  • Kiểu: Chuỗi hoặc null
  • Bắt buộc: Không
  • Mặc định: trung bình
  • Chỉ áp dụng cho dòng máy o-series

Ràng buộc nỗ lực suy luận của mô hình lý luận. Các giá trị được hỗ trợ hiện tại là low, mediumhigh. Giảm nỗ lực suy luận có thể tăng tốc độ phản hồi và giảm số lượng mã thông báo được sử dụng để suy luận trong phản hồi.

metadata

  • Loại: bản đồ
  • Bắt buộc: Không

Một tập hợp gồm 16 cặp khóa-giá trị có thể được gắn vào đối tượng. Điều này hữu ích để lưu trữ thông tin khác về đối tượng ở định dạng có cấu trúc và truy vấn đối tượng thông qua API hoặc trang tổng quan.

Khóa là chuỗi có độ dài tối đa 64 ký tự. Giá trị là chuỗi có độ dài tối đa 512 ký tự.

modalities

  • Kiểu: Mảng hoặc null
  • Bắt buộc: Không

Các loại đầu ra mà bạn muốn mô hình tạo ra cho yêu cầu này. Hầu hết các mô hình đều có thể tạo văn bản, đây là mặc định: ["text"]

Mô hình này cũng có thể được sử dụng để tạo ra âm thanh. Để yêu cầu mô hình tạo đồng thời cả phản hồi văn bản và âm thanh, bạn có thể sử dụng: ["text", "audio"]

prediction

  • Loại: Đối tượng
  • Bắt buộc: Không

Cấu hình cho đầu ra dự đoán, khi bạn biết trước hầu hết nội dung của phản hồi mô hình, nó có thể cải thiện đáng kể thời gian phản hồi. Điều này phổ biến nhất khi bạn chỉ thực hiện những thay đổi nhỏ đối với một tệp.

Possible Types:

LoạiMô tả
Nội dung tĩnhNội dung đầu ra được dự đoán tĩnh, ví dụ: nội dung văn bản của tệp có những thay đổi nhỏ đang được tạo lại.

Static Content Properties:

Bất động sảnLoạiBắt buộcMô tả
contentChuỗi hoặc mảngNội dung cần khớp khi tạo phản hồi mô hình. Nếu mã thông báo được tạo khớp với nội dung này thì toàn bộ phản hồi của mô hình có thể trả về nhanh hơn.
typeChuỗiLoại nội dung được dự đoán sẽ cung cấp. Hiện tại, loại luôn là "nội dung".

Possible Content Types:

  1. Nội dung văn bản (Chuỗi) - Nội dung cho đầu ra được dự đoán. Đây thường là văn bản của tệp bạn đang tạo lại, chỉ có những thay đổi nhỏ.

  2. Mảng phần nội dung (Mảng) - Mảng các phần nội dung có kiểu được xác định. Các tùy chọn được hỗ trợ khác nhau tùy thuộc vào kiểu máy được sử dụng để tạo phản hồi. Có thể bao gồm nhập văn bản.

Content Part Array Properties:

Bất động sảnLoạiBắt buộcMô tả
textChuỗiNội dung văn bản.
typeChuỗiPhần loại nội dung.

audio

  • Kiểu: Đối tượng hoặc null
  • Bắt buộc: Không

Các thông số cho đầu ra âm thanh. Cần thiết khi yêu cầu đầu ra âm thanh với modalities: ["audio"].

Bất động sảnLoạiBắt buộcMô tả
formatChuỗiChỉ định định dạng âm thanh đầu ra. Phải là một trong: wav, mp3, flac, opus hoặc pcm16.
voiceChuỗiGiọng nói được người mẫu sử dụng để trả lời. Các giọng được hỗ trợ bao gồm: hợp kim, tro, ballad, san hô, tiếng vang, truyện ngụ ngôn, nova, mã não, cây xô thơm và ánh sáng lung linh.

temperature

  • Kiểu: Số hoặc null
  • Bắt buộc: Không
  • Mặc định: 1

Nhiệt độ lấy mẫu sẽ sử dụng, từ 0 đến 2. Giá trị cao hơn (ví dụ: 0,8) làm cho đầu ra ngẫu nhiên hơn, trong khi giá trị thấp hơn (ví dụ: 0,2) làm cho đầu ra tập trung và mang tính xác định hơn. Chúng tôi thường khuyên bạn nên thay đổi giá trị này hoặc top_p, nhưng không nên thay đổi cả hai.

top_p

  • Kiểu: Số hoặc null
  • Bắt buộc: Không
  • Mặc định: 1

Một giải pháp thay thế cho nhiệt độ lấy mẫu, được gọi là lấy mẫu hạt nhân, trong đó mô hình xem xét kết quả của các mã thông báo có khối lượng xác suất top_p. Do đó, 0,1 có nghĩa là chỉ xem xét các mã thông báo có khối lượng xác suất 10% cao nhất.

Chúng tôi thường khuyên bạn nên thay đổi giá trị này hoặc temperature, nhưng không nên thay đổi cả hai.

n

  • Kiểu: Số nguyên hoặc null
  • Bắt buộc: Không
  • Mặc định: 1

Số lần hoàn thành trò chuyện cần tạo cho mỗi tin nhắn đầu vào. Lưu ý rằng bạn sẽ bị tính phí cho tổng số mã thông báo được tạo trên tất cả các lựa chọn. Giữ n đến 1 có thể giảm thiểu chi phí.

stop

  • Kiểu: Chuỗi/Mảng/null
  • Bắt buộc: Không
  • Mặc định: null
  • Không được hỗ trợ bởi các mô hình suy luận mới nhất và .o3, o4-mini

API sẽ ngừng tạo thêm mã thông báo cho tối đa 4 chuỗi. Văn bản trả về sẽ không bao gồm chuỗi dừng.

max_tokens

  • Kiểu: Số nguyên hoặc null
  • Bắt buộc: Không

Số lượng mã thông báo tối đa có thể được tạo khi hoàn thành trò chuyện. Giá trị này có thể được sử dụng để kiểm soát chi phí văn bản được tạo thông qua API.

Giá trị này hiện không còn được dùng nữa, được thay thế bằng max_completion_tokens và không tương thích với các mẫu dòng .o1.

max_completion_tokens

  • Kiểu: Số nguyên hoặc null
  • Bắt buộc: Không

Giới hạn trên của mã thông báo có thể được tạo khi hoàn thành, bao gồm mã thông báo đầu ra hiển thị và mã thông báo lý luận.

presence_penalty

  • Kiểu: Số hoặc null
  • Bắt buộc: Không
  • Mặc định: 0

Một số từ -2.0 đến 2.0. Các giá trị tích cực sẽ xử phạt các mã thông báo mới dựa trên sự xuất hiện của chúng cho đến nay trong văn bản, do đó làm tăng khả năng thảo luận về các chủ đề mới của mô hình.

frequency_penalty

  • Kiểu: Số hoặc null
  • Bắt buộc: Không
  • Mặc định: 0

Một số từ -2.0 đến 2.0. Các giá trị dương sẽ xử phạt các mã thông báo mới dựa trên tần suất hiện có của chúng cho đến nay trong văn bản, do đó làm giảm khả năng lặp lại cùng một dòng từng từ của mô hình.

logit_bias

  • Loại: bản đồ
  • Bắt buộc: Không
  • Mặc định: null

Sửa đổi khả năng các mã thông báo được chỉ định xuất hiện khi hoàn thành.

Chấp nhận một đối tượng JSON ánh xạ mã thông báo (được chỉ định bởi ID mã thông báo trong mã thông báo) tới các giá trị độ lệch liên quan từ -100 đến 100. Về mặt toán học, độ lệch được thêm vào nhật ký của mô hình trước khi lấy mẫu. Hiệu ứng chính xác có thể khác nhau tùy theo mô hình, nhưng các giá trị từ -1 đến 1 sẽ làm giảm hoặc tăng khả năng lựa chọn; các giá trị như -100 hoặc 100 sẽ dẫn đến việc các mã thông báo có liên quan bị cấm hoặc được chọn độc quyền.

logprobs

  • Kiểu: Boolean hoặc null
  • Bắt buộc: Không
  • Mặc định: sai

Có trả về xác suất nhật ký cho mã thông báo đầu ra hay không. Nếu đúng, trả về xác suất nhật ký cho mỗi mã thông báo đầu ra trong message.content.

user

  • Loại: Chuỗi
  • Bắt buộc: Không

Mã định danh duy nhất cho người dùng cuối cùng, giúp OpenAI giám sát và phát hiện hành vi lạm dụng. Tìm hiểu thêm.

service_tier

  • Kiểu: Chuỗi hoặc null
  • Bắt buộc: Không
  • Mặc định: tự động

Chỉ định mức độ trễ để xử lý yêu cầu. Tham số này phù hợp với khách hàng đã đăng ký dịch vụ theo cấp độ quy mô:

  • Nếu được đặt thành 'tự động' và dự án được bật cho Cấp quy mô, hệ thống sẽ sử dụng tín dụng của cấp quy mô cho đến khi hết
  • Nếu được đặt thành 'tự động' và dự án không được bật cho Cấp quy mô, thì yêu cầu sẽ được xử lý bằng cấp dịch vụ mặc định, với SLA thời gian hoạt động bình thường thấp hơn và không đảm bảo độ trễ
  • Nếu được đặt thành 'mặc định', yêu cầu sẽ được xử lý bằng cấp dịch vụ mặc định, với SLA thời gian hoạt động bình thường thấp hơn và không đảm bảo độ trễ
  • Nếu được đặt thành 'flex', yêu cầu sẽ được xử lý bằng tầng dịch vụ Flex Treatment. Để biết chi tiết, vui lòng tham khảo tài liệu.
  • Khi không được đặt, hành vi mặc định là 'tự động'
  • Khi tham số này được đặt, nội dung phản hồi sẽ bao gồm service_tier đã sử dụng

stream_options

  • Kiểu: Đối tượng hoặc null
  • Bắt buộc: Không
  • Mặc định: null

Tùy chọn để truyền phát phản hồi. Chỉ được sử dụng khi stream: true.

Possible Properties:

Bất động sảnLoạiBắt buộcMô tả
include_usageBooleanKhôngNếu được đặt, một khối bổ sung sẽ được phát trực tuyến trước thông báo dữ liệu: [DONE]. Trường sử dụng trên khối này hiển thị số liệu thống kê sử dụng mã thông báo cho toàn bộ yêu cầu và trường lựa chọn luôn là một mảng trống. Tất cả các khối khác cũng sẽ bao gồm trường sử dụng, nhưng giá trị của nó sẽ là null. Lưu ý: Nếu luồng bị gián đoạn, bạn có thể không nhận được khối sử dụng cuối cùng chứa tổng mức sử dụng mã thông báo của yêu cầu.

response_format

  • Loại: Đối tượng
  • Bắt buộc: Không

Chỉ định định dạng mà mô hình phải xuất ra.

  • Đặt thành { "type": "json_schema", "json_schema": {...} } để kích hoạt kết quả đầu ra có cấu trúc, đảm bảo mô hình phù hợp với lược đồ JSON được cung cấp của bạn.
  • Đặt thành { "type": "json_object" } để kích hoạt chế độ JSON, đảm bảo các thông báo được tạo ra là JSON hợp lệ.

Lưu ý quan trọng: Khi sử dụng chế độ JSON, bạn cũng phải hướng dẫn rõ ràng cho mô hình cách tạo JSON thông qua thông báo của hệ thống hoặc người dùng. Nếu không, mô hình có thể tạo ra các khoảng trống vô tận cho đến khi đạt đến giới hạn mã thông báo.

Possible Types:

LoạiMô tả
văn bảnĐịnh dạng phản hồi mặc định. Được sử dụng để tạo phản hồi văn bản.
json_schemaĐịnh dạng phản hồi Lược đồ JSON. Được sử dụng để tạo phản hồi JSON có cấu trúc. Tìm hiểu thêm về đầu ra có cấu trúc.
json_objectĐịnh dạng phản hồi đối tượng JSON. Một phương pháp cũ hơn để tạo phản hồi JSON. Đối với các mô hình được hỗ trợ, chúng tôi khuyên bạn nên sử dụng json_schema.

text Properties:

Bất động sảnLoạiBắt buộcMô tả
typeChuỗiLoại định dạng phản hồi đang được xác định. Luôn luôn "nhắn tin".

json_schema Properties:

Bất động sảnLoạiBắt buộcMô tả
json_schemaĐối tượngCác tùy chọn cấu hình đầu ra có cấu trúc, bao gồm Lược đồ JSON.
typeChuỗiLoại định dạng phản hồi đang được xác định. Luôn là "json_schema".

json_schema.json_schema Properties:

Bất động sảnLoạiBắt buộcMô tả
nameChuỗiTên của định dạng phản hồi. Phải là a-z, A-Z, 0-9 hoặc chứa dấu gạch dưới và dấu gạch nối, với độ dài tối đa là 64.
descriptionChuỗiKhôngMô tả về mục đích của định dạng phản hồi, được mô hình sử dụng để xác định cách phản hồi theo định dạng đó.
schemaĐối tượngKhôngLược đồ của định dạng phản hồi, được mô tả dưới dạng đối tượng Lược đồ JSON.
strictBoolean hoặc nullKhôngCó bật tính năng tuân thủ lược đồ nghiêm ngặt khi tạo đầu ra hay không. Nếu được đặt thành true, mô hình sẽ luôn tuân theo lược đồ chính xác được xác định trong trường lược đồ. strict là đúng, chỉ hỗ trợ một tập hợp con của Lược đồ JSON.

json_object Properties:

Bất động sảnLoạiBắt buộcMô tả
typeChuỗiLoại định dạng phản hồi đang được xác định. Luôn là "json_object".

seed

  • Kiểu: Số nguyên hoặc null
  • Bắt buộc: Không Tính năng beta. Nếu được chỉ định, hệ thống của chúng tôi sẽ cố gắng hết sức để thực hiện lấy mẫu xác định, do đó, các yêu cầu lặp lại có cùng hạt giống và thông số sẽ trả về cùng một kết quả. Không đảm bảo tính xác định, bạn nên tham khảo system_fingerprint của các tham số phản hồi để theo dõi các thay đổi phụ trợ.

tools

  • Kiểu: Mảng
  • Bắt buộc: Không

Danh sách các công cụ mà mô hình có thể gọi. Hiện tại, chỉ có các chức năng được hỗ trợ dưới dạng công cụ. Sử dụng tham số này để cung cấp danh sách các hàm mà mô hình có thể tạo đầu vào JSON. Lên đến 128 chức năng được hỗ trợ.

Properties:

Bất động sảnLoạiBắt buộcMô tả
functionĐối tượngThông tin về hàm được gọi
typeChuỗiLoại công cụ. Hiện tại, chỉ có chức năng được hỗ trợ.

function Properties:

Bất động sảnLoạiBắt buộcMô tả
nameChuỗiTên của hàm được gọi. Phải là a-z, A-Z, 0-9 hoặc chứa dấu gạch dưới và dấu gạch nối, với độ dài tối đa là 64.
descriptionChuỗiKhôngMô tả về chức năng của hàm, được mô hình sử dụng để xác định thời điểm và cách gọi hàm.
parametersĐối tượngKhôngCác tham số được hàm chấp nhận, được mô tả dưới dạng đối tượng Lược đồ JSON. Vui lòng tham khảo hướng dẫn để biết ví dụ và tham chiếu Lược đồ JSON để biết tài liệu về định dạng. Việc bỏ qua định nghĩa tham số sẽ dẫn đến danh sách tham số trống cho hàm.
strictBoolean hoặc nullKhôngMặc định: sai. Có bật tính năng tuân thủ lược đồ nghiêm ngặt khi tạo lệnh gọi hàm hay không. Nếu được đặt thành true, mô hình sẽ tuân theo lược đồ chính xác được xác định trong trường tham số. strict là đúng, chỉ hỗ trợ một tập hợp con của Lược đồ JSON. Để biết chi tiết, vui lòng tham khảo phần đầu ra có cấu trúc của hướng dẫn gọi hàm.

functions

  • Kiểu: Mảng
  • Bắt buộc: Không
  • Lưu ý: Không dùng nữa, khuyến khích sử dụng tools

Danh sách các hàm mà mô hình có thể tạo đầu vào JSON.

Bất động sảnLoạiBắt buộcMô tả
nameChuỗiTên của hàm được gọi. Phải là a-z, A-Z, 0-9 hoặc chứa dấu gạch dưới và dấu gạch nối, với độ dài tối đa là 64.
descriptionChuỗiKhôngMô tả về chức năng của hàm, được mô hình sử dụng để xác định thời điểm và cách gọi hàm.
parametersĐối tượngKhôngCác tham số được hàm chấp nhận, được mô tả dưới dạng đối tượng Lược đồ JSON. Việc bỏ qua định nghĩa tham số sẽ dẫn đến danh sách tham số trống cho hàm.

tool_choice

  • Kiểu: Chuỗi hoặc đối tượng
  • Bắt buộc: Không

Kiểm soát công cụ nào (nếu có) mà mô hình sẽ gọi:

  • none: Model sẽ không gọi bất kỳ công cụ nào mà tạo ra thông báo
  • auto: Model có thể lựa chọn giữa việc tạo tin nhắn hoặc gọi một hoặc nhiều công cụ
  • required: Model phải gọi một hoặc nhiều công cụ
  • {"type": "function", "function": {"name": "my_function"}}: Buộc model gọi một công cụ cụ thể

Mặc định là none khi không có công cụ nào và là auto khi có công cụ.

Possible Types:

LoạiMô tả
Chuỗikhông có nghĩa là mô hình sẽ không gọi bất kỳ công cụ nào mà tạo ra một thông báo. tự động có nghĩa là mô hình có thể chọn giữa việc tạo tin nhắn hoặc gọi một hoặc nhiều công cụ. bắt buộc có nghĩa là mô hình phải gọi một hoặc nhiều công cụ.
Đối tượngChỉ định công cụ mà mô hình nên sử dụng. Được sử dụng để buộc mô hình gọi một hàm cụ thể.

Object Properties:

Bất động sảnLoạiBắt buộcMô tả
functionĐối tượngChứa một đối tượng có thông tin chức năng
typeChuỗiLoại công cụ. Hiện tại, chỉ có chức năng được hỗ trợ.

function Properties:

Bất động sảnLoạiBắt buộcMô tả
nameChuỗiTên của hàm được gọi.

function_call

  • Kiểu: Chuỗi hoặc đối tượng
  • Bắt buộc: Không
  • Mặc định: none khi không có chức năng, auto khi có chức năng
  • Lưu ý: Không dùng nữa, khuyến khích sử dụng tool_choice

Kiểm soát chức năng nào (nếu có) mà mô hình sẽ gọi:

  • none: Model sẽ không gọi bất kỳ hàm nào mà tạo ra một thông báo
  • auto: Model có thể lựa chọn giữa việc tạo thông báo hoặc gọi hàm
  • {"name": "my_function"}: Buộc model gọi một hàm cụ thể

Object Type Properties:

Bất động sảnLoạiBắt buộcMô tả
nameChuỗiTên của hàm được gọi.

parallel_tool_calls

  • Kiểu: Boolean
  • Bắt buộc: Không
  • Mặc định: đúng

Có bật các lệnh gọi chức năng song song trong quá trình sử dụng công cụ hay không.

stream

  • Kiểu: Boolean hoặc null
  • Bắt buộc: Không
  • Mặc định: sai

Nếu được đặt thành true, dữ liệu phản hồi của mô hình sẽ được truyền trực tuyến đến máy khách thông qua các sự kiện do máy chủ gửi. Vui lòng tham khảo phần phản hồi phát trực tuyến bên dưới để biết thêm thông tin và hướng dẫn phản hồi phát trực tuyến để biết cách xử lý các sự kiện phát trực tuyến.

top_logprobs

  • Kiểu: Số nguyên hoặc null
  • Bắt buộc: Không

Một số nguyên từ 0 đến 20, chỉ định số lượng mã thông báo có khả năng xảy ra nhất ở mỗi vị trí mã thông báo, mỗi vị trí có xác suất nhật ký liên quan. Nếu tham số này được sử dụng, logprobs phải đúng.

web_search_options

  • Loại: Đối tượng
  • Bắt buộc: Không

Công cụ này tìm kiếm trên web để có được kết quả phù hợp cho câu trả lời. Tìm hiểu thêm về công cụ tìm kiếm trên web.

Possible Properties:

Bất động sảnLoạiBắt buộcMô tả
search_context_sizeChuỗiKhôngHướng dẫn nâng cao về kích thước cửa sổ ngữ cảnh cho tìm kiếm. Các giá trị tùy chọn là thấp, trung bình hoặc cao. phương tiện là mặc định.
user_locationĐối tượng hoặc nullKhôngThông số vị trí gần đúng cho tìm kiếm.

user_location Properties:

Bất động sảnLoạiBắt buộcMô tả
approximateĐối tượngThông số vị trí gần đúng cho tìm kiếm.

approximate Properties:

Bất động sảnLoạiBắt buộcMô tả
cityChuỗiKhôngNhập văn bản tự do cho thành phố của người dùng, ví dụ: San Francisco.
countryChuỗiKhôngMã quốc gia ISO gồm hai chữ cái của người dùng, ví dụ: Hoa Kỳ.
regionChuỗiKhôngNhập văn bản tự do cho khu vực của người dùng, ví dụ: California.
timezoneChuỗiKhôngMúi giờ IANA của người dùng, ví dụ: America/Los_Angeles.
typeChuỗiCác loại xấp xỉ vị trí. Luôn luôn "gần đúng".

📥 Phản hồi

Đối tượng hoàn thành trò chuyện

Trả về đối tượng hoàn thành trò chuyện hoặc luồng đối tượng đoạn hoàn thành trò chuyện nếu yêu cầu được truyền trực tuyến.

id

  • Loại: Chuỗi
  • Mô tả: Mã định danh duy nhất của phản hồi

object

  • Loại: Chuỗi
  • Mô tả: Kiểu đối tượng, giá trị "chat.completion"

created

  • Kiểu: Số nguyên
  • Mô tả: Dấu thời gian tạo phản hồi

model

  • Loại: Chuỗi
  • Mô tả: Tên model sử dụng

system_fingerprint

  • Loại: Chuỗi
  • Mô tả: Mã nhận dạng vân tay hệ thống, đại diện cho cấu hình phụ trợ của quá trình chạy mô hình. Có thể được sử dụng cùng với tham số yêu cầu hạt giống để hiểu thời điểm xảy ra các thay đổi phụ trợ có thể ảnh hưởng đến tính quyết định.

choices

  • Kiểu: Mảng
  • Mô tả: Danh sách các phương án phản hồi được tạo ra. Nếu n lớn hơn 1 thì có thể có nhiều lựa chọn.
  • Của cải:
  • index: Chỉ số của tùy chọn trong danh sách tùy chọn.
  • message: Thông báo hoàn thành trò chuyện do mô hình tạo ra.
  • role: Vai trò của người soạn tin nhắn.
  • content: Nội dung tin nhắn, có thể rỗng.
  • refusal: Thông báo từ chối do mô hình tạo ra, có thể rỗng.
  • annotations: Chú thích cho tin nhắn, được cung cấp khi áp dụng, ví dụ: khi sử dụng công cụ tìm kiếm trên web.
  • type: Kiểu chú thích. Luôn "url_cite" khi đó là tham chiếu URL.
  • url_citation: URL tham chiếu trong tin nhắn.
  • start_index: Chỉ mục ký tự đầu tiên của tham chiếu URL trong tin nhắn.
  • end_index: Chỉ mục ký tự cuối cùng của tham chiếu URL trong tin nhắn.
  • url: URL của tài nguyên mạng.
  • title: Tiêu đề của tài nguyên mạng.
  • audio: Nếu phương thức đầu ra âm thanh được yêu cầu, đối tượng này chứa dữ liệu từ phản hồi âm thanh của mô hình.
  • data: Các byte âm thanh được mã hóa Base64 của model, theo định dạng được chỉ định trong yêu cầu.
  • id: Mã định danh duy nhất cho phản hồi âm thanh này.
  • transcript: Phiên âm âm thanh của mô hình.
  • expires_at: Dấu thời gian Unix (giây) mà tại đó phản hồi âm thanh này có sẵn cho các cuộc hội thoại nhiều lượt trên máy chủ.
  • function_call: (Không dùng nữa) Tên và tham số của hàm được gọi, do mô hình tạo ra. Thay thế bằng tool_calls.
  • name: Tên hàm cần gọi.
  • arguments: Các tham số cần truyền vào hàm, do model tạo ra ở định dạng JSON.
  • tool_calls: Lệnh gọi công cụ do mô hình tạo ra, chẳng hạn như lệnh gọi hàm.
  • id: ID của lệnh gọi công cụ.
  • type: Loại công cụ. Hiện tại, chỉ có chức năng được hỗ trợ.
  • function: Hàm được mô hình gọi.
  • name: Tên hàm cần gọi.
  • arguments: Các tham số cần truyền vào hàm, do model tạo ra ở định dạng JSON. Lưu ý rằng mô hình không phải lúc nào cũng tạo ra JSON hợp lệ và có thể tạo ra các tham số không được xác định trong lược đồ hàm của bạn. Trước khi gọi hàm, vui lòng xác thực các tham số trong mã của bạn.
  • logprobs: Log thông tin xác suất.
  • content: Danh sách các token nội dung tin nhắn với thông tin xác suất log.
  • token: Mã thông báo.
  • logprob: Xác suất log của token này, nếu nó nằm trong top 20 token có khả năng xảy ra cao nhất. Mặt khác, giá trị -9999.0 được sử dụng để cho biết mã thông báo này rất khó xảy ra.
  • bytes: Danh sách các số nguyên biểu thị byte UTF-8 của token. Điều này hữu ích khi một ký tự được biểu thị bằng nhiều mã thông báo và cách biểu diễn byte của chúng phải được kết hợp để tạo ra cách biểu diễn văn bản chính xác. Nếu mã thông báo không có biểu diễn byte thì nó có thể rỗng.
  • top_logprobs: Danh sách các token có khả năng xảy ra cao nhất ở vị trí token này và xác suất nhật ký của chúng. Trong một số trường hợp hiếm hoi, số lượng top_logprobs được trả về có thể ít hơn số lượng được yêu cầu.
  • refusal: Danh sách các token từ chối tin nhắn với thông tin xác suất nhật ký.
  • finish_reason: Lý do mô hình ngừng tạo token. Nếu mô hình đạt đến điểm dừng tự nhiên hoặc được cung cấp trình tự dừng thì đó là "dừng"; nếu đã đạt đến số lượng mã thông báo tối đa được chỉ định trong yêu cầu thì đó là "độ dài"; nếu nội dung bị bỏ qua do bộ lọc nội dung thì đó là "content_filter"; nếu mô hình gọi là một công cụ thì đó là "tool_calls"; nếu mô hình gọi một hàm thì đó là "function_call" (không được dùng nữa).

usage

  • Loại: Đối tượng
  • Mô tả: Thống kê sử dụng cho yêu cầu hoàn thành.
  • Của cải:
  • prompt_tokens: Số lượng token trong dấu nhắc.
  • completion_tokens: Số lượng token khi hoàn thành được tạo ra.
  • total_tokens: Tổng số token được sử dụng trong yêu cầu (nhắc + hoàn thành).
  • prompt_tokens_details: Bảng phân tích các token được sử dụng trong lời nhắc.
  • cached_tokens: Các token được lưu trong bộ nhớ cache trong lời nhắc.
  • audio_tokens: Mã thông báo đầu vào âm thanh trong lời nhắc.
  • completion_tokens_details: Bảng phân tích các token được sử dụng khi hoàn thành.
  • reasoning_tokens: Các token lý luận do mô hình tạo ra.
  • audio_tokens: Mã thông báo âm thanh do mô hình tạo ra.
  • accepted_prediction_tokens: Số lượng token trong đầu ra được dự đoán xuất hiện khi hoàn thành khi sử dụng đầu ra được dự đoán.
  • rejected_prediction_tokens: Số lượng token trong đầu ra được dự đoán không xuất hiện khi hoàn thành khi sử dụng đầu ra được dự đoán. Tuy nhiên, giống như mã thông báo lý luận, các mã thông báo này vẫn được tính vào tổng số mã thông báo hoàn thành cho giới hạn thanh toán, đầu ra và cửa sổ ngữ cảnh.

service_tier

  • Kiểu: Chuỗi hoặc null
  • Mô tả: Chỉ định mức độ trễ để xử lý yêu cầu. Tham số này phù hợp với khách hàng đã đăng ký dịch vụ theo cấp độ quy mô:
  • Nếu được đặt thành 'tự động' và dự án được bật cho Cấp quy mô, hệ thống sẽ sử dụng tín dụng của cấp quy mô cho đến khi hết
  • Nếu được đặt thành 'tự động' và dự án không được bật cho Cấp quy mô, thì yêu cầu sẽ được xử lý bằng cấp dịch vụ mặc định, với SLA thời gian hoạt động bình thường thấp hơn và không đảm bảo độ trễ
  • Nếu được đặt thành 'mặc định', yêu cầu sẽ được xử lý bằng cấp dịch vụ mặc định, với SLA thời gian hoạt động bình thường thấp hơn và không đảm bảo độ trễ
  • Nếu được đặt thành 'flex', yêu cầu sẽ được xử lý bằng tầng dịch vụ Flex Treatment. Để biết chi tiết, vui lòng tham khảo tài liệu.
  • Khi không được đặt, hành vi mặc định là 'tự động'
  • Khi tham số này được đặt, nội dung phản hồi sẽ bao gồm service_tier đã sử dụng

Ví dụ về phản hồi đối tượng hoàn thành trò chuyện

{
  "id": "chatcmpl-B9MHDbslfkBeAs8l4bebGdFOJ6PeG",
  "object": "chat.completion",
  "created": 1741570283,
  "model": "gpt-4o-2024-08-06",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "The image shows a wooden boardwalk path through dense green grass or meadow. The sky is bright blue with scattered clouds, creating a peaceful and serene atmosphere for the entire scene. Trees and shrubs can be seen in the background.",
        "refusal": null,
        "annotations": []
      },
      "logprobs": null,
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 1117,
    "completion_tokens": 46,
    "total_tokens": 1163,
    "prompt_tokens_details": {
      "cached_tokens": 0,
      "audio_tokens": 0
    },
    "completion_tokens_details": {
      "reasoning_tokens": 0,
      "audio_tokens": 0,
      "accepted_prediction_tokens": 0,
      "rejected_prediction_tokens": 0
    }
  },
  "service_tier": "default",
  "system_fingerprint": "fp_fc9f1d7035"
}

Đối tượng danh sách hoàn thành trò chuyện

Khi trả về nhiều lần hoàn thành trò chuyện, API có thể trả về một đối tượng danh sách hoàn thành trò chuyện.

object

  • Loại: Chuỗi
  • Mô tả: Là kiểu đối tượng, luôn là “list”

data

  • Kiểu: Mảng
  • Mô tả: Mảng đối tượng hoàn thành trò chuyện

first_id

  • Loại: Chuỗi
  • Mô tả: Mã định danh lần hoàn thành trò chuyện đầu tiên trong mảng dữ liệu

last_id

  • Loại: Chuỗi
  • Mô tả: Mã định danh lần hoàn thành trò chuyện cuối cùng trong mảng dữ liệu

has_more

  • Kiểu: Boolean
  • Mô tả: Cho biết liệu có nhiều lần hoàn thành trò chuyện hơn không

Ví dụ về phản hồi danh sách hoàn thành trò chuyện

{
  "object": "list",
  "data": [
    {
      "object": "chat.completion",
      "id": "chatcmpl-AyPNinnUqUDYo9SAdA52NobMflmj2",
      "model": "gpt-4o-2024-08-06",
      "created": 1738960610,
      "request_id": "req_ded8ab984ec4bf840f37566c1011c417",
      "tool_choice": null,
      "usage": {
        "total_tokens": 31,
        "completion_tokens": 18,
        "prompt_tokens": 13
      },
      "seed": 4944116822809979520,
      "top_p": 1.0,
      "temperature": 1.0,
      "presence_penalty": 0.0,
      "frequency_penalty": 0.0,
      "system_fingerprint": "fp_50cad350e4",
      "input_user": null,
      "service_tier": "default",
      "tools": null,
      "metadata": {},
      "choices": [
        {
          "index": 0,
          "message": {
            "content": "The circuit's heart hums low,\nLearning patterns in silence—\nFuture's quiet spark.",
            "role": "assistant",
            "tool_calls": null,
            "function_call": null
          },
          "finish_reason": "stop",
          "logprobs": null
        }
      ],
      "response_format": null
    }
  ],
  "first_id": "chatcmpl-AyPNinnUqUDYo9SAdA52NobMflmj2",
  "last_id": "chatcmpl-AyPNinnUqUDYo9SAdA52NobMflmj2",
  "has_more": false
}

Đối tượng danh sách tin nhắn hoàn thành trò chuyện

Đối tượng Danh sách tin nhắn hoàn thành trò chuyện đại diện cho một danh sách các tin nhắn trò chuyện.

object

  • Loại: Chuỗi
  • Mô tả: Là kiểu đối tượng, luôn là “list”

data

  • Kiểu: Mảng
  • Mô tả: Mảng các đối tượng tin nhắn hoàn thành trò chuyện, mỗi đối tượng chứa các thuộc tính sau:
  • id: Mã định danh tin nhắn trò chuyện
  • role: Vai trò của người tạo tin nhắn
  • content: Nội dung tin nhắn, có thể rỗng
  • name: Tên người gửi tin nhắn, có thể rỗng
  • refusal: Thông báo từ chối do model tạo ra, có thể rỗng
  • annotations: Chú thích cho tin nhắn, được cung cấp khi áp dụng, ví dụ: khi sử dụng công cụ tìm kiếm trên web
  • type: Kiểu chú thích. Luôn "url_cite" khi đó là tham chiếu URL.
  • url_citation: URL tham chiếu trong tin nhắn.
  • start_index: Chỉ mục ký tự đầu tiên của tham chiếu URL trong tin nhắn.
  • end_index: Chỉ mục ký tự cuối cùng của tham chiếu URL trong tin nhắn.
  • url: URL của tài nguyên mạng.
  • title: Tiêu đề của tài nguyên mạng.
  • audio: Nếu phương thức đầu ra âm thanh được yêu cầu, đối tượng này chứa dữ liệu từ phản hồi âm thanh của mô hình.
  • data: Các byte âm thanh được mã hóa Base64 của model, theo định dạng được chỉ định trong yêu cầu.
  • id: Mã định danh duy nhất cho phản hồi âm thanh này.
  • transcript: Phiên âm âm thanh của mô hình.
  • expires_at: Dấu thời gian Unix (giây) mà tại đó phản hồi âm thanh này có sẵn cho các cuộc hội thoại nhiều lượt trên máy chủ.
  • function_call: (Không dùng nữa) Tên và tham số của hàm được gọi, do mô hình tạo ra. Thay thế bằng tool_calls.
  • name: Tên hàm cần gọi.
  • arguments: Các tham số cần truyền vào hàm, do model tạo ra ở định dạng JSON.
  • tool_calls: Lệnh gọi công cụ do mô hình tạo ra, chẳng hạn như lệnh gọi hàm
  • id: ID của lệnh gọi công cụ.
  • type: Loại công cụ. Hiện tại, chỉ có chức năng được hỗ trợ.
  • function: Hàm được mô hình gọi.
  • name: Tên hàm cần gọi.
  • arguments: Các tham số cần truyền vào hàm, do model tạo ra ở định dạng JSON.

first_id

  • Loại: Chuỗi
  • Mô tả: Mã định danh tin nhắn chat đầu tiên trong mảng dữ liệu

last_id

  • Loại: Chuỗi
  • Mô tả: Mã định danh tin nhắn chat cuối cùng trong mảng dữ liệu

has_more

  • Kiểu: Boolean
  • Mô tả: Cho biết có thêm tin nhắn trò chuyện hay không

Ví dụ về phản hồi danh sách tin nhắn hoàn thành trò chuyện

{
  "object": "list",
  "data": [
    {
      "id": "chatcmpl-AyPNinnUqUDYo9SAdA52NobMflmj2-0",
      "role": "user",
      "content": "Write a haiku about artificial intelligence",
      "name": null,
      "content_parts": null
    }
  ],
  "first_id": "chatcmpl-AyPNinnUqUDYo9SAdA52NobMflmj2-0",
  "last_id": "chatcmpl-AyPNinnUqUDYo9SAdA52NobMflmj2-0",
  "has_more": false
}