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

news/2024/4/28 7:05:26

前言

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.cpky.cn/p/10891.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

Odoo17免费开源ERP开发技巧:如何在表单视图中调用JS类

文/Odoo亚太金牌服务开源智造 老杨 在Odoo最新V17新版中,其突出功能之一是能够构建个性化视图,允许用户以独特的方式与数据互动。本文深入探讨了如何使用 JavaScript 类来呈现表单视图来创建自定义视图。通过学习本教程,你将获得关于开发Odo…

数据机构-2(顺序表)

线性表 概念 顺序表 示例&#xff1a;创建一个存储学生信息的顺序表 表头&#xff08;Tlen总长度&#xff0c; Clen当前长度&#xff09; 函数 #include <seqlist.c> #include <stdio.h> #include <stdlib.h> #include "seqlist.h" #include &…

WPF连接MySqldemo

界面总要管理数据嘛,于是便学习了一下WPF与MySql的基本连接. 运行结果: 环境配置 需要下载安装Mysql,网上教程很多,不详说,创建的工程需要下载或者引入相关的包(MySql.Data) 连接的部分直接看具体的代码即可 xaml代码(只放置了一个按钮和文本框) <Grid><Button x:Name…

小程序云开发实战:通用企业产品信息展示小程序

之前做小程序都是自己搭建数据管理后台&#xff0c;比如我之前做的小程序&#xff1a;一搜就学&#xff0c;就是使用java来做管理后台&#xff0c;小程序做前端展示。但是对于简单的小程序来说&#xff0c;做一套管理后台有点拿大炮打蚊子&#xff0c;所以使用云开发就是不错的…

爬虫逆向实战(37)-某保险超市(AES,SHA256)

一、数据接口分析 主页地址&#xff1a;某保险超市 1、抓包 通过抓包可以发现数据接口是/tacpc/tiananapp/marketing_product_commodity/commodityList 2、判断是否有加密参数 请求参数是否加密&#xff1f; 通过查看“载荷”模块可以发现&#xff0c;有一个jsonKey加密参…

电机与直线模组选型

一。普通电机选型 普通电机选型&#xff08;一&#xff09; 三相异步电机 定子&#xff1a;产生旋转磁场 转子&#xff1a;切割磁场&#xff0c;产生洛伦兹力 结构简单&#xff0c;成本低&#xff0c;稳定 效率较低&#xff0c;转速不稳定 N60f/P 定子旋转速度&#xff1a;150…