【AI】prompt engineering

prompt engineering ## prompt engineering ## prompt engineering ## prompt engineering

一、定义

Prompt 工程(Prompt Engineering)是指在使用语言模型(如 ChatGPT、文心一言等)等人工智能工具时,设计和优化输入提示(prompts)的过程。这些输入提示是用户向模型提出的文本指令,用于引导模型生成满足特定需求的高质量输出,比如回答问题、生成文本内容(故事、诗歌、代码等)。

二、 概念
样本提示

样本提示是指在prompt engineering过程中,通过向大模型定数量的示例,以便引导大模型生成特定的、高

质量的输出。从提供样本数量的角度,可以分为zero-shot和few-shot,此外我们基于实际使用,增加了一种

新的定义:full-shot,即全量样本。

zero-shot few-shot full-shot
定义 指在没有提供任何示例的情况下,
利用经过大量数据训练并调整指令
的大型语言模型(LLM)来执行任
务。
few-shot是指通过在提示中提供少量示
例来引导模型进行上下文学习,使大模
型捕获示例的特征,输出更符合预期的
结果。
是指通过枚举所有可能性来制作样
本,输入大模型,让大模型在样本的
范围内返回内容。
prompt举例 翻译任务:
请将用户给定的内容进行中文和
英文互译
情感分析:
请分析用户给定内容的情感,属于正
面、负面或者中性,示例:
我今天感觉棒极了!–正面
这真是糟糕透顶的一天。–负面
今天是星期三。–中性
根据用户偏好中每周运动天数安排
周计划的运动日和休息日
{ {exercise_days}为0时,每周运
动日应为0天,休息日为7天。
{ {exercise_days}为1时,每周运
动日应为1天,休息日为6天。
{ {exercise_days}为2时,每周运
动日应为2天,休息日为5天。
{ {exercise_days}为3时,每周运
动日应为3天,休息日为4天。
{ {exercise_days}为4时,每周运
动日应为4天,休息日为3天。
{ {exercise_days}}为5时,每周运
动日应为5天,休息日为2天。
{ {exercise_days}为6时,每周运
动日应为6天,休息日为1天。
{ {exercise_days}为7时,每周运
动日应为7天,休息日为0天。
使用场景 适用于模型已经在大量数据上进行
了训练,能够理解和执行某些任务
的场景。如:
判断内容的情感倾向或者正面/负
适用于模型在没有足够数据的情况下,
难以准确执行任务的场景。如:
物体识别、特征识别
适用于可能性数量较小且确定的场
景,限定大模型自由发挥的空间,确
保生成结果不超出预设范围。
思考方式
  1. Chain - of - Thought (COT)
    • 定义
      • 思维链(Chain - of - Thought)是一种在自然语言处理中用于提升语言模型推理能力的技术。它通过在提示(prompt)中加入中间推理步骤,引导语言模型像人类一样逐步思考并解决问题,而不是直接给出答案。
    • 工作原理
      • 以一个数学文字题为例,如 “小明有 5 个苹果,小红的苹果数是小明的 3 倍少 2 个,问小红有几个苹果?”。传统的 prompt 可能只是简单地将问题输入给语言模型,要求其输出答案。而在 COT 中,prompt 会这样设计:“首先,我们知道小明有 5 个苹果。然后,计算小明苹果数的 3 倍,即 5×3 = 15 个。接着,因为小红的苹果数是小明的 3 倍少 2 个,所以用 15 - 2 = 13 个。所以,小红有 13 个苹果。”
      • 通过这种逐步推理的提示,语言模型能够更好地理解问题的解决逻辑,并且在遇到类似的推理问题时,按照这种思维链模式进行思考和回答。
    • 应用场景
      • 数学和逻辑推理问题:在解决复杂的数学方程式、几何证明以及逻辑谜题等方面表现出色。例如,在证明几何定理时,思维链可以引导模型从已知条件出发,逐步推导出结论。
      • 知识问答和文本理解:对于需要深度理解和推理的知识问答,如历史事件的因果分析、科学原理的解释等,COT 可以帮助模型提供更有条理的回答。例如,在回答 “工业革命对社会结构产生了什么深远影响?” 时,模型可以通过思维链先阐述工业革命带来的生产力变化,再说明这种变化如何导致社会阶层的分化和重组等。
检索增强生成(Retrieval-Augmented Generation, RAG)

检索增强生成(Retrieval-Augmented Generation, RAG)是一种结合信息检索和生成模型的技术,旨在提高生成式模型的准确性和信息丰富性。传统的生成模型(如GPT-3)在生成文本时主要依赖于训练数据中的知识,而检索增强生成通过引入外部知识库或文档库,能够在生成过程中动态获取相关信息,从而生成更为准确和上下文相关的内容。

RAG 的基本流程包括以下几个步骤:

  1. 检索阶段:在生成文本之前,系统会根据输入查询从一个大型的外部文档库中检索出与查询相关的文档或信息片段。这通常使用信息检索技术,如向量检索(如使用 ByteGraph)。
  2. 生成阶段:将检索到的相关文档或信息片段与原始输入一起传递给大语言模型,以生成最终的输出文本。大语言模型会利用这些附加信息来提高生成内容的准确性和相关性。

这种方法的优点在于:

  • 增强知识覆盖:通过访问外部知识库,生成模型可以利用最新的信息,而不局限于训练数据。
  • 提高准确性:检索到的相关信息可以帮助生成模型避免常识性错误或过时的信息。
  • 灵活性:可以根据不同的任务或领域,动态调整检索的文档库,以适应不同的需求。

RAG 在问答系统、对话系统和内容生成等领域有广泛的应用,尤其是在企业内部需要高准确性和实时信息的场景中表现出色。

工具(Tooling)

大语言模型最初主要用于来生成文本。为了增强其功能和实用性,现代大语言模型可以与外部工具(也称为“函数(function)”或“API”)集成。这种集成使得模型能够执行更复杂的任务,超越其原始的文本生成能力。

工具(Tools)通常是外部的API或函数,提供特定的功能或服务。大语言模型可以通过调用这些工具来获取信息或执行特定任务。例如,模型可以调用一个天气API来获取实时天气信息,或者调用一个计算器函数来执行复杂的数学运算。工具的集成与调用包括:

  • API调用:模型通过HTTP请求与外部API进行通信。API通常提供RESTful接口,模型可以发送请求并解析响应。
  • 插件系统:如 Coze 这样的平台为大语言模型提供插件系统和自动化流程系统,使得模型可以动态加载和使用不同的工具。
  • 函数调用:在某些实现中,模型可以直接调用预定义的函数,这些函数可以是本地的或远程的。

大模型工具的使用,可以:

  • 扩展能力:通过工具集成,模型的能力可以大大扩展,能够处理更广泛的任务。
  • 实时性:工具可以提供实时数据和信息,使得模型的输出更加准确和相关。
  • 专业性:通过调用专门的工具,模型可以在特定领域提供更专业和深入的服务。

典型的应用场景包括:

  • 数据查询分析:数据查询分析领域可以执行通过可以执行 SQL 的工具访问企业内部的数据,调用飞书的 API 接口生成飞书文档,并提醒飞书联系人关注。
  • 客户服务:在客户服务中,模型可以调用CRM系统API来获取客户和订单信息,从而提供个性化的服务。
  • 金融分析:在金融领域,模型可以调用市场数据API来分析股票趋势和进行投资建议。
SerpApi: Google Search API

猜你喜欢

转载自blog.csdn.net/Nanki_/article/details/147079650
今日推荐