type
status
date
slug
summary
tags
category
icon
password
状态
专注质量
预计(分钟)
开始时间
结束时间
代码+笔记链接:
引言—两种LLM
- Base LLM(文字接龙版本)
- 指令微调LLM
显而易见,使用第二种LLM构建应用程序具有更好的稳定性,产出更高效和无害的内容。
指南—更有效的提问
编写明确和具体的指令
- 使用分隔符将要处理的内容标注出来
- 指定模型的输出格式,比如Json、html,这样做的好处是可以在程序中将其读入字典或者列表中。
- 检查一些条件和假设是否满足
- Few-Shot Prompting
给模型足够的时间思考
- 将任务分解为多个步骤
- 指导模型在下结论之前找出一个自己的解法
局限性:虚假的知识
模型会输出看上去非常真实的编造知识,这有时会很危险。因此,请确保使用我们在本节中介绍的一些技巧,以尝试在构建自己的应用程序时避免这种情况。这是模型已知的一个弱点,也是我们正在积极努力解决的问题。在你希望模型根据文本生成答案的情况下,另一种减少幻觉的策略是先要求模型找到文本中的任何相关引用,然后要求它使用这些引用来回答问题,这种追溯源文档的方法通常对减少幻觉非常有帮助。
迭代优化
问题一:回答太长
问题二:没有理解侧重点
问题三:以表格形式输出
摘要
当今世界上有太多的文本信息,几乎没有人能够拥有足够的时间去阅读所有我们想了解的东西。但令人感到欣喜的是,目前LLM在文本概括任务上展现了强大的水准,也已经有不少团队将这项功能插入了自己的软件应用中。
最简版本
添加侧重点
多条摘要测试
在实际的工作流中,我们往往有许许多多的评论文本,以下展示了一个基于for循环调用“文本概括”工具并依次打印的示例。当然,在实际生产中,对于上百万甚至上千万的评论文本,使用for循环也是不现实的,可能需要考虑整合评论、分布式等方法提升运算效率。
推断
如果你想要从一段文本中提取正面或负面情感,在传统的机器学习工作流程中,需要收集标签数据集、训练模型、确定如何在云端部署模型并进行推断。这样做可能效果还不错,但是这个过程需要很多工作。而且对于每个任务,如情感分析、提取实体等等,都需要训练和部署单独的模型。
大型语言模型的一个非常好的特点是,对于许多这样的任务,你只需要编写一个prompt即可开始产生结果,而不需要进行大量的工作。这极大地加快了应用程序开发的速度。你还可以只使用一个模型和一个 API 来执行许多不同的任务,而不需要弄清楚如何训练和部署许多不同的模型。
情感分类
识别情感类型
识别愤怒
从客户评论中提取产品和公司名称
一次完成多项任务
推断主题
新闻提醒系统
文本转换
该模块在Notion AI中有大量应用,具体来说,LLM可以做到:
- 文本翻译
- 语气调整 == Notion AI的Change Tone功能
- 格式转换→转Json,Mermaid等
- 拼写及语法纠正
- 语法修改
文本扩展
扩展是将短文本,例如一组说明或主题列表,输入到大型语言模型中,让模型生成更长的文本,例如基于某个主题的电子邮件或论文。这样做有一些很好的用途,例如将大型语言模型用作头脑风暴的伙伴。但这种做法也存在一些问题,例如某人可能会使用它来生成大量垃圾邮件。因此,当你使用大型语言模型的这些功能时,请仅以负责任的方式和有益于人们的方式使用它们。
在本章中,你将学会如何基于 OpenAI API 生成适用于每个客户评价的客户服务电子邮件。我们还将使用模型的另一个输入参数称为温度,这种参数允许您在模型响应中变化探索的程度和多样性。
定制客户邮件
使用温度
接下来,我们将使用语言模型的一个称为“温度”的参数,它将允许我们改变模型响应的多样性。您可以将温度视为模型探索或随机性的程度。
例如,在一个特定的短语中,“我的最爱食品”最有可能的下一个词是“比萨”,其次最有可能的是“寿司”和“塔可”。因此,在温度为零时,模型将总是选择最有可能的下一个词,而在较高的温度下,它还将选择其中一个不太可能的词,在更高的温度下,它甚至可能选择塔可,而这种可能性仅为五分之一。您可以想象,随着模型继续生成更多单词的最终响应,“我的最爱食品是比萨”将会与第一个响应“我的最爱食品是塔可”产生差异。因此,随着模型的继续,这两个响应将变得越来越不同。
一般来说,在构建需要可预测响应的应用程序时,我建议使用温度为零。在所有课程中,我们一直设置温度为零,如果您正在尝试构建一个可靠和可预测的系统,我认为您应该选择这个温度。如果您尝试以更具创意的方式使用模型,可能需要更广泛地输出不同的结果,那么您可能需要使用更高的温度。
聊天机器人
初始化
在之前,我们使用LLM的函数定义为:
可以看到,messages不需要我们传入,这和网页端的ChatGPT是一致的,我们只需要发送当前的Prompt,而不需要处理消息传入。如果要使用聊天机器人,我们要定义一个新的函数,如下:
messeges这里,role分为系统、用户、助手三种:
- 系统:提供了一个总体的指示,在这个消息之后,我们有用户和助手之间的交替。如果你曾经使用过 ChatGPT 网页界面,那么你的消息是用户消息,而 ChatGPT 的消息是助手消息。系统消息则有助于设置助手的行为和角色,并作为对话的高级指示。你可以想象它在助手的耳边低语,引导它的回应,而用户不会注意到系统消息。
- 用户:等价于网页端ChatGPT我们发送的信息
- 助手:等价于网页端ChatGPT回应的信息
接下来,写一个案例:
有了这个案例,我们可以自己编写出更多的花样:
订餐机器人
小结
在正式的软件开发过程中,提示词的编写固然很重要,但并不是唯一的。作为一个有头脑、有责任担当的提示词软件工程师,不仅要做到充分发挥创意,开发真正有趣和有用的应用,还要做到平衡好人工智能系统的风险和机遇。
Written by Aryue,editted by Notion AI.
- 作者:Aryue
- 链接:www.aryue.com/article/b3f1627e-1de9-4a9e-8298-d607bf589a08
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章