微信扫码
与创始人交个朋友
我要投稿
在开发新应用时,从提示设计入手是一个明智的选择。提示设计的重要性既容易被低估,也容易被高估。正确使用提示技术可以带来显著效果,但即使是基于提示的应用,也需要大量的工程工作才能运行良好。
通过 n-shot 提示进行上下文学习的核心思路是给大语言模型 (LLM) 提供一些示例,这些示例展示了任务要求,并引导模型输出符合预期。以下是一些提示:
示例数量:n 不能过低,一般应不少于 5,甚至可以达到几十个。
示例代表性:示例应能代表预期输入的分布。例如,构建电影摘要生成器时,应包含不同类型的样本,比例与实际情况相符。
部分示例:不一定要提供完整的输入输出对,很多情况下,仅提供期望输出的示例就足够了。
工具使用:如果模型支持工具,n-shot 示例也应包括希望智能体使用的工具。
在思维链 (CoT) 提示中,鼓励大语言模型在返回最终答案之前解释其思维过程。最初的方法是简单地在指令中添加“让我们一步一步思考”这个短语。然而,我们发现使链式思维更具体,通过添加一两句额外的说明,可以显著降低幻觉率。以下是一个具体的示例:
假设我们需要总结一场会议的记录,我们可以使用以下思维链提示:
首先,在草稿本上列出关键决策、后续事项和相关负责人。
然后,检查草稿本中的细节是否与记录一致。
最后,将关键点综合成一个简洁的摘要。
提供相关资源是一种强大的方法,可以扩展模型的知识库,减少幻觉,并增加用户信任。通常通过检索增强生成 (RAG) 实现。关键是要告诉模型优先使用这些资源,直接引用它们,并在资源不足时提到这一点。
假设我们在生成产品描述时,可以提供以下相关资源:
资源1:
产品名称:智能家居助手
颜色:黑色、白色
价格:49.99美元
尺寸:5英寸
功能:控制灯光、恒温器和其他连接设备
资源2:
用户评价:这个智能家居助手非常方便,能够通过语音或应用控制家中的设备。
将输入和输出进行结构化可以帮助模型更好地理解输入,并返回可靠的输出。为输入添加序列化格式可以提供更多关于上下文中 tokens 之间关系的线索,或将请求与模型训练数据中的类似示例联系起来。
很多关于编写 SQL 的问题在互联网上都以指定 SQL 模式开始。因此,针对文本到 SQL 的有效提示应该包括结构化的模式定义。以下是一个具体的示例:
输入:
{
"模式": "CREATE TABLE users (id INT, name TEXT, age INT);",
"问题": "获取所有年龄大于30岁的用户。"
}
输出:
"SELECT * FROM users WHERE age > 30;"
提示词通常从简单开始,但随着需求增加,复杂性也随之增加。一个简单的提示词可能会变成一个包含 2000 个 token 的复杂体。因此,保持提示词的简洁非常重要。
与其为一个任务提供包罗万象的提示词,不如将任务分解为几个步骤:
1. 提取关键决策、行动项和负责人,并转化为结构化格式。
2. 检查提取的细节与原始记录的一致性。
3. 从结构化细节中生成简明的摘要。
步骤1:提取关键决策、行动项和负责人:
输入:会议记录文本
输出:{决策: [], 行动项: [], 负责人: []}
步骤2:检查一致性:
输入:提取的细节和原始记录
输出:一致性检查结果
步骤3:生成摘要:
输入:一致的细节
输出:简明摘要
重新思考并挑战你关于需要向智能体发送多少上下文信息的假设。不是不断堆砌上下文,而是剔除多余的部分,直到雕塑显现。通过将提示词放在一张空白页上阅读,可以重新思考上下文,发现冗余、自相矛盾的语言和糟糕的格式。
。
THE END.
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-09-18
2024-07-18
2024-07-02
2024-07-10
2024-07-09
2024-07-15
2024-07-10
2024-08-14
2024-07-14
2024-07-26
2024-11-20
2024-11-13
2024-10-31
2024-10-29
2024-10-16
2024-09-19
2024-08-28
2024-08-24