Prompt提示工程上手指南:基础原理及实践(三)-Prompt个性知识库引导

前言

Prompt系列的第二期文章已经将所有的Prompt工程主流策略讲解完毕,共涉及到六种Prompt类别模型以及具体生产内容详解。再结合系列第一篇文章具体对Prompt工程的详细介绍,也就可以达到Prompt工程师的初步入门,现在如果掌握了这些基础技能那么就可以去学习一些更高阶的Prompt技能,伴随GPT-4 Turbo达到可生成自定义的GPTs,能够搭建属于业务目标的知识数据库,我们现在需要结合知识库的种类和数据形式,去做Prompt的迭代以达到我们想要的语言生成结果。

大模型应用总体架构

一般来说我们所掌握的Prompt技能都是要结合业务逻辑去构建,因此我们了解了整个Prompt Engineering之后就不能只拿Prompt局部做实验,而是要看整体的大模型落地运用时Prompt工程所处地位。以AI Agent实际项目搭建为例,我们进行整个大模型开发剖析:

上图清晰可见Prompt Engineering在整体AI原生开发流程中的应用,模型微调一次和训练一次的成本还是比较大的,想要在已经训练完毕的模型上不进行过多微调的情况下,迭代Prompt是最优的策略。生产的文本一般都需要专业业务对接人员进行评估,根据评估结果再进行迭代Prompt,直到业务方基本满意再进行套件开发,最后上线。上线维护也需要根据用户体验反馈来不断迭代Prompt。

额外数据库引导

Prompt构建无非是对业务流程的具体总结,其中涉及到最多的是对业务数据进行提取最后返回给业务对接的客户,那么这些业务数据对于AI能否真正利用得到是整个AI搭建里面重要关键的验证功能之一。个性化的AI知识问答或者是AI Agent一般都具备自己业务那块的知识库,我们在一些常见的大模型开发平台都能看到:

需要注意的是,这些知识数据库和transformer训练过程中的数据库是不同的,后者是从这些文本中学习语言模型,包括词汇、语法、事实信息以及不同领域的专业知识。而前者则是额外可以通过代码接收器来调用下载的额外数据,也就是说你可以通过强化Prompt使得AI模型可以去调用你的数据库进行一系列操作,这对于小型咨询业务涉及不到大规模垂直领域数据来说会十分快捷好用。我们仅需要上传需要处理的文件,然后设置发出指令的prompt就好。结合prompt策略可以起到联动效果。较为成熟的产品比如: 

 

原理就是如此。

Prompt引导策略

如果我们现在需要分析荒漠植物群落空间格局变化,用于科研论文创作。这里大家如果有其他的业务数据集可以先按照此步骤来实验,首先明确业务逻辑,此业务逻辑为我拿到荒漠植物群落空间格局变化的数据之后,先去了解该数据的形态和行列数据特征,将这些行列特征字段说明大体清楚一遍,之后确定好目标方向和结果产出应该达到的内容,我们就可以进行prompt工程构建了,参考paper:

 这篇论文中AI主体prompt格式撰写:

You need to role-play according to the description in the following tasks. You can only respond as the role of the task, not as a language model. If you remember your identity incorrectly, you will be punished.
Task: You are currently a biologist studying the growth patterns of desert plants. You need to conduct professional analysis based on the table data I provided to you and answer the academic questions I have raised.

Q:Please analyze the growth of bubble thorns in the desert

A:The data contains information on the growth of Bubble Thorns (Nitraria sphaerocarpa) in the desert, observed within various plots at a comprehensive observation site for desert ecosystem soil biology sampling. Here's a summary of the findings on Bubble Thorns from the initial rows of the dataset:

- **Location and Context**: The observations were made at a comprehensive observation site for desert ecosystems, focusing on soil and biology sampling areas.

- **Sample Plot Details**: The observations include details like plot codes, names, types, sample numbers, and plot sizes, which are consistently 10×10 meters.

- Bubble Thorns Observations

  :

  - In the first sample plot (plot number 1, location 10), 2 Bubble Thorn plants were observed with an average height of 35 cm.
  - In the second plot (plot number 2, location 20), there were 11 Bubble Thorn plants with an average height of 13 cm.
  - In the third plot (plot number 3, location 30), 3 Bubble Thorn plants were observed with an average height of 11 cm.

These observations suggest a variability in the density (number of plants per plot) and average heights of Bubble Thorns across different locations within the site. This variability could be influenced by factors like soil composition, moisture levels, and other environmental conditions specific to each plot. Further analysis would involve looking at trends over time (yearly changes), spatial distribution patterns across the entire observation area, and the impact of environmental factors on the growth and distribution of Bubble Thorns in the desert.

 从提取出的数据回答来看,很明显GPTs可以从我们提供的数据集来进行分析,结合语言模型自带训练知识库之上再进行分析,效果类似于行业垂直领域的数据分析师:

Q:请以泡泡刺植物的高度来推测它的生长环境变化

A:我的分析将基于泡泡刺植物的高度数据来推测其生长环境的变化。首先,我将筛选出所有与泡泡刺植物相关的记录,重点关注其高度随时间变化的数据,这有助于我们理解其生长环境如何变化。让我开始进行这一分析。

根据分析泡泡刺植物的数据,我们得到了以下高度统计信息:

- 观察到的样本数量为234个。
- 泡泡刺植物的平均高度为23.83厘米。
- 标准差为8.63厘米,表明高度在样本之间有一定的变化。
- 最小高度为0厘米,这可能代表了一些异常值或者数据录入错误。
- 第25百分位数(较小的高度)为19.5厘米,中位数(中间的高度)为23.8厘米,第75百分位数(较高的高度)为28厘米,表明大多数泡泡刺植物的高度集中在这个范围内。
- 最大高度为86.5厘米,这个值相比平均值来说异常高,可能指出在某些特定条件下,泡泡刺植物能够达到非常高的生长水平。

这些统计数据揭示了泡泡刺植物的高度分布情况,其中平均高度和中位数的接近表明大多数泡泡刺植物的高度分布相对均匀。最大高度的显著差异可能表明在特定的环境条件下(如更优越的土壤条件、水分供应或其他生态因素),泡泡刺植物能够实现更加显著的生长。

结合这些数据,我们可以推测泡泡刺植物的生长环境可能具有一定的变化性,其中部分环境条件可能极为有利于其生长。然而,要深入了解这种变化和具体的环境因素,还需要进一步分析相关的生态数据,如降水量、土壤类型、温度变化等。这些环境参数的变化可能是导致泡泡刺植物高度差异的关键因素。

 需要注意的是这里需要开启代码解释器,AI会自动通过python代码读取并分析,其中分析逻辑也会展示:

import pandas as pd# Load the provided Excel file to review the data related to 泡泡刺植物 (Bubble Thorn Plant)
file_path = '/mnt/data/荒漠植物群落空间分布格局变化.xls'
data = pd.read_excel(file_path)# Display the column names to find relevant information about 泡泡刺植物's height
data.columns
# Filter data for 泡泡刺植物 (assuming the common name or Latin name would be listed under '植物种名' or '拉丁名')
# Without the exact Chinese name or Latin name, I'm assuming "泡泡刺植物" is the name we're looking for.
# This step is speculative due to lack of exact match criteria in the user's request.# Check if 泡泡刺植物 is directly mentioned in either '植物种名' or '拉丁名'
bubble_thorn_plant_data = data[(data['植物种名'].str.contains('泡泡刺')) | (data['拉丁名'].str.contains('泡泡刺', na=False))]# If the dataframe is empty, this means "泡泡刺植物" might not be the exact term used in the dataset.
# For demonstration, I'll proceed assuming we've found relevant records. If not, we would need the exact term from the user.# Check if we found any data
found_data = not bubble_thorn_plant_data.empty# If found, we'll analyze the height data
if found_data:# Summary statistics of height to understand the range and average heightheight_stats = bubble_thorn_plant_data['高度(cm)'].describe()
else:height_stats = "No data found for 泡泡刺植物. Please provide the exact name as listed in the dataset."height_stats

Chain-of-Thought Prompting

此时根据GPTs的要求,我们再次传输数据集上去,之后迭代Prompt:

您需要根据以下任务中的描述进行角色扮演。您只能作为任务的角色进行响应,而不能作为语言模型进行响应。如果你记错了自己的身份,你将受到惩罚。

任务:你目前是一名研究沙漠植物生长模式的生物学家。你的知识库中拥有两张表格,一张为荒漠植物群落空间分布格局变化,另一张为荒漠植物群落优势植物和凋落物的元素含量与能值。当提出学术问题时,你会先从荒漠植物群落空间分布格局变化数据集中确定对应的样地代码、样方号、位点去定位植物,然后再去荒漠植物群落优势植物和凋落物的元素含量与能值数据集中定位元素含量和能值数据,最后做出科学的分析。

Q:请分析该荒漠中泡泡刺的生长状况,并通过元素含量和能值具体分析泡泡刺的健康情况,预估荒漠环境情况

A:泡泡刺(Nitraria sphaerocarpa)在荒漠生态系统中的生长状况以及通过其元素含量和能值分析的健康情况,可以为我们预估荒漠环境的状况提供重要的线索。

泡泡刺的生长状况

泡泡刺在不同样方中显示出不同的株数和平均高度,这反映了其在荒漠环境中的空间分布格局。泡泡刺能在荒漠生态系统中成功生长,显示了其良好的适应性。株数的多样性表明泡泡刺能在不同的环境条件下生存,而高度的变化可能与具体的环境因素如水分、土壤营养状况有关。

元素含量与能值分析

根据泡泡刺的元素含量和能值数据,我们可以进一步分析其健康状况和荒漠环境的特征:

全碳和全氮含量:泡泡刺的全碳含量在424.84至437.82 g/kg之间,全氮含量在178.18至178.37 g/kg之间。碳和氮是植物生长的基本元素,高碳氮比可能表明泡泡刺在荒漠环境中具有较强的光合作用能力和氮利用效率。

全磷和全钾含量:全磷含量在1.61至1.63 g/kg之间,全钾含量在7.15至7.19 g/kg之间。磷和钾对植物的生长发育至关重要,泡泡刺的这些含量表明它能有效利用有限的资源维持生长。

干重热值:干重热值约为20.85 MJ/kg,这是衡量植物生物质能量含量的一个重要指标。较高的干重热值表明泡泡刺具有较高的能量储存能力,这对于在变化的荒漠环境中生存是非常重要的。

灰分:灰分比例在8.6%至8.8%之间,灰分含量是反映植物矿物质营养状况的一个指标,泡泡刺的灰分含量表明它能有效利用土壤中的矿物质资源。

荒漠环境情况预估

泡泡刺的元素含量和能值显示了它在荒漠环境中的适应性和生存策略。高的全碳和全氮含量、合适的全磷和全钾含量、较高的干重热值和合适的灰分比例共同表明泡泡刺能够在荒漠环境中有效地利用有限的资源,维持其生长和发展。

这些数据反映了泡泡刺对荒漠环境具有较强的适应性,同时也暗示了荒漠环境的特点,如资源的有限性和环境条件的严酷性。泡泡刺的健康生长状况表明,尽管荒漠环境具有挑战性,但是适应性强的植物种类仍然能够有效地利用环境资源,维持生态系统的功能。

综合泡泡刺的生长状况和元素含量与能值分析,可以预估荒漠环境虽然条件严酷,但通过植物种群的适应和调节,仍然能够维持一定程度的生态系统平衡和功能。这为深入研究荒漠生态系统的稳定性和恢复力提供了重要的基础信息。

 

以上可通过Prompt工程的Chain-of-Thought Prompting策略进行引导AI模式化链接二张表格进行处理分析:

 

链式思考(CoT)提示通过中间推理步骤实现了复杂的推理能力,可以将其与少样本提示相结合,以获得更好的结果,以便在回答之前进行推理的更复杂的任务。在此类数据分析中尤为实用。

本篇文章到这里就结束,有了Chain-of-Thought的思想于Prompt的知识库结合可以发挥出进一步的提升效果,那么下一篇我们就可以来进一步探索Prompt的多模态思维链问题以及生产环境的生成数据规范问题。

点关注,防走丢,如有纰漏之处,请留言指教,非常感谢

以上就是本期全部内容。我是fanstuck ,有问题大家随时留言讨论 ,我们下期见。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/752639.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在pharmit里匹配药效团

我把400个无活性的小分子(decoys)提交到pharmit里。 命名为decoyset00~decoyset08,查找时,按这个找。 1、导入药效团配体: 进入药效团筛选界面: 导入代表药效团模型的活性肽构象: 2、选择预先…

MATLAB环境下基于可调Q因子小波变换的滚动轴承故障诊断(MATLAB R2021B)

小波变换是一种时频局域化方法,它的窗口面积固定但形状可以发生改变(时间窗与频率窗均可变化)。小波变换在时间域与频率域都能够表示信号的局部特征,并具有多分辨率分析的特点,是机械故障诊断中常用的方法。小波变换故…

【C++】手撕红黑树

> 作者简介:დ旧言~,目前大二,现在学习Java,c,c,Python等 > 座右铭:松树千年终是朽,槿花一日自为荣。 > 目标:能直接手撕红黑树。 > 毒鸡汤:行到…

计算机设计大赛 题目:基于深度学习卷积神经网络的花卉识别 - 深度学习 机器视觉

文章目录 0 前言1 项目背景2 花卉识别的基本原理3 算法实现3.1 预处理3.2 特征提取和选择3.3 分类器设计和决策3.4 卷积神经网络基本原理 4 算法实现4.1 花卉图像数据4.2 模块组成 5 项目执行结果6 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 基…

OLAP与数据仓库和数据湖

OLAP与数据仓库和数据湖 本文阐述了OLAP、数据仓库和数据湖方面的基础知识以及相关论文。同时记录了我如何通过ChatGPT以及类似产品(通义千问、文心一言)来学习知识的。通过这个过程让我对于用AI科技提升学习和工作效率有了实践经验和切身感受。 预热 …

VSCode+python单步调试库代码

VSCodepython单步调试库代码 随着VSCode版本迭代更新,在最新的1.87.x中,使用Python Debugger扩展进行调试时,扩展的justMyCode默认属性为true,不会进入库中的代码。这对debug而言不太方便,因此需要手动设置一下&#…

leetcode 3080

leetcode 3080 题目 例子 思路 创建数组&#xff0c;记录nums 的值 对应的id, 按照大小排序。 代码实现 class Solution { public:vector<long long> unmarkedSumArray(vector<int>& nums, vector<vector<int>>& queries) {vector<long…

hadoop伪分布式环境搭建详解

&#xff08;操作系统是centos7&#xff09; 1.更改主机名&#xff0c;设置与ip 的映射关系 hostname //查看主机名 vim /etc/hostname //将里面的主机名更改为master vim /etc/hosts //将127.0.0.1后面的主机名更改为master&#xff0c;在后面加入一行IP地址与主机名之间的…

Android VINF和兼容性矩阵

周末搞这玩意欲仙欲死&#xff0c;没办法只有看看。VINTF是供应商接口对象&#xff08;VINTF 对象&#xff09;&#xff0c;准确的说&#xff0c;这个是属于兼容性矩阵概念。。。有点想起了以前看过的一个电影&#xff0c;异次元杀阵。。。 1 基础 这个是谷歌官方的图。 本质…

基于JavaWeb+SSM+Vue“鼻护灵”微信小程序系统的设计和实现

基于JavaWebSSMVue“鼻护灵”微信小程序系统的设计和实现 滑到文末获取源码Lun文目录前言主要技术系统设计功能截图 滑到文末获取源码 Lun文目录 摘 要 3 Abstract 1 1 绪 论 1 1.1研究背景 1 工作的效率。 1 1.2 研究意义 1 1.3研究现状 1 1.4本文组织结构 2 2 技术介绍 3 2…

PyTorch深度学习实战(39)——小样本学习

PyTorch深度学习实战&#xff08;39&#xff09;——小样本学习 0. 前言1. 小样本学习简介2. 孪生网络2.1 模型分析2.2 数据集分析2.3 构建孪生网络 3. 原型网络3. 关系网络小结系列链接 0. 前言 小样本学习 (Few-shot Learning) 旨在解决在训练集中只有很少样本的情况下进行分…

【Leetcode每日一题】 递归 - 两两交换链表中的节点(难度⭐)(38)

1. 题目解析 题目链接&#xff1a;24. 两两交换链表中的节点 这个问题的理解其实相当简单&#xff0c;只需看一下示例&#xff0c;基本就能明白其含义了。 2.算法原理 一、理解递归函数的含义 首先&#xff0c;我们需要明确递归函数的任务&#xff1a;给定一个链表&#xf…

C++学习基础版(二)

目录 五、继承与派生 1、继承和派生 2、三种继承方式 &#xff08;1&#xff09;公有继承【public】 &#xff08;2&#xff09;私有继承【private】 &#xff08;3&#xff09;保护继承【protected】 3、派生类的构造函数 带参数的基类构造函数调用 4、派生类的析构函…

第 126 场 LeetCode 双周赛题解

A 求出加密整数的和 模拟 class Solution { public:int sumOfEncryptedInt(vector<int> &nums) {int res 0;for (auto x: nums) {string s to_string(x);char ch *max_element(s.begin(), s.end());for (auto &c: s)c ch;res stoi(s);}return res;} };B 执行…

JavaEE--小Demo

目录 下载包 配置 修改文件 pom.xml application.properties 创建文件 HelloApi.java GreetingController.java Greeting.java DemoApplication.java 运行包 运行命令 mvn package cd target dir java -jar demo-0.0.1-SNAPSHOT.jar 浏览器测试结果 下载包 …

网站巡检:守护网络空间的看门人

在数字时代&#xff0c;互联网如同一座庞大的信息海洋&#xff0c;每天都有数不清的信息在这里生成、流通和消失。正如一所学校需要门卫来保护安全&#xff0c;网络世界同样需要守护者来确保其内容的健康和安全。在这个背景下&#xff0c;爱校对网站巡检服务应运而生&#xff0…

PCL安装(C++)并配置vs

准备工作&#xff1a; 1.PCL下载包(此教程使用PCL1.11.0) 3.visual studio(此教程使用vs2019) PCL下载&#xff1a; 1、找到自己适合的PCL版本,我选择的是PCL1.11.0。 1.1 Github下载&#xff1a;Releases PointCloudLibrary/pcl GitHub 1.2 百度网盘&#xff1a;https://pan…

【吊打面试官系列】Redis篇 - 关于Redis持久化

大家好&#xff0c;我是锋哥。今天分享关于Redis持久化的面试题&#xff0c;希望对大家有帮助&#xff1b; Redis 的持久化机制是什么&#xff1f;各自的优缺点&#xff1f; Redis 提供两种持久化机制 RDB 和 AOF 机制: 1、RDB &#xff08;Redis DataBase)持久化方式&#x…

Unity中UGUI中的PSD导入工具的原理和作用

先说一下PSD导入工具的作用&#xff0c;比如在和美术同事合作开发一个背包UI业务系统时&#xff0c;美术做好效果图后&#xff0c;程序在UGUI中制作好界面&#xff0c;美术说这个图差了2像素&#xff0c;那个图位置不对差了1像素&#xff0c;另外一个图大小不对等等一系列零碎的…

关于MySQL数据库的学习3

目录 前言: 1.DQL&#xff08;数据查询语言): 1..1基本查询&#xff1a; 1.2条件查询&#xff1a; 1.3排序查询&#xff1a; 1.3.1使用ORDER BY子句对查询结果进行排序。 1.3.2可以按一个或多个列进行排序&#xff0c;并指定排序方向&#xff08;升序ASC或降序DESC&#…