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

news2024/9/23 16:19:16

前言

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

大模型应用总体架构

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

图片.png

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

额外数据库引导

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

图片.png

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

图片.png

原理就是如此。

Prompt引导策略

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

图片.png

这篇论文中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 height
    height_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模式化链接二张表格进行处理分析:

图片.png

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

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

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

在这里插入图片描述

如何学习AI大模型?

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

在这里插入图片描述

👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

在这里插入图片描述

1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

在这里插入图片描述

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

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

相关文章

缓存击穿

概念 缓存击穿问题也叫热点key问题,指的是一个被高并发访问并且缓存重建业务较为复杂的key突然失效了,大量的请求会到达数据库给数据库带来巨大的冲击。 常见解决方法有两种:互斥锁,逻辑过期。 优缺点 : 基于互斥锁的…

Python多进程:如何在不依赖Queue的情况下传递结果

随着数据的爆炸式增长,网络爬虫成为获取信息的强大工具。在爬取大量数据时,多进程技术可以显著提高效率。然而,如何在多进程中传递结果,而不依赖Queue,成为了一个值得探讨的问题。本文将以采集抖音短视频为案例&#x…

web框架:Django进阶(一)

文章目录 django进阶内容回顾1.模板1.1 寻找html模板顺序1.2 模板处理的本质1.3 常用语法1.4 内置函数1.5 自定义模板功能1.6 继承和母版1.7 模板的导入 2.django中间件2.1 原始方式2.2 MiddlewareMixin(建议)2.3 prcess_request的执行时,是否…

【系统设计】软件项目概要设计说明书(2024原件完整版)

1引言 1.1编写目的 1.2项目背景 1.3参考资料 2系统总体设计 2.1整体架构 2.2整体功能架构 2.3整体技术架构 2.4运行环境设计 2.5设计目标 3系统功能模块设计 3.1个人办公 3.2系统管理 4性能设计 4.1响应时间 4.2并发用户数 5接口设计 5.1接口设计原则 5.2接口实现方式 6运行设计…

qiankun 微前端 隔离子应用样式,解决 ant-design-vue 子应用样式污染问题(已落地)

样式冲突产生原因 先分析乾坤qiankun 构建之后,会根据你的配置 给每个子应用生成一个id, 当加载到对应子应用的时候,就把内容放到对应的id 标签里去, 这样能有效的隔离 js 代码,但是样式是加载在全局的 所以 当两个子…

【CSS】分享个纯CSS实现去除白底图效果的小技巧

效果 原理 技巧来源&#xff1a;Amazon的产品列表页 通过底色与遮罩层的透明度搭配实现&#xff0c;整体的"去白底"效果 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"view…

实施数据治理的十大优势

关注公众号网络研究观获取更多内容。 数据治理不仅仅是一个流行词&#xff0c;也是强大数据管理策略的基础要素。通过实施结构化数据治理&#xff0c;组织可以获得显著的好处&#xff0c;从而提高效率、合规性和决策能力。 本博客探讨了数据治理的最大优势&#xff0c;详细介…

android13禁止应用卸载功能 禁止卸载包名 安卓禁止卸载应用

总纲 android13 rom 开发总纲说明 目录 1.前言 2.情况分析 3.代码修改 4.编译运行 5.写在最后 6.彩蛋 1.前言 Android 13增加禁止卸载对应包名的应用,这一功能主要是为了增强系统的安全性和稳定性。通过禁止用户卸载某些预装应用,防止这些应用被误删或恶意卸载,从而…

详细记录swfit微调interVL2-8B多模态大模型进行目标检测(附代码)

大模型相关目录 大模型&#xff0c;包括部署微调prompt/Agent应用开发、知识库增强、数据库增强、知识图谱增强、自然语言处理、多模态等大模型应用开发内容 从0起步&#xff0c;扬帆起航。 RAGOnMedicalKG&#xff1a;大模型结合知识图谱的RAG实现DSPy&#xff1a;变革式大模…

Python 线程的自修复

在 Python 中&#xff0c;线程的自修复通常涉及异常处理和适当的线程管理。在线程的 run() 方法中使用 try-except 块来捕获可能发生的异常。在捕获异常后&#xff0c;可以记录异常信息或者尝试重新启动线程以恢复正常运行。下面看看我最近的一个实操案例。 1、问题背景 我创建…

bugku.ctf ---WEB(还有后续)

bugku.ctf ---WEB 1.Simple_SSTI_1 1.启动场景 2. 页面说你需要输入一个名为flag的参数。 3.查看网页源代码&#xff0c;提示在flask中&#xff0c;设置了secret_key。意思是在注入模板中输入内容就会显示对应的值。 4.传入?flag{{config.SECRET_KEY}}显示flag 2.Simple_SST…

【Android】安卓多媒体之通知、摄像头、相册、播放音乐、视频用法总结

文章目录 一、通知1. 申请权限2. 创建通道3. 创建通知4. 发送通知拓展功能点击行为更新通知取消通知锁屏通知富文本通知 二、摄像头1. 申请权限2. 调用逻辑3. 声明内容提供器 三、打开相册1. 申请权限检查并请求权限处理权限请求结果 2.处理图片从相册中选择图片处理选择图片的…

反应力场lammps和reaxff,再加上智能计算模拟,你恐怕没见过这种绝妙组合

“第一性原理分子动力学机器学习”三位一体的综合手段&#xff0c;已经成为模拟计算的一个前沿方向&#xff0c;为解决传统计算化学方法面临的挑战提供了新的解决方案。国内外已有科研团队在深化第一性原理与分子动力学的研究与应用拓展&#xff0c;利用机器学习优化大规模计算…

yolov5训练的pt模型,转换为rknn并部署在瑞芯微RK3588开发板

一、下载源码 在GitHub中搜索并下载yolov5的源代码&#xff0c;然后放在自己部署好的项目环境。 直接用下面的命令即可部署适合yolov5的环境&#xff0c;至于缺什么库&#xff0c;什么版本不对的可以百度查一下。 pt模型转onnx模型 我这里已经把源码下载好并加载好了我的虚拟…

Redis CLI常用命令

Redis CLI常用命令 1. 设置和获取数据 SET Redis 中的数据是以键值对的形式存储的&#xff0c;所以需要指定一个键和一个值&#xff0c;键和值用空格隔开&#xff1b; Redis 中默认使用字符串存储数据&#xff1b; 3. 删除键 DEL 4. 判断键是否存在 exists 5. 查找键 KEYS 查…

环境参数自动调节设备:智能生活的绿色守护者

在当今社会&#xff0c;随着科技的飞速发展和人们生活水平的不断提升&#xff0c;对居住环境的要求也日益增高。一个舒适、健康的生活空间&#xff0c;不仅关乎温度、湿度、空气质量等基本环境因素&#xff0c;还涉及到光照、噪音控制等多个维度。为了满足这些多元化的需求&…

【Docomo】5G

我们想向您介绍第五代移动通信系统“5G”。 5G 什么是5G&#xff1f;支持5G的技术什么是 5G SA&#xff08;独立&#xff09;&#xff1f;实现高速率、大容量的5G新频段Docomo的“瞬时5G”使用三个宽广的新频段 什么是5G&#xff1f; 5G&#xff08;第五代移动通信系统&#x…

技术设计评审的重要性及实战指南:让每一行代码都熠熠生辉

在这个快速迭代的软件开发时代,技术设计评审(Technical Design Review, 简称TDR)不仅是项目成功的关键一环,更是每位程序员职业生涯中不可或缺的“导航灯”。它如同一面镜子,让团队能够清晰地看到设计的全貌,及时修正偏差,确保项目朝着既定的目标稳健前行。关注【程序员…

服务器给根目录扩展磁盘(不使用lvm逻辑券)两种方式

因业务需求磁盘存储增加现在需要给/目录进行扩容&#xff0c;因为是云服务器直接在原有的磁盘增加了100G空间现在把新增的100G扩容到/目录分区。 有两种方法一种是使用growpart 工具扩容&#xff0c;一种是使用fdisk命令 使用growpart工具扩容 yum install -y cloud-utils-grow…

为什么我工作 10 年后转行当程序员?逆袭翻盘!

今天文章的主人公暂且称他为 A 君。不过 A 君有点特别&#xff0c;非科班&#xff0c;工作 10 年后才转行 iOS 程序员。今年 36 岁&#xff0c;目前在某行业头部企业任职前端负责人&#xff0c;管理 40 人的前端团队。 废话不多说&#xff0c;我们开始 A 君&#xff08;为了描…