DeepSeek API必须通过role="system"字段设置系统提示词以锁定模型专业身份。需将system字典置于messages首位,内容应精准定义角色、能力与禁忌,避免拟人化表达,并确保base_url指向官方接口。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

在DeepSeek API调用中设置系统提示词,是让模型从第一次响应就锁定专业身份、输出风格和能力边界的最直接方式。不设system角色,模型会以通用助手身份作答,容易泛化、遗漏技术细节或忽略格式约束。
确认API请求结构是否支持system角色
DeepSeek API完全兼容OpenAI标准协议,【必须使用role="system"字段】才能生效。若只在user消息里写“请作为Python工程师回答”,模型不会将其识别为指令层设定,仅当作普通提问内容处理。
检查你的messages数组第一项是否为{"role": "system", "content": "..."}
构造合法的system提示词内容
方法一:单句精准定义(适合轻量任务)
直接声明角色+年限+核心能力,例如:
"你是一位有6年经验的前端工程师,专注Vue3生态与Web性能优化,所有回答必须包含可运行代码片段和Chrome DevTools实测建议。"
统一LLM网关 - 一个API对接70+AI模型,使用单一API密钥即可调用GPT、Claude、Gemini、Qwen、Deepseek、Grok等主流模型。
方法二:分项结构化声明(适合复杂任务)
用换行分隔定位、能力、禁忌三部分,例如:
"定位:金融风控建模专家,服务过3家持牌消金公司
能力:能用Python+pandas完成特征工程、XGBoost调参、SHAP归因分析
禁忌:不生成SQL语句,不假设数据已清洗,不跳过缺失值处理步骤"
【注意:system内容不能含任何user或assistant视角的对话痕迹,如“好的,我明白了”“接下来我会…”这类拟人化表达会干扰模型角色固化】
嵌入system角色并发送请求
第一步:初始化client时确保base_url指向DeepSeek官方接口
第二步:构建messages列表,将system字典放在索引0位置→user字典放在索引1位置
第三步:调用client.chat.completions.create(),传入完整messages
关键代码片段:
```python
messages = [
{"role": "system", "content": "你是一位Linux内核模块开发工程师,熟悉4.19~6.8版本源码,所有回答需引用具体函数名和文件路径"},
{"role": "user", "content": "如何在不重启的情况下卸载一个正在被占用的内核模块?"}
]
response = client.chat.completions.create(model="deepseek-chat", messages=messages)
```


















