Damodel-API文档
  1. 文本对话
  • 文本对话
    • 对话补全
      POST
  1. 文本对话

对话补全

POST
/chat/completions
根据输入的上下文,来让模型补全对话内容。

请求参数

Authorization
在 Header 添加参数
Authorization
,其值为在 Bearer 之后拼接 Token
示例:
Authorization: Bearer ********************
Header 参数
Content-Type
string 
必需
示例值:
application/json
Body 参数application/json
model
enum<string> 
必需
使用的模型的 ID。您可以使用 deepseek-chat。
枚举值:
deepseek-ai/DeepSeek-R1
message
array [anyOf] 
对话的消息列表
必需
>= 1 items
object 
System Message
可选
object 
User message
可选
object 
Assistant Message
可选
frequency_penalty
number 
可选
介于 -2.0 和 2.0 之间的数字。如果该值为正,那么新 token 会根据其在已有文本中的出现频率受到相应的惩罚,降低模型重复相同内容的可能性。
>= -2<= 2
默认值:
0
max_tokens
integer 
可选
介于 1 到 8192 间的整数,限制一次请求中模型生成 completion 的最大 token 数。输入 token 和输出 token 的总长度受模型的上下文长度的限制。
>= 1<= 8192
默认值:
512
response_format
object 
可选
一个 object,指定模型必须输出的格式。
设置为 { "type": "json_object" } 以启用 JSON 模式,该模式保证模型生成的消息是有效的 JSON。
注意: 使用 JSON 模式时,你还必须通过系统或用户消息指示模型生成 JSON。否则,模型可能会生成不断的空白字符,直到生成达到令牌限制,从而导致请求长时间运行并显得“卡住”。此外,如果 finish_reason="length",这表示生成超过了 max_tokens 或对话超过了最大上下文长度,消息内容可能会被部分截断。
type
enum<string> 
必需
枚举值:
textjson_object
默认值:
text
stop
可选
一个 string 或最多包含 16 个 string 的 list,在遇到这些词时,API 将停止生成更多的 token。
One of
stream
boolean 
可选
如果设置为 True,将会以 SSE(server-sent events)的形式以流式发送消息增量。消息流以data: [DONE]结尾。
stream_options
object 
可选
流式输出相关选项。只有在stream参数为true时,才可设置此参数。
include_usage
boolean 
必需
如果设置为true,在流式消息最后的data: [DONE]之前将会传输一个额外的块。此块上的 usage 字段显示整个请求的 token 使用统计信息,而 choices 字段将始终是一个空数组。所有其他块也将包含一个 usage 字段,但其值为null。
temperature
number 
可选
采样温度,介于 0 和 2 之间。更高的值,如 0.8,会使输出更随机,而更低的值,如 0.2,会使其更加集中和确定。 我们通常建议可以更改这个值或者更改top_p,但不建议同时对两者进行修改。
>= 0<= 2
默认值:
1
top_p
number 
可选
作为调节采样温度的替代方案,模型会考虑前top_p概率的 token 的结果。所以 0.1 就意味着只有包括在最高 10% 概率中的 token 会被考虑。 我们通常建议修改这个值或者更改temperature,但不建议同时对两者进行修改。
<= 1> 0
默认值:
1
tool
array [object {2}] 
可选
模型可能会调用的 tool 的列表。目前,仅支持 function 作为工具。使用此参数来提供以 JSON 作为输入参数的 function 列表。最多支持 128 个 function。
type
enum<string> 
必需
tool 的类型。目前仅支持 function
枚举值:
function
function
object 
必需
tool_choice
可选
控制模型调用 tool 的行为。
none意味着模型不会调用任何 tool,而是生成一条消息。
auto意味着模型可以选择生成一条消息或调用一个或多个 tool。
required意味着模型必须调用一个或多个 tool。
通过{"type": "function", "function": {"name": "my_function"}}指定特定 tool,会强制模型调用该 tool。
当没有 tool 时,默认值为none。如果有tool存在,默认值为auto。
One of
none意味着模型不会调用任何 tool,而是生成一条消息。auto意味着模型可以选择生成一条消息或调用一个或多个 tool。required意味着模型必须调用一个或多个 tool。
枚举值:
noneautorequired
logprobs
boolean 
可选
是否返回所输出 token 的对数概率。如果为true,则在message的content中返回每个输出 token 的对数概率。
top_logprobs
integer 
可选
一个介于 0 到 20 之间的整数 N,指定每个输出位置返回输出概率 top N 的 token,且返回这些 token 的对数概率。指定此参数时,logprobs必须为true。
>= 0<= 20
示例
{
  "messages": [
    {
      "content": "You are a helpful assistant",
      "role": "system"
    },
    {
      "content": "Hi",
      "role": "user"
    }
  ],
  "model": "deepseek-chat",
  "frequency_penalty": 0,
  "max_tokens": 2048,
  "presence_penalty": 0,
  "response_format": {
    "type": "text"
  },
  "stop": null,
  "stream": false,
  "stream_options": null,
  "temperature": 1,
  "top_p": 1,
  "tools": null,
  "tool_choice": "none",
  "logprobs": false,
  "top_logprobs": null
}

示例代码

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
请求示例请求示例
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://api.damodel.com/chat/completions' \
--header 'Content-Type: application/json' \
--data-raw '{
  "messages": [
    {
      "content": "You are a helpful assistant",
      "role": "system"
    },
    {
      "content": "Hi",
      "role": "user"
    }
  ],
  "model": "deepseek-chat",
  "frequency_penalty": 0,
  "max_tokens": 2048,
  "presence_penalty": 0,
  "response_format": {
    "type": "text"
  },
  "stop": null,
  "stream": false,
  "stream_options": null,
  "temperature": 1,
  "top_p": 1,
  "tools": null,
  "tool_choice": "none",
  "logprobs": false,
  "top_logprobs": null
}'

返回响应

🟢200流式成功
application/json
Body
id
string 
该对话的唯一标识符
必需
choices
array [object {3}] 
必需
模型生成的 completion 的选择列表。
delta
object 
必需
流式返回的一个 completion 增量
finish_reason
enum<string>  | enum<null> 
必需
模型停止生成 token 的原因。
stop:模型自然停止生成,或遇到stop序列中列出的字符串。
length :输出长度达到了模型上下文长度限制,或达到了max_tokens的限制。
content_filter:输出内容因触发过滤策略而被过滤。
insufficient_system_resource:系统推理资源不足,生成被打断。
枚举值:
stoplenthcontent_filtertool_callsinsufficient_system_resource
index
integer 
必需
该 completion 在模型生成的 completion 的选择列表中的索引。
created
string 
必需
创建聊天完成时的 Unix 时间戳(以秒为单位)
model
string 
必需
生成该 completion 的模型名
object
enum<string> 
必需
枚举值:
chat.completion.chunk
usage
object  | null 
可选
completion_tokens
integer 
必需
模型 completion 产生的 token 数
prompt_tokens
integer 
必需
用户 prompt 所包含的 token 数
total_tokens
integer 
必需
该请求中,所有 token 的数量(prompt + completion)
示例
{
  "id": "string",
  "choices": [
    {
      "delta": {
        "content": "string",
        "reasoning_content": "string",
        "role": "assistant"
      },
      "finish_reason": "stop",
      "index": 0
    }
  ],
  "created": "string",
  "model": "string",
  "object": "chat.completion.chunk",
  "usage": {
    "completion_tokens": 0,
    "prompt_tokens": 0,
    "total_tokens": 0
  }
}
🟢200非流式成功
修改于 2025-03-05 11:06:41
Built with