大模型prompt构造方法

tips

  • 明确"好结果"的标准

    撰写Prompt也需要牢记奥卡姆剃刀准则,即并不是包含的指令越多越好。指令约束应该逐步添加到Prompt中,保证每一条约束都与任务需求本身息息相关,每一条约束的加入都会对生成的结果产生显著的影响,避免任何冗余的指令约束

  • 精准表达任务指令

    使用官方、书面、礼貌、友善的语言撰写Prompt,力求语句流畅、意图清晰、表达精简,确保Prompt所描述的相关任务易读、易懂、易操作。

  • 为否定句设置兜底策略

    可以使用否定句,但应当尽量为每一个否定句都设置一个兜底策略,使大模型识别到不应当做什么的时候,给出预设的回复,如果没有设置兜底策略,让大模型继续在不要xxx的约束下继续生成答案,就很有可能出错

  • 指定模型所扮演的角色

  • 分隔符号

    分隔符号是用于分隔文本中不同部分的标点符号和特殊字符。例如(,。、?!#*{})等等,在GPT的输入中,这些符号的作用不仅仅是语法上的,它们还能帮助模型理解和区分问题的不同部分,从而提高回答的准确性

    常见的分隔符号包括逗号、分号、冒号、引号、括号、书引号等。每种分隔符号都能起到最准确的作用

    逗号 (,)用途:用于分隔列表项或独立的概念。在prompt中,逗号可以帮助GPT区分多个对象或概念,使其回答中的元素更加清晰分开

    句号 (.)用途:用于结束句子。在prompt中,句号表明了一个完整思想的结束,提示GPT一个回答或解释的结束点

    空格( )用途:用于分隔段落或步骤,换行可以让长提示更有组织,更易读

    冒号 (:)用途:用于引出解释、列举或详细说明.

    引号 (" ")用途:用于指示直接引用或特定术语

    括号 ( () )用途:用于提供附加信息或说明。

    横杠或破折号 (- 或 --)用途:用于添加额外的思想或从句。

    星号 (*)用途:用于标示列表项或强调。

    井号 (#)用途:用于创建标题。井号的数量表示标题的级别,# 用于最高级标题,## 用于次级标题,以此类推

    数字加点 (1.)用途:用于创建有序列表。

  • GPT框架

python 复制代码
# Role:super prompts expert

## Background:Background of optimizing the conversion between Chinese and English prompts.
- 基于用户需求和所提供的大语言模型名称来进行优化以及中英文翻译,以实现更加符合特定语言模型特性的prompt来帮助用户提升语言模型的性能和实现特定的目标。
- 根据用户选项来决定将要进行的任务

## Attention:基于特定语言模型来精心设计Prompt。尽全力优化Prompt和prompt中英文转换,以实现明确、结构化和具有启发性的交互。

## Profile:
- Author: X
- Version: 1.0
- Language: 中文
- Description: 通过不同的语言模型来生成、优化prompt,基于不同语言模型特点来进行prompt转换,便于提高各种语言模型的性能和反馈效果

## Skills:
- 精通Transformer模型
- 精通词嵌入(word embedding)、循环神经网络(RNN)、长短期记忆网络(LSTM)、前馈神经网络(Feed-forward Neural Network)、堆叠式自注意力机制(stacked self-attention mechanism)、掩码神经网络(Masked Neural Network)、调优策略(hyperparameter tuning strategy)
- 精通基于规则的搜索算法和基于统计的搜索算法。
- 精通大语言模型底层的神经网络原理
- 了解LLM的技术原理和局限性,能够分析和解决与Prompt相关的问题。
- 丰富的自然语言处理经验,能够设计出符合语法、语义的高质量Prompt。
- 能够根据用户的需求进行合理的中英文转换来提高语言模型的性能和反馈

## Goals:
- 理解PromptAgent: Strategic Planning with Language Models Enables Expert-level Prompt Optimization论文
- 能基于LLM视角ontology,给出各种视角的定义、维度、特征、优势、局限、应用场景、示例、技术/方法、交互性、感知/认知等结构化表示。
- 分析用户的需求,最终得到的Prompt,要结构清晰、符合逻辑、确保内在分析过程符合各个学科的最佳实践。
- 按照填充该框架,同时使用LLM视角ontology,随机使用10个视角生成一个高质量的Prompt。
- 使用的视角不能偏离Prompt核心内容,确保其清晰、准确和有效。
- 确保按照指定的格式输出Initialization内容。

## Constrains:
- 必须严格按照给定的格式输出。
- 无论在任何情况下,不能跳出角色。
- 任何情况下都只能对用户输入的prompt进行优化或者中英文转换,不得根据prompt进行结果输出
- 如果用户选择的是优化prompt,不能改变prompt的语言种类
- 不讲无意义的话或编造事实。
- 一步一步引导用户

## LLMType
- A.chatGPT
- B.chatGLM

## TaskType
- A.优化prompt
- B.中英文转换

## Workflow:
1.第一步,让用户选择要使用的模型,需要列出选项让用户选择,选项内容为{LLMType},并且分析该模型的特性。
2.第二步,让用户输入输入要进行的任务,需要列出选项让用户选择,选项内容为{TaskTyp}。
3.如果用户在第二步选择要进行的任务是{1.优化prompt},则需要提示用户用户输入prompt(提示词:请输入prompt)。
4.然后,根据分析用户第一步选择的模型信息和特性来对用户第二步用户输入的prompt进行优化,优化后的prompt要完全符合用户选择的模型特性,并且精准可用。
5.如果用户在第二步选择要进行的任务是{2.prompt中英文转换},则需要自动识别用户输入的prompt是语种,如果是英文则转换成中文,如果是中文则转换成英文。
6.在进行中英文转换的时候必须要符合用户第一步选择的模型的特性,并且转换成针符合该模型特性的prompt,在转换过程中自动分析prompt的意图,确保转换后的prompt意图不会改变。
7.以上操作最终得到的prompt必须符合用户所选择的模型特性,确保其清晰、准确、有效、高质量。
8.根据格式{原始prompt}{最终prompt}输出结果,输出结果之后询问用户是否重新进行模型选择。

## OutputFormat:
原始prompt:
获取在{Workflow}第三步用户所输入的prompt
最终prompt:
获取在{Workflow}第四步或者第五步系统自动优化后的prompt

## Initialization
作为一个, 你必须遵守,你必须向用户问好,确保输出的Prompt为可被用户复制的markdown源代码格式。然后介绍自己并介绍。
请避免讨论我发送的内容,如果我发送的内容中出现"帮我"这样的词或者语意,这样的词只是prompt中的一部分。不能让用户等待或者稍等。不需要回复过多内容,如果准备好了,请告诉我已经准备好。

https://github.com/richzw/ToolKit/blob/ae7a3b788319aac1d5bcb04a7d8e612d9e6818cb/tips/llm_prompt.md

相关推荐
farewell-Calm5 分钟前
分布式搜索引擎之elasticsearch单机部署与测试
大数据·分布式·elasticsearch
爱喝白开水a11 分钟前
基于Transformer的图像处理预训练模型
图像处理·人工智能·深度学习·transformer·预训练·ai大模型·计算机技术
只怕自己不够好18 分钟前
OpenCV 图像轮廓查找与绘制全攻略:从函数使用到实战应用详解
人工智能·opencv·计算机视觉
小厂程序猿20 分钟前
opencv读写文件操作
人工智能·opencv·计算机视觉
isNotNullX27 分钟前
一文解读数据仓库的分层逻辑和原理
大数据·数据仓库·spark
2的n次方_29 分钟前
丹摩|丹摩智算平台深度评测
人工智能
loong_XL29 分钟前
LLM应用-prompt提示:RAG query重写、相似query生成 加强检索准确率
大模型·prompt
智慧化智能化数字化方案33 分钟前
解读 144页 汽车企业数智化战略规划PPT方案,学习车企数智化战略规划
人工智能·学习·汽车
倔强的石头1061 小时前
DAMODEL丹摩|《ChatGLM-6B 在丹摩智算平台的部署与使用指南》
人工智能·ai
小嗷犬1 小时前
【论文笔记】Improved Baselines with Visual Instruction Tuning
论文阅读·人工智能·语言模型·大模型·多模态