deepseek api参数详解

deepseek的参数与openai保持兼容,所以openai能用的参数deepseek都可以使用,以下是常用的参数介绍。

在使用 Deepseek/OpenAI 的 Python API 时,最常用的 API 端点是 chat/completions,用于调用 deepseek 生成文本对话内容。以下是 openai.ChatCompletion.create() 方法的主要参数及其作用:


1. model

  • 作用:指定使用的模型。
  • 示例值
    model="deepseek-chat"
    
  • 支持的模型
    • "deepseek-chat"
    • "deepseek-reasoner"
    • 其他 deepseek 支持的模型

2. messages

  • 作用:提供对话上下文(历史聊天内容)。

  • 格式:列表,每条消息是一个字典,包含:

    • role(角色):必须是 "system""user""assistant"
    • content(内容):具体的文本内容。
  • 示例

    messages=[
        {"role": "system", "content": "你是一个字幕翻译助手"},
        {"role": "user", "content": "请翻译这段字幕文件:\n1\n00:00:00,000 --> 00:00:02,000\nHello, world!"}
    ]
    
  • 角色说明

    • system:设定 AI 的行为和规则。
    • user:用户的输入内容。
    • assistant:AI 生成的回复。

3. temperature

  • 作用:控制输出的随机性,范围 [0, 2]

  • 推荐使用范围

    • temperature=0.0:答案最稳定,一致性最高(适用于代码生成、精准翻译)。
    • temperature=0.7(默认值):较平衡的创造性和稳定性。
    • temperature=1.5 及以上:更加随机和创新,适用于创意写作。
  • 示例

    temperature=0.7
    

4. top_p

  • 作用:控制概率采样,范围 [0, 1],一般与 temperature 互斥使用。

  • 说明

    • top_p=1.0(默认值):不限制采样范围。
    • top_p=0.9:仅从累积概率前 90% 的词中选择(减少随机性)。
    • 一般建议调整 temperature,保持 top_p=1
  • 示例

    top_p=0.9
    

5. n

  • 作用:指定返回的回答数量(默认 n=1)。

  • 说明

    • n=1(默认):仅返回一个回复。
    • n=3:返回 3 个不同的回复,可用于选择最佳答案。
  • 示例

    n=2
    

6. max_tokens

  • 作用:限制返回文本的最大 token 数,防止超长回答消耗过多 token。
  • 说明
    • 如果 max_tokens=None,API 将自动计算最优值。
    • 模型 token 限制 影响(GPT-4 Turbo 约 128K tokens)。
    • 示例
      max_tokens=1000
      

7. stop

  • 作用:设置停止生成的标识符,可以是一个字符串或字符串列表。
  • 说明
    • 如果模型输出中出现 stop 设定的字符串,则停止生成。
    • 示例
      stop=["\n\n"]
      

8. presence_penalty

  • 作用:控制重复内容的出现,值范围 [-2.0, 2.0]

  • 说明

    • 负值(如 -1):降低重复内容的惩罚,更倾向于保持相同内容。
    • 正值(如 1.5):鼓励引入新词,减少重复。
  • 示例

    presence_penalty=0.6
    

9. frequency_penalty

  • 作用:减少重复单词或短语的频率,值范围 [-2.0, 2.0]

  • 说明

    • frequency_penalty=0.0(默认):不做额外处理。
    • frequency_penalty=1.0:减少高频词的重复。
  • 示例

    frequency_penalty=0.5
    

10. logit_bias

  • 作用:控制特定 token(词)的生成概率。

  • 格式

    logit_bias={"50256": -100}
    
    • 这里 50256 是 GPT 模型的特殊 token ID,-100 表示完全抑制该 token。
  • 用途

    • 限制某些词的生成(如避免生成某些不想要的内容)。
    • 强制使用某些特定词(设置较高的正值)。

11. stream

  • 作用:是否以流式方式返回数据(默认 False)。

  • 说明

    • stream=False(默认):返回完整的响应。
    • stream=True:逐步返回 token,适用于实时聊天或字幕生成。
  • 示例

    stream=True
    

12. response_format

  • 作用:指定输出格式(目前仅支持 jsontext)。
  • 示例
    response_format="json"
    

13. seed

  • 作用:设置随机种子,使相同输入的响应更稳定。

  • 说明

    • seed=None(默认):每次调用结果可能不同。
    • seed=42:使用相同种子时,相同输入返回相同结果。
  • 示例

    seed=42
    

API 调用完整示例

import openai

response = openai.ChatCompletion.create(
    model="deepseek-chat",
    messages=[
        {"role": "system", "content": "你是一个专业的字幕翻译助手"},
        {"role": "user", "content": "请翻译这段字幕:\n1\n00:00:00,000 --> 00:00:02,000\nHello, world!"}
    ],
    temperature=0.7,
    max_tokens=500,
    top_p=0.9,
    n=1,
    presence_penalty=0.6,
    frequency_penalty=0.5,
    stream=False
)

print(response["choices"][0]["message"]["content"])

总结

参数名作用
model选择使用的 模型
messages传入的对话历史,包含 system、user、assistant 角色
temperature影响回答的随机性(0.0 最稳定,1.5 更自由)
top_p影响采样范围(与 temperature 互斥)
n生成多个回答以供选择
max_tokens限制返回内容长度
stop设置停止生成的标识
presence_penalty影响新词的使用概率
frequency_penalty降低高频词的重复概率
logit_bias控制特定 token 生成概率
stream是否启用流式返回
response_format设定输出格式(json 或 text)
seed设定随机种子,确保相同输入返回相同结果
### DeepSeek API 参数格式详解 DeepSeek 提供了一套标准化的 RESTful API 接口,用于访问其强大的自然语言处理能力。API 的请求通常通过 HTTP POST 方法发送 JSON 数据来完成[^1]。 #### 请求结构 每个 API 请求都由以下几个部分组成: - **URL**: 指向特定服务端点的统一资源定位符。 - **HTTP Method (方法)**: 使用 `POST` 来提交数据给服务器进行处理。 - **Headers (头部信息)**: 包含必要的认证信息和其他元数据。 - **Body (主体内容)**: 以 JSON 格式传递的具体参数和配置选项。 对于生成补全接口而言,具体的 URL 和 Body 结构如下所示[^2]: ```json { "model": "deepseek-chat", "prompt": "如何用 Python 实现快速排序?", "stream": false } ``` 此示例展示了最基本的几个字段: - `"model"` 字段指定了要使用的模型名称,在这里是 `deepseek-chat`. - `"prompt"` 表达了用户想要得到的回答或执行的任务. - `"stream"` 控制返回结果的方式;如果设置为 `true`, 则会逐步流式传输响应; 否则一次性返回全部结果. 除了上述基本参数外, 还可以根据需求调整其他高级选项, 如温度(`temperature`)、最大长度(`max_tokens`)等,这些都可以在官方文档中找到更详细的说明. ```python import requests url = 'http://localhost:11434/api/generate' data = { "model": "deepseek-chat", "prompt": "解释什么是递归函数。", "stream": False, } response = requests.post(url, json=data) print(response.json()) ``` 以上代码片段展示了一个简单的 Python 客户端实现方式,它利用 `requests` 库发起对 DeepSeek API 的调用并打印出收到的结果.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孽小倩

非常荣幸能帮助到你

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值