一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

DeepSeek API 实战手册:Prompt Engineering 高效提示词编写指南

时间:2026-06-01 09:10:01 编辑:袖梨 来源:一聚教程网

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

Prompt Engineering 实战指南:用 DeepSeek API 写出高质量提示词

Prompt Engineering 实战指南:用 DeepSeek API 写出高质量提示词

一、环境准备:调用 LLM API

1.1 初始化客户端

以 DeepSeek 为例,采用 OpenAI 兼容接口进行调用:

from openai import OpenAIclient = OpenAI(
    api_key="your-api-key",
    base_url="https://api.deepseek.com"
)

1.2 封装调用函数

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

二、Prompt 核心原则

2.1 原则一:撰写清晰、具体的指令

通过完整说明与背景信息引导模型输出符合预期的结果:

text = f"""
你应当通过尽可能清晰、具体的指令,来明确你希望模型完成的任务。
这能引导模型产出符合预期的结果,同时降低回复内容偏离主题或出现错误的概率。
不要把编写清晰的提示词和精简提示词混为一谈。
很多时候,篇幅更长的提示词能为模型提供更完整的说明与背景信息,
进而让输出内容更加详实、贴合需求。
"""prompt = f"""
将三个反引号之间的文本总结为一句话
```{text}```
"""print(get_completion(prompt))

2.2 原则二:引导模型逐步推理

通过步骤分解提升复杂任务的处理效果:

text_1 = f"""
泡一杯茶其实很简单!首先把水烧开。烧水的同时,拿出茶杯,放入
茶包。水烧开后,将热水冲入杯中浸泡茶包。静置片刻让茶香析出。
几分钟后,根据个人口味,还可以加入糖或牛奶。这样一杯美味的
茶饮就泡好了。
"""prompt = f"""
你将收到由三引号包裹的文本。若文本中包含一系列操作指令,
请按照下述格式重新整理这些指令。
步骤 一  ...
步骤 二  ...
...
步骤 N ...
如果文本中没有一系列操作指引,直接输出**"没有操作步骤。"**
"""{text_1}"""
"""print(get_completion(prompt))

三、进阶技巧

3.1 指定输出格式

通过格式约束提升结果可用性:

prompt = f"""
请列出四大名著,并标注对应的作者与书籍类型。
使用JSON格式呈现,需包含以下字段:
book_id(数据编号)、title(书名)、author(作者)、
desc(简介)、genre(书籍类型)
"""print(get_completion(prompt))

3.2 Few-Shot 少量样本提示

通过示例保持输出风格一致性:

prompt = f"""
你的任务是保持统一的行文风格作答。
提问:请讲讲何为耐心。
回答:能凿出幽深峡谷的江河,源自涓涓细流;
恢弘壮阔的交响乐,起于单个音符;
精美繁复的织锦,始于一缕丝绒。
请问:请讲讲何为韧性。
"""print(get_completion(prompt))

3.3 多任务组合

单次提示完成多项操作:

text = f"""
在一座风光宜人的小村庄里,姐弟俩杰克和吉尔动身前往山顶的水井取水。
两人一路欢歌向上攀登,不料意外突生
—— 杰克被石头绊倒,滚下山坡,吉尔也跟着摔了下去。
二人虽受了些轻伤,还是回到了家中,得到家人温柔的安抚。
这场小意外并未磨灭他们冒险的兴致,此后他们依旧满心欢喜地四处游玩。
"""prompt = f"""
执行以下操作:
1. 将三个反引号内的文本概括为一句话。
2. 把这句摘要翻译成法语。
3. 列出法语摘要中出现的所有人名。
4. 输出JSON对象,包括字段:french_summary、num_names。
5. 答案分行展示。
文本:
```{text}```
"""print(get_completion(prompt))

四、警惕:LLM 的幻觉问题

注意识别模型可能产生的虚构内容:

prompt = f"""
介绍以下李宁品牌的喜多多饮料
"""print(get_completion(prompt))

五、实用模板总结

场景Prompt 模板
文本摘要将以下文本总结为一句话/N个要点:{text}
格式转换将以下内容转换为JSON/Markdown/表格格式:{text}
步骤提取若文本包含操作指令,按步骤格式整理:{text}
风格模仿保持以下风格作答。示例:{example} 提问:{question}
多任务执行以下操作:1. ... 2. ... 3. ... 文本:{text}

六、总结

掌握Prompt Engineering需要持续实践,从明确指令到格式控制,逐步提升与大模型的协作效率。

热门栏目