你是否发现大模型经常给出偏离预期的回答?关键在于掌握提示词优化技巧。

以 DeepSeek 为例,采用 OpenAI 兼容接口进行调用:
from openai import OpenAIclient = OpenAI(
api_key="your-api-key",
base_url="https://api.deepseek.com"
)
def get_completion(prompt, model='deepseek-chat'):
response = client.chat.completions.create(
model=model,
messages=[
{"role": "user", "content": prompt}
],
temperature=0.5, # 自由度参数:0 严谨,1 随机性强
max_tokens=1024 # 问题+回复的 token 数量上限
)
return response.choices[0].message.content
核心参数说明:
| 参数 | 说明 | 取值范围 |
|---|---|---|
temperature | 控制模型随机性 | 0(完全确定)~ 1(完全随机) |
max_tokens | 控制生成最大 token 数 | 1 ~ 1024,默认 1024 |
通过完整说明与背景信息引导模型输出符合预期的结果:
text = f"""
你应当通过尽可能清晰、具体的指令,来明确你希望模型完成的任务。
这能引导模型产出符合预期的结果,同时降低回复内容偏离主题或出现错误的概率。
不要把编写清晰的提示词和精简提示词混为一谈。
很多时候,篇幅更长的提示词能为模型提供更完整的说明与背景信息,
进而让输出内容更加详实、贴合需求。
"""prompt = f"""
将三个反引号之间的文本总结为一句话
```{text}```
"""print(get_completion(prompt))
通过步骤分解提升复杂任务的处理效果:
text_1 = f"""
泡一杯茶其实很简单!首先把水烧开。烧水的同时,拿出茶杯,放入
茶包。水烧开后,将热水冲入杯中浸泡茶包。静置片刻让茶香析出。
几分钟后,根据个人口味,还可以加入糖或牛奶。这样一杯美味的
茶饮就泡好了。
"""prompt = f"""
你将收到由三引号包裹的文本。若文本中包含一系列操作指令,
请按照下述格式重新整理这些指令。
步骤 一 ...
步骤 二 ...
...
步骤 N ...
如果文本中没有一系列操作指引,直接输出**"没有操作步骤。"**
"""{text_1}"""
"""print(get_completion(prompt))
通过格式约束提升结果可用性:
prompt = f"""
请列出四大名著,并标注对应的作者与书籍类型。
使用JSON格式呈现,需包含以下字段:
book_id(数据编号)、title(书名)、author(作者)、
desc(简介)、genre(书籍类型)
"""print(get_completion(prompt))
通过示例保持输出风格一致性:
prompt = f"""
你的任务是保持统一的行文风格作答。
提问:请讲讲何为耐心。
回答:能凿出幽深峡谷的江河,源自涓涓细流;
恢弘壮阔的交响乐,起于单个音符;
精美繁复的织锦,始于一缕丝绒。
请问:请讲讲何为韧性。
"""print(get_completion(prompt))
单次提示完成多项操作:
text = f"""
在一座风光宜人的小村庄里,姐弟俩杰克和吉尔动身前往山顶的水井取水。
两人一路欢歌向上攀登,不料意外突生
—— 杰克被石头绊倒,滚下山坡,吉尔也跟着摔了下去。
二人虽受了些轻伤,还是回到了家中,得到家人温柔的安抚。
这场小意外并未磨灭他们冒险的兴致,此后他们依旧满心欢喜地四处游玩。
"""prompt = f"""
执行以下操作:
1. 将三个反引号内的文本概括为一句话。
2. 把这句摘要翻译成法语。
3. 列出法语摘要中出现的所有人名。
4. 输出JSON对象,包括字段:french_summary、num_names。
5. 答案分行展示。
文本:
```{text}```
"""print(get_completion(prompt))
注意识别模型可能产生的虚构内容:
prompt = f"""
介绍以下李宁品牌的喜多多饮料
"""print(get_completion(prompt))
| 场景 | Prompt 模板 |
|---|---|
| 文本摘要 | 将以下文本总结为一句话/N个要点:{text} |
| 格式转换 | 将以下内容转换为JSON/Markdown/表格格式:{text} |
| 步骤提取 | 若文本包含操作指令,按步骤格式整理:{text} |
| 风格模仿 | 保持以下风格作答。示例:{example} 提问:{question} |
| 多任务 | 执行以下操作:1. ... 2. ... 3. ... 文本:{text} |
掌握Prompt Engineering需要持续实践,从明确指令到格式控制,逐步提升与大模型的协作效率。