type
status
date
slug
summary
tags
category
icon
password
状态
专注质量
预计(分钟)
开始时间
结束时间
代码+笔记链接:

引言—两种LLM

  • Base LLM(文字接龙版本)
    • notion image
  • 指令微调LLM
    • notion image
显而易见,使用第二种LLM构建应用程序具有更好的稳定性,产出更高效和无害的内容。

指南—更有效的提问

编写明确和具体的指令

  • 使用分隔符将要处理的内容标注出来
    • notion image
  • 指定模型的输出格式,比如Json、html,这样做的好处是可以在程序中将其读入字典或者列表中。
    • 检查一些条件和假设是否满足
      • Few-Shot Prompting

        给模型足够的时间思考

        • 将任务分解为多个步骤
          • 指导模型在下结论之前找出一个自己的解法

          局限性:虚假的知识

          模型会输出看上去非常真实的编造知识,这有时会很危险。因此,请确保使用我们在本节中介绍的一些技巧,以尝试在构建自己的应用程序时避免这种情况。这是模型已知的一个弱点,也是我们正在积极努力解决的问题。在你希望模型根据文本生成答案的情况下,另一种减少幻觉的策略是先要求模型找到文本中的任何相关引用,然后要求它使用这些引用来回答问题,这种追溯源文档的方法通常对减少幻觉非常有帮助。

          迭代优化

          notion image
          notion image

          问题一:回答太长

          问题二:没有理解侧重点

          问题三:以表格形式输出

          摘要

          当今世界上有太多的文本信息,几乎没有人能够拥有足够的时间去阅读所有我们想了解的东西。但令人感到欣喜的是,目前LLM在文本概括任务上展现了强大的水准,也已经有不少团队将这项功能插入了自己的软件应用中。

          最简版本

          添加侧重点

          多条摘要测试

          在实际的工作流中,我们往往有许许多多的评论文本,以下展示了一个基于for循环调用“文本概括”工具并依次打印的示例。当然,在实际生产中,对于上百万甚至上千万的评论文本,使用for循环也是不现实的,可能需要考虑整合评论、分布式等方法提升运算效率。

          推断

          如果你想要从一段文本中提取正面或负面情感,在传统的机器学习工作流程中,需要收集标签数据集、训练模型、确定如何在云端部署模型并进行推断。这样做可能效果还不错,但是这个过程需要很多工作。而且对于每个任务,如情感分析、提取实体等等,都需要训练和部署单独的模型。
          大型语言模型的一个非常好的特点是,对于许多这样的任务,你只需要编写一个prompt即可开始产生结果,而不需要进行大量的工作。这极大地加快了应用程序开发的速度。你还可以只使用一个模型和一个 API 来执行许多不同的任务,而不需要弄清楚如何训练和部署许多不同的模型。

          情感分类

          识别情感类型

          识别愤怒

          从客户评论中提取产品和公司名称

          一次完成多项任务

          推断主题

          新闻提醒系统

          文本转换

          该模块在Notion AI中有大量应用,具体来说,LLM可以做到:
          1. 文本翻译
            1. 语气调整 == Notion AI的Change Tone功能
            1. 格式转换→转Json,Mermaid等
            1. 拼写及语法纠正
            1. 语法修改
            notion image

            文本扩展

            扩展是将短文本,例如一组说明或主题列表,输入到大型语言模型中,让模型生成更长的文本,例如基于某个主题的电子邮件或论文。这样做有一些很好的用途,例如将大型语言模型用作头脑风暴的伙伴。但这种做法也存在一些问题,例如某人可能会使用它来生成大量垃圾邮件。因此,当你使用大型语言模型的这些功能时,请仅以负责任的方式和有益于人们的方式使用它们。
            在本章中,你将学会如何基于 OpenAI API 生成适用于每个客户评价的客户服务电子邮件。我们还将使用模型的另一个输入参数称为温度,这种参数允许您在模型响应中变化探索的程度和多样性。

            定制客户邮件

            使用温度

            接下来,我们将使用语言模型的一个称为“温度”的参数,它将允许我们改变模型响应的多样性。您可以将温度视为模型探索或随机性的程度。
            例如,在一个特定的短语中,“我的最爱食品”最有可能的下一个词是“比萨”,其次最有可能的是“寿司”和“塔可”。因此,在温度为零时,模型将总是选择最有可能的下一个词,而在较高的温度下,它还将选择其中一个不太可能的词,在更高的温度下,它甚至可能选择塔可,而这种可能性仅为五分之一。您可以想象,随着模型继续生成更多单词的最终响应,“我的最爱食品是比萨”将会与第一个响应“我的最爱食品是塔可”产生差异。因此,随着模型的继续,这两个响应将变得越来越不同。
            一般来说,在构建需要可预测响应的应用程序时,我建议使用温度为零。在所有课程中,我们一直设置温度为零,如果您正在尝试构建一个可靠和可预测的系统,我认为您应该选择这个温度。如果您尝试以更具创意的方式使用模型,可能需要更广泛地输出不同的结果,那么您可能需要使用更高的温度。
            notion image

            聊天机器人

            初始化

            在之前,我们使用LLM的函数定义为:
            可以看到,messages不需要我们传入,这和网页端的ChatGPT是一致的,我们只需要发送当前的Prompt,而不需要处理消息传入。如果要使用聊天机器人,我们要定义一个新的函数,如下:
            messeges这里,role分为系统、用户、助手三种:
            • 系统:提供了一个总体的指示,在这个消息之后,我们有用户和助手之间的交替。如果你曾经使用过 ChatGPT 网页界面,那么你的消息是用户消息,而 ChatGPT 的消息是助手消息。系统消息则有助于设置助手的行为和角色,并作为对话的高级指示。你可以想象它在助手的耳边低语,引导它的回应,而用户不会注意到系统消息。
            • 用户:等价于网页端ChatGPT我们发送的信息
            • 助手:等价于网页端ChatGPT回应的信息
            接下来,写一个案例:
            有了这个案例,我们可以自己编写出更多的花样:

            订餐机器人

            小结

            在正式的软件开发过程中,提示词的编写固然很重要,但并不是唯一的。作为一个有头脑、有责任担当的提示词软件工程师,不仅要做到充分发挥创意,开发真正有趣和有用的应用,还要做到平衡好人工智能系统的风险和机遇。
            💡
            Written by Aryue,editted by Notion AI.
            LangChain学习代码随想录—字符串
            Aryue
            Aryue
            一个普通的干饭人🍚
            公告
            type
            status
            date
            slug
            summary
            tags
            category
            icon
            password
            状态
            专注质量
            预计(分钟)
            开始时间
            结束时间
            📧:578626935@qq.com