创建对话请求(OpenAI)
根据给定的聊天对话创建模型响应。
添加 Header 'Authorization: Bearer {账户 API Key}' 进行鉴权
In: header
对应的模型名称。为更好地提升服务质量,我们会对本服务提供的模型进行定期变更,包括但不限于模型上下线和模型服务能力的调整。在可行的情况下,我们会通过公告或消息推送等适当方式通知您此类变更。完整可用模型列表请查看 对话模型。
"deepseek-ai/DeepSeek-V4-Flash"对话消息列表
如果设置,token 将以 SSE(Server-Sent Events)的形式流式输出。流式传输通常以 data: [DONE] 结束
false | true要生成的最大 token 数量,不包含思维链部分。建议不要将 max_tokens 设置为窗口上限,为输入和系统开销预留约 10k token 的缓冲区。
在推理模式与非推理模式之间切换。该字段适用于大多数推理模型。
false | true思维链输出的最大 token 数量。该字段适用于大多数推理模型。
128 <= value <= 32768该字段适用于 Pro/deepseek-ai/DeepSeek-V4、deepseek-ai/DeepSeek-V4-Flash 以及 Pro/zai-org/GLM-5.2。 在推理模式下,常规请求的默认 effort 为 high;对于某些复杂的智能体类型请求(如 Claude Code、OpenCode),effort 会自动设置为 max。 在推理模式下,为兼容起见,low 和 medium 会映射为 high,xhigh 会映射为 max。
"high" | "max"根据 token 概率动态调整的过滤阈值。该字段仅适用于 Qwen3。
floatvalue <= 1API 将停止生成后续 token 的最多 4 个序列。 返回的文本不会包含停止序列。
"\n"使用的采样温度,取值范围在 0 到 2 之间。较高的值(如 0.8)会使输出更加随机,而较低的值(如 0.2)会使其更加集中和确定。
floatvalue <= 20.7一种替代温度采样的方法,称为核采样(nucleus sampling),模型会考虑具有 top_p 概率质量的 token 的结果。因此 0.1 表示仅考虑构成前 10% 概率质量的 token。 我们通常建议调整此参数或温度,但不要同时调整两者。
floatvalue <= 10.7floatvalue <= 100取值范围在 -2.0 到 2.0 之间。正值会根据新 token 在目前为止的文本中已有的频率对其进行惩罚,从而降低模型逐字重复同一行的可能性。
float-2 <= value <= 2返回的生成结果数量。
1指定模型必须输出的格式的对象。
设置为 { "type": "json_schema", "json_schema": {...} } 可启用结构化输出(Structured Outputs),确保模型匹配你提供的 JSON schema。
设置为 { "type": "json_object" } 可启用较早的 JSON 模式,确保模型生成的消息是有效的 JSON。对于支持 json_schema 的模型,建议优先使用 json_schema。
默认响应格式。用于生成文本响应。
响应格式的类型。始终为 text。
"text"JSON Schema 响应格式。用于生成结构化 JSON 响应。
响应格式的类型。始终为 json_schema。
"json_schema"结构化输出配置选项,包括 JSON Schema。
Recursive
JSON object 响应格式。一种较早的生成 JSON 响应的方法。
对于支持 json_schema 的模型,建议使用 json_schema。请注意,如果没有系统或用户消息指示模型生成 JSON,模型将不会生成 JSON。
响应格式的类型。始终为 json_object。
"json_object"模型可能调用的工具列表。目前仅支持函数作为工具。 使用此参数提供模型可能为其生成 JSON 输入的函数列表。最多支持 128 个函数。
对话消息列表
如果设置,token 将以 SSE(Server-Sent Events)的形式流式输出。流式传输通常以 data: [DONE] 结束
true | false要生成的最大 token 数量,不包含思维链部分。建议不要将 max_tokens 设置为窗口上限,为输入和系统开销预留约 10k token 的缓冲区。
API 将停止生成后续 token 的最多 4 个序列。 返回的文本不会包含停止序列。
"\n"使用的采样温度,取值范围在 0 到 2 之间。较高的值(如 0.8)会使输出更加随机,而较低的值(如 0.2)会使其更加集中和确定。
0.7float0.7一种替代温度采样的方法,称为核采样(nucleus sampling),模型会考虑具有 top_p 概率质量的 token 的结果。因此 0.1 表示仅考虑构成前 10% 概率质量的 token。 我们通常建议调整此参数或温度,但不要同时调整两者。
float0.750float50取值范围在 -2.0 到 2.0 之间。正值会根据新 token 在目前为止的文本中已有的频率对其进行惩罚,从而降低模型逐字重复同一行的可能性。
0.5float0.5返回的生成结果数量。
11指定模型必须输出的格式的对象。
设置为 { "type": "json_schema", "json_schema": {...} } 可启用结构化输出(Structured Outputs),确保模型匹配你提供的 JSON schema。
设置为 { "type": "json_object" } 可启用较早的 JSON 模式,确保模型生成的消息是有效的 JSON。对于支持 json_schema 的模型,建议优先使用 json_schema。
默认响应格式。用于生成文本响应。
响应格式的类型。始终为 text。
"text"JSON Schema 响应格式。用于生成结构化 JSON 响应。
响应格式的类型。始终为 json_schema。
"json_schema"结构化输出配置选项,包括 JSON Schema。
Recursive
JSON object 响应格式。一种较早的生成 JSON 响应的方法。
对于支持 json_schema 的模型,建议使用 json_schema。请注意,如果没有系统或用户消息指示模型生成 JSON,模型将不会生成 JSON。
响应格式的类型。始终为 json_object。
"json_object"在推理模式与非推理模式之间切换。该字段适用于大多数推理模型。
false | true思维链输出的最大 token 数量。该字段适用于大多数推理模型。
128 <= value <= 32768该字段适用于 Pro/deepseek-ai/DeepSeek-V4、deepseek-ai/DeepSeek-V4-Flash 以及 Pro/zai-org/GLM-5.2。 在推理模式下,常规请求的默认 effort 为 high;对于某些复杂的智能体类型请求(如 Claude Code、OpenCode),effort 会自动设置为 max。 在推理模式下,为兼容起见,low 和 medium 会映射为 high,xhigh 会映射为 max。
"high" | "max"根据 token 概率动态调整的过滤阈值。该字段仅适用于 Qwen3。
floatvalue <= 1模型可能调用的工具列表。目前仅支持函数作为工具。 使用此参数提供模型可能为其生成 JSON 输入的函数列表。最多支持 128 个函数。
Response Body
模型响应。响应头中包含 x-siliconcloud-trace-id 字段,作为请求的唯一追踪标识,便于日志查询和问题排查。
TypeScript Definitions
Use the response body type in TypeScript.
"chat.completion"curl --request POST \
--url https://api.siliconflow.cn/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "deepseek-ai/DeepSeek-V4-Flash",
"messages": [
{"role": "system", "content": "你是一个有用的助手"},
{"role": "user", "content": "你好,请介绍一下你自己"}
]
}'
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://api.siliconflow.cn/v1"
)
response = client.chat.completions.create(
model="deepseek-ai/DeepSeek-V4-Flash",
messages=[
{"role": "system", "content": "你是一个有用的助手"},
{"role": "user", "content": "你好,请介绍一下你自己"}
]
)
print(response.choices[0].message.content)
curl --request POST \
--url https://api.siliconflow.cn/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ***" \
-d '{
"model": "moonshotai/Kimi-K2.7-Code",
"messages": [
{
"role": "user",
"content": [
{"type": "text", "text": "描述这张图片"},
{"type": "image_url", "image_url": {"url": "https://example.com/image.jpg"}}
]
}
],
"max_tokens": 4096
}'
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://api.siliconflow.cn/v1"
)
tools = [
{
"type": "function",
"function": {
"name": "get_current_weather",
"description": "Get the current weather in a given location",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city and state, e.g. San Francisco, CA",
},
"unit": {"type": "string", "enum": ["celsius", "fahrenheit"]},
},
"required": ["location"],
},
}
}
]
messages = [
{"role": "system", "content": "你是一个有用的助手"},
{"role": "user", "content": "波士顿今天天气怎么样?"},
{"role": "assistant", "content": "波士顿今天晴,气温 20°C。"},
{"role": "user", "content": "那纽约呢?"}
]
stream = client.chat.completions.create(
model="deepseek-ai/DeepSeek-V4-Flash",
messages=messages,
tools=tools,
tool_choice="auto",
stream=True,
)
for chunk in stream:
delta = chunk.choices[0].delta
if delta.content:
print(delta.content, end="", flush=True)
if delta.tool_calls:
{
"id": "019bdaa55225ef854b320e9b838f77ce",
"object": "chat.completion",
"created": 1768899826,
"model": "deepseek-ai/DeepSeek-V4-Flash",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "你好!...",
"reasoning_content": "..."
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 15,
"completion_tokens": 1540,
"total_tokens": 1555,
"completion_tokens_details": {
"reasoning_tokens": 1190
},
"prompt_tokens_details": {
"cached_tokens": 0
},
"prompt_cache_hit_tokens": 0,
"prompt_cache_miss_tokens": 15
},
"system_fingerprint": ""
}{
"code": 20012,
"message": "string",
"data": "string"
}"Invalid token""Forbidden""404 page not found"{
"message": "Request was rejected due to rate limiting. If you want more, please contact contact@siliconflow.cn. Details:TPM limit reached.",
"data": "string"
}{
"code": 50505,
"message": "Model service overloaded. Please try again later.",
"data": "string"
}"string"