链载Ai

标题: 提示词最佳实践(一):Prompt框架 [打印本页]

作者: 链载Ai    时间: 11 小时前
标题: 提示词最佳实践(一):Prompt框架


学习了智谱AI对外分享的prompt最佳实践,感触良多,记录一下自己的总结,本系列将分为三部分:prompt框架、prompt迭代优化和prompt评测与产品构建。

本篇是第一篇,主要介绍prompt框架。

01

prompt框架概述

第一个问题,prompt从何而来?

      第二个问题,什么是prompt?

      Prompt 是一种引导或提示,用于激发或引导人工智能(AI)模型,尤其是自然语言处理(NLP)模型,进行特定的任务或生成特定的输出。

      在AI领域,尤其是在构建对话系统或语言模型时,Prompt 是一个重要的概念,它帮助模型理解用户的意图并生成相应的回答

      那么,Prompt 它具备哪些能力呢?

      在实际应用中,Prompt 的设计是一门艺术,需要根据模型的特性和任务的需求精心设计,以达到最佳的交互和输出效果。

      prompt框架比较著名的有ICIO框架、LangGPT框架和CRISPE框架。

      ICIO框架是一种提高AI交互效率和准确性的方法,包含四部分:指令(Instruction)、背景信息(Context)、输入数据(Input Data)和输出指示器(Output Indicator)四个基本部分组成。
      LangGPT 是 Language For GPT 的简称,中文名为结构化提示词。
      LangGPT 是一个帮助你编写高质量提示词的工具,理论基础是一套模块化、标准化的提示词编写方法论——结构化提示词。

      Here is the markdown Role template:

      url:https://github.com/langgptai/LangGPT

      知识库:‌‬⁠‌⁠‌⁠‌⁠‍‍‌‬⁠‍‬https://langgptai.feishu.cn/wiki/RXdbwRyASiShtDky381ciwFEnpe

      # Role: Your_Role_Name
      ## Profile
      - Author: YZFly- Version: 1.0- Language: English or 中文 or Other language- Description: Describe your role. Give an overview of the role's characteristics and skills
      ### Skill-11.skill description 12.skill description 2
      ### Skill-21.skill description 12.skill description 2
      ## Rules1. Don't break character under any circumstance.2. Don't talk nonsense and make up facts.
      ## Workflow1. First, xxx2. Then, xxx3. Finally, xxx
      ## Tools
      ### browserYou have the tool `browser` with these functions:- Issues a query to a search engine and displays the results.- Opens the webpage with the given id, displaying it.- Returns to the previous page and displays it.- Scrolls up or down in the open webpage by the given amount.- Opens the given URL and displays it.- Stores a text span from an open webpage. Specifies a text span by a starting int `line_start` and an (inclusive) ending int `line_end`. To quote a single line, use `line_start` = `line_end`.
      ### python
      When you send a message containing Python code to python, it will be executed in a stateful Jupyter notebook environment. python will respond with the output of the execution or time out after 60.0seconds. The drive at '/mnt/data' can be used to save and persist user files. Internet access for this session is disabled. Do not make external web requests or API calls as they will fail.
      ### dalle
      Whenever a description of an image is given, use dalle to create the images and then summarize the prompts used to generate the images in plain text. If the user does not ask for a specific number of images, default to creating four captions to send to dalle that are written to be as diverse as possible.
      ### More Tools
      ## InitializationAs a/an <Role>, you must follow the <Rules>, you must talk to user in default <Language>,you must greet the user. Then introduce yourself and introduce the <Workflow>.

      CRISPE框架是由 Matt Nigh 提出并发布的提示词书写框架.

      02

      机器学习方法

      大模型领域,常用的学习方法有如下,在写提示词过程中会使用到这样的方法。

      Zero Shot Learning(零样本学习)

      零样本学习是一种机器学习技术,它允许模型在没有接受过特定类别的任何训练样本的情况下,对这些类别进行分类或任务。这是通过利用模型在预训练阶段获得的广泛知识来实现的,模型能够理解新类别的描述,并将其与已有知识联系起来。

      假设一个预训练的模型已经学习了大量关于动物的知识。在零样本学习场景中,如果给它一个它从未见过的新动物类别的描述,比如“斑马”,即使没有直接学习过斑马的图片,模型也能够根据描述推断出斑马的特征,并将其与其他动物区分开来。

      Few Shot Learning(少样本学习)

      少样本学习是机器学习中的一个概念,指的是模型在只有少量标注样本的情况下进行学习。与零样本学习相比,少样本学习提供了一些特定类别的样本,但数量远少于传统监督学习所需的大量样本。

      在一个图像分类任务中,如果使用少样本学习,模型可能只被提供了几个斑马的图片作为训练数据。

      尽管样本数量有限,但模型仍需学会识别新的斑马图片,即使这些图片在训练时并未见过。

      Zero Shot of Chain of Thought(零样本思维链)

      零样本思维链是零样本学习的一个扩展,它不仅依赖于模型对类别描述的理解,还依赖于模型能够通过一系列逻辑步骤或“思维链”来解决问题。这种方法可以帮助模型在没有直接训练的情况下,通过推理来完成任务。

      考虑一个数学问题解决任务,模型可能没有直接学习过特定的数学问题类型。但是,如果提供了问题的描述和解决问题所需的逻辑步骤,模型可以利用这些信息,通过一系列推理来找到答案。

      Chain of Thought(思维链)

      思维链是一种解决问题的方法,它涉及将复杂问题分解成一系列更小、更简单的步骤,然后逐步解决这些步骤以到达最终答案。在机器学习中,这通常意味着模型需要展示其解决问题的逻辑过程。

      在解决一个数学问题时,模型可能首先识别问题类型,然后应用相关的数学规则,接着逐步进行计算,最终得出答案。这个过程可以被看作是模型展示其“思维链”。

      Tree of Thought(思维树)

      思维树(ToT)是一种视觉化表示问题解决过程的方法,它将问题分解成多个分支,每个分支代表一个可能的解决方案或思考路径。这种方法有助于系统地探索所有可能的解决方案,并找到最佳答案。

      在编程问题解决中,模型可能会构建一个思维树,从问题陈述开始,然后分支出不同的算法选择、数据结构选择等。

      每个分支都代表了一个解决问题的潜在途径,模型需要评估每个分支的可行性,以找到最优解。

      Agent

      在人工智能领域,Agent指的是能够感知其环境并根据感知到的信息做出决策的系统。Agent可以是简单的如基于规则的系统,也可以是复杂的如具有学习能力的智能体。

      一个聊天机器人可以被视为一个Agent,它能够感知用户的输入(感知环境),并根据输入内容做出回应(做出决策)。

      这个Agent可能还具备学习用户偏好的能力,以更好地进行交互。

      03

      模型的参数

      大语言模型( LLM )的输出受超参数配置(configuration hyperparameters)影响,能控制模型的多个方面。

      温度(Temperature)

      温度可以控制语言模型输出的随机度。

      例如温度为 0.5 时模型生成内容将比 1.0 更容易预测且创造性更少。

      Top p

      Top p核心采样(nucleus sampling),是控制语言模型输出随机性的超参数配置。

      设定了一个概率阈值,并选择累积概率超过该阈值的最佳词汇,然后模型从这组词汇中随机抽取以生成输出。

      影响每次输出选词集中的程度,需要发散输出时可以适当拉高。

      其他相关参数

      还有许多其他超参数会影响语言模型的表现,如频率(frequency)和存在惩罚(presence penalties)。

      有了prompt的理论基础,接下来就是如何使用prompt框架去书写提示词,逐步迭代优化的过程。









      欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5