DeepSeek 参数解读
英文标题:DeepSeek 参数解读
DeepSeek中的自学应用参数配置理解: 选哪个模型。 这里用的是 DeepSeek 的 Flash 版,特点是快、便宜,适合日常对话、简单任务。它默认是思考模式,模型会先"想"再答,思考过程也会占
2.6 KB
中文
DeepSeek中的自学应用参数配置理解 :
model="deepseek-flash",
选哪个模型。 这里用的是 DeepSeek 的 Flash 版,特点是快、便宜 ,适合日常对话、简单任务。它默认是思考模式 ,模型会先"想"再答,思考过程也会占 token 计费。如果你不需要思考、只想快速出结果,可以通过切换 Chat 模型不会思考,直接输出,自学自研更省钱。
messages=[
{"role": "system", "content": "写一句关于夏天奶茶的宣传语,15-20个字以内,不要加引号"},
],
给模型下指令。 system 角色相当于"设定规则的人",告诉模型你要它干什么。这里就是让它写一句奶茶宣传语,字数控制在15-20字,别加引号。
temperature=1,
控制模型"放飞"的程度。 值越大越有创意、越随机;值越小越保守、越稳定。1 是默认值,属于正常发挥,不太死板也不太飘。
top_p=0.5,
控制模型选词的范围大小。 可以理解为"候选词池子"的大小:0.5 表示只从概率最高的前50%候选词里挑,输出会比较集中、变化少;1.0 则放开所有限制,输出更多样。一般默认 0.9 左右,你这里设 0.5 会让输出偏保守。
💡
temperature和top_p都影响随机性,通常只调其中一个 就好,两个同时压低会让输出非常死板。
max_tokens=20,
限制模型最多输出多少个 token。 这里设了 20,对应你的"15-20个字以内"需求。token 不完全等于汉字(中文大约1-2字=1 token),所以这个值要留点余量。
stop=["语言"],
停止序列。 告诉模型:一旦你生成的内容里出现了 "语言" 这两个字,立刻停笔,后面的别写了。适合用来强制截断不想要的内容。
stream=True,
流式输出。 设为 True 后,模型会像打字机一样逐字往外吐 ,用户能实时看到生成过程,体验更好;设为 False 则要等全部生成完才一次性返回。
一句话总结
这段配置就是:用 Flash 模型,让它写一句奶茶宣传语,输出控制在20个token以内,遇到"语言"就停,打字机式实时返回,创意程度中等偏保守。
代码完整实例:
import os
from dotenv import load_dotenv
from openai import OpenAI
load_dotenv()
client = OpenAI(
api_key=os.environ.get('DEEPSEEK_API_KEY'),
base_url=os.environ.get('DEEPSEEK_BASE_URL'),
)
def slogan():
response = client.chat.completions.create(
model="deepseek-flash",
messages=[
{"role": "system", "content": "写一句关于夏天奶茶的宣传语,15-20个字以内,不要加引号"},
],
temperature=1,
top_p=0.5,
max_tokens=20,
stop=["语言"],
stream=True
)
return response.choices[0].message.content.strip()
English / 原文
DeepSeek中的自学应用参数配置理解 :
model="deepseek-flash",
选哪个模型。 这里用的是 DeepSeek 的 Flash 版,特点是快、便宜 ,适合日常对话、简单任务。它默认是思考模式 ,模型会先"想"再答,思考过程也会占 token 计费。如果你不需要思考、只想快速出结果,可以通过切换 Chat 模型不会思考,直接输出,自学自研更省钱。
messages=[
{"role": "system", "content": "写一句关于夏天奶茶的宣传语,15-20个字以内,不要加引号"},
],
给模型下指令。 system 角色相当于"设定规则的人",告诉模型你要它干什么。这里就是让它写一句奶茶宣传语,字数控制在15-20字,别加引号。
temperature=1,
控制模型"放飞"的程度。 值越大越有创意、越随机;值越小越保守、越稳定。1 是默认值,属于正常发挥,不太死板也不太飘。
top_p=0.5,
控制模型选词的范围大小。 可以理解为"候选词池子"的大小:0.5 表示只从概率最高的前50%候选词里挑,输出会比较集中、变化少;1.0 则放开所有限制,输出更多样。一般默认 0.9 左右,你这里设 0.5 会让输出偏保守。
💡
temperature和top_p都影响随机性,通常只调其中一个 就好,两个同时压低会让输出非常死板。
max_tokens=20,
限制模型最多输出多少个 token。 这里设了 20,对应你的"15-20个字以内"需求。token 不完全等于汉字(中文大约1-2字=1 token),所以这个值要留点余量。
stop=["语言"],
停止序列。 告诉模型:一旦你生成的内容里出现了 "语言" 这两个字,立刻停笔,后面的别写了。适合用来强制截断不想要的内容。
stream=True,
流式输出。 设为 True 后,模型会像打字机一样逐字往外吐 ,用户能实时看到生成过程,体验更好;设为 False 则要等全部生成完才一次性返回。
一句话总结
这段配置就是:用 Flash 模型,让它写一句奶茶宣传语,输出控制在20个token以内,遇到"语言"就停,打字机式实时返回,创意程度中等偏保守。
代码完整实例:
import os
from dotenv import load_dotenv
from openai import OpenAI
load_dotenv()
client = OpenAI(
api_key=os.environ.get('DEEPSEEK_API_KEY'),
base_url=os.environ.get('DEEPSEEK_BASE_URL'),
)
def slogan():
response = client.chat.completions.create(
model="deepseek-flash",
messages=[
{"role": "system", "content": "写一句关于夏天奶茶的宣传语,15-20个字以内,不要加引号"},
],
temperature=1,
top_p=0.5,
max_tokens=20,
stop=["语言"],
stream=True
)
return response.choices[0].message.content.strip()