当前位置: 首页 > news >正文

提示词高级阶段学习day2.1-在提示词编写中对{}的使用教程

首先在 prompt engineering 中,使用 {} 通常是为了标识占位符变量

这些占位符可以在实际生成内容时被动态替换。

通过这种方式,prompt 可以更加通用和灵活,适用于不同的输入数据场景。

以下是一个体系化、结构化的教程,帮助理解如何在 prompt engineering 中使用 {}

1. 基本概念:占位符 {}

  • 占位符:在 prompt 中使用 {} 来表示需要替换的内容。例如,Hello, {name}! 这段 prompt 中的 {name} 就是一个占位符。
  • 目的:使用占位符可以创建一个模板,通过替换不同的内容生成不同的输出。

2. 占位符的应用场景

        1.动态内容插入

  • 将需要变动的部分用 {} 表示。
  • 例如:Generate a summary for the following article: {article_text}
  • 通过替换 {article_text},你可以快速为不同的文章生成总结。

        2.参数化生成

  • 可以将不同的变量传递给 prompt 来产生变化的结果。
  • 例如:Translate the following sentence from {source_language} to {target_language}: {sentence}

        3.数据驱动的输出

  • 如果有一个包含多个数据项的输入集,可以使用 {} 来创建更复杂的数据响应。
  • 例如:Create a personalized message for {customer_name}, who has a {subscription_plan} plan that expires on {expiry_date}.

3. 结构化的占位符使用方法

3.1 定义占位符模板

  • 定义 prompt 时,确保所有可能变化的内容都使用 {} 包裹。例如:

Generate a marketing email:
Subject: {email_subject}
Body: Dear {customer_name}, we have an amazing offer for you on {product}. Save {discount}%!
 

3.2 动态替换数据

  • 在实际使用时,通过代码或工具替换 {} 中的占位符。例如:

prompt = "Dear {customer_name}, we have an amazing offer for you on {product}. Save {discount}%!"
filled_prompt = prompt.format(customer_name="Alice", product="Laptop", discount=15)
print(filled_prompt)

输出:

Dear Alice, we have an amazing offer for you on Laptop. Save 15%!
 

3.3 多个占位符

  • Prompt 中可以使用多个占位符,根据需要插入不同的信息。例如:

Describe the main features of {product_name}, highlighting the benefits it brings to {target_audience}.
 

4. 高级应用技巧

4.1 条件占位符

  • 使用条件判断来决定哪些内容应该被插入。例如:

# 定义条件
is_active = True

# 根据条件设置替换内容
if is_active:
    status = "active"
    message = "Thank you for being a loyal customer!"
else:
    status = "inactive"
    message = "Please renew your subscription."

# 定义模板
prompt_template = "Your subscription is currently {status}. {message}"

# 进行替换
filled_prompt = prompt_template.format(status=status, message=message)

# 输出结果
print(filled_prompt)

4.2 循环与批量处理

  • 可以将一个 prompt 模板应用于多个数据集合,生成一批输出。例如:

customers = [
    {"name": "Alice", "plan": "Gold"},
    {"name": "Bob", "plan": "Silver"},
]

for customer in customers:
    print(f"Dear {customer['name']}, thank you for being a {customer['plan']} plan member.")
 

4.3 嵌套与递归

  • 复杂的 prompt 可能需要嵌套的占位符:

Create a detailed report for {region}:
- Market leader: {leader}
- Growth potential: {growth}%
- Key trends: {trends}
  - {trend_1}
  - {trend_2}
 

5. 实践中的常见误区

  1. 未定义占位符:确保 prompt 中的占位符与代码中的变量一致,避免未被替换的 {} 导致错误。
  2. 占位符命名问题:使用有意义、容易理解的占位符名称,避免混淆。例如,使用 {customer_name} 而不是 {name}
  3. 过度依赖变量插入:虽然 {} 能够灵活替换内容,但过多的占位符可能使 prompt 过于复杂,难以调试。

相关文章:

提示词高级阶段学习day2.1-在提示词编写中对{}的使用教程

首先在 prompt engineering 中,使用 {} 通常是为了标识占位符或变量, 这些占位符可以在实际生成内容时被动态替换。 通过这种方式,prompt 可以更加通用和灵活,适用于不同的输入数据场景。 以下是一个体系化、结构化的教程&…...

2024年,每一个大模型都躲不过容嬷嬷和紫薇

2024年还不上视频生成的大模型公司,还能上桌吃饭吗? 连最积极搞AI的李彦宏,在这件事上也迟疑了。 “百度不碰Sora类的视频生成方向。”李彦宏在近期的2024年Q3总监会上说道。原因在于,10年、20年都可能难以商业化应用。 从Open…...

SpringBoot之RedisTemplate基本配置

公司要求redis配置密码使用密文,但是程序使用的是spring默认的redisTemplate,那么就需要修改配置实现密码加解密。 先搞个加密工具类: public class SM2Encryptor {// 加密,使用公钥public static String encryptText(String pub…...

SparseRCNN 模型,用于目标检测任务

SparseRCNN 模型,用于目标检测任务 import logging import math from typing import Listimport numpy as np import torch import torch.distributed as dist import torch.nn.functional as F from torch import nn #项目完整代码下载链接:https://download.csdn.net/downl…...

【AIGC】第一性原理下的ChatGPT提示词Prompt设计:系统信息与用户信息的深度融合

博客主页: [小ᶻZ࿆] 本文专栏: AIGC | ChatGPT 文章目录 💯前言💯第一性原理与ChatGPT提示词Prompt设计应用第一性原理于ChatGPT提示词Prompt设计系统信息和用户信息的融合实际应用结论 💯系统信息与用户信息的定义和重要性系…...

DeepSpeed性能调优与常见问题解决方案

1. 引言 什么是DeepSpeed? DeepSpeed是由微软开源的深度学习训练优化库,旨在帮助研究人员和工程师高效地训练大规模深度学习模型。基于PyTorch框架,DeepSpeed提供了一系列先进的技术,如ZeRO(Zero Redundancy Optimiz…...

【GESP】C++一级练习BCQM3052,鸡兔同笼

GESP一级知识点:for循环和if的应用。 题目题解详见:https://www.coderli.com/gesp-1-bcqm3052/ 【GESP】C一级练习BCQM3052,鸡兔同笼 | OneCoderGESP一级知识点:for循环和if的应用。https://www.coderli.com/gesp-1-bcqm3052/ …...

Android面试之5个性能优化相关的深度面试题

本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”,和我一起每天进步一点点 面试题目1:如何优化Android应用的启动速度? 解答: 优化Android应用的启动速度可以从以下几个方面入手: 1、 减少主线程工…...

R语言机器学习算法实战系列(六)K-邻近算法 (K-Nearest Neighbors)

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍教程下载数据加载R包导入数据数据预处理数据描述数据切割调节参数构建模型预测测试数据评估模型模型准确性混淆矩阵模型评估指标ROC CurvePRC Curve保存模型总结系统信息介绍 K-邻…...

FPGA图像处理之构建3×3矩阵

免责声明:本文所提供的信息和内容仅供参考。作者对本文内容的准确性、完整性、及时性或适用性不作任何明示或暗示的保证。在任何情况下,作者不对因使用本文内容而导致的任何直接或间接损失承担责任,包括但不限于数据丢失、业务中断或其他经济…...

【Linux】进程间通信(匿名管道)

🌈个人主页:秦jh__https://blog.csdn.net/qinjh_?spm1010.2135.3001.5343🔥 系列专栏:https://blog.csdn.net/qinjh_/category_12625432.html 目录 进程间通信目的 进程间通信发展 进程间通信分类 管道 System V IPC POSI…...

memset()函数的实现

memset()函数的实现 _CRTIMP void* __cdecl memset (void*, int, size_t); memset()函数的实现 文章目录 memset()函数的实现memset()函数 memset()函数 _CRTIMP void* __cdecl memset (void*, int, size_t);void* memset(void* src, int val, size_t count) {char *char_src…...

STM32CUBEIDE FreeRTOS操作教程(七):queue队列

STM32CUBEIDE FreeRTOS操作教程(七):queue队列 STM32CUBE开发环境集成了STM32 HAL库进行FreeRTOS配置和开发的组件,不需要用户自己进行FreeRTOS的移植。这里介绍最简化的用户操作类应用教程。以STM32F401RCT6开发板为例&#xff…...

类型转换与字符串操作:数据的灵活变形!

Java中的隐式与强制类型转换:让你轻松驾驭数据 在编程的世界中,数据的类型如同游戏中的角色,赋予它们不同的特性与能力。而在Java中,隐式类型转换与强制类型转换就像是两把利剑,帮助我们在这个复杂的世界中游刃有余。…...

动态规划18:188. 买卖股票的最佳时机 IV

动态规划解题步骤: 1.确定状态表示:dp[i]是什么 2.确定状态转移方程:dp[i]等于什么 3.初始化:确保状态转移方程不越界 4.确定填表顺序:根据状态转移方程即可确定填表顺序 5.确定返回值 题目链接:188.…...

YOLOv8改进 - 注意力篇 - 引入ShuffleAttention注意力机制

一、本文介绍 作为入门性篇章,这里介绍了ShuffleAttention注意力在YOLOv8中的使用。包含ShuffleAttention原理分析,ShuffleAttention的代码、ShuffleAttention的使用方法、以及添加以后的yaml文件及运行记录。 二、ShuffleAttention原理分析 ShuffleA…...

基于Multisim的8路彩灯循环控制电路设计与仿真

1)由八个彩灯LED的明暗构成各种彩灯图形; 2)彩灯依次显示的图形: 彩灯从左至右渐亮至全亮(8个CP) 彩灯从左至右渐灭至全灭(8个CP) 彩灯从右至左渐亮至全亮(8个CP) 彩灯从右至左渐灭至全灭(8个CP) 彩灯全亮(1个CP) 彩灯全灭(1个CP) 彩灯全亮(1个CP) 彩灯全灭(1个CP) 3)彩灯图形循…...

完整的模型训练套路 pytorch

**前置知识: 1、 (1).train():将模型设置为训练模式 (2).eval():将模型设置为评估模式 不写也可以(只对特定网络模型有作用,如含有Dropout的) 2、 with…...

2024年十大前沿图像分割模型汇总:工作机制、优点和缺点介绍

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…...

Notepad++将搜索内容所在行选中,并进行复制等操作

背景 Notepad在非常多的数据行内容中,按照指定内容检索,并定位到具体行,而后对内容行的数据进行复制、剪切、删除等处理动作。 操作说明 检索并标记所在行 弹出搜索框:按下 Ctrl F。 输入查找字符串:在搜索框中输入要…...

SNMP Exporter实战指南:构建企业级网络监控架构的深度解析

SNMP Exporter实战指南:构建企业级网络监控架构的深度解析 【免费下载链接】snmp_exporter SNMP Exporter for Prometheus 项目地址: https://gitcode.com/gh_mirrors/sn/snmp_exporter SNMP Exporter作为Prometheus生态中的关键组件,专为网络设备…...

Auto.js开发环境搭建:用雷电模拟器替代真机,解决局域网IP不在同一网段的问题

Auto.js开发环境搭建:雷电模拟器网络架构深度解析与实战指南 当开发者手头没有备用安卓设备,或者真机与电脑的Wi-Fi连接频繁断开时,安卓模拟器成为了Auto.js脚本测试的救星。但模拟器的网络配置往往暗藏玄机——为什么雷电模拟器显示172.16.x…...

STM32F4/F7上跑AI手写识别:从CUBEMX配置到串口通信的完整避坑指南

STM32F4/F7实战AI手写识别:从模型部署到数据处理的工程化解决方案 在嵌入式设备上部署神经网络进行手写识别,正逐渐从实验室走向工业现场。STM32F4/F7系列凭借其平衡的性能与功耗,成为边缘AI应用的理想选择。本文将深入探讨从模型准备到实际部…...

【MATLAB源码-第439期】基于MATLAB的APSK与QAM高阶调制在Saleh非线性功放下BER和EVM性能对比

操作环境:MATLAB 2024a1、算法描述摘要 高阶数字调制技术是现代无线通信和卫星通信系统提高频谱利用率的重要方法。QAM 调制通过同相分量和正交分量的幅度组合形成二维星座,在较高信噪比条件下能够获得较高的信息承载能力。APSK 调制则采用多环幅相结构&…...

利欧股份持续推进“制造业+科技投资”战略 主业与投资协同效应显现

全球商业航天企业SpaceX(太空探索技术公司)计划于6月12日在纳斯达克上市,股票代码为SPCX。此次IPO预计融资规模约为800亿美元,市场估值在1.75万亿至2万亿美元之间,引发资本市场广泛关注。据悉,利欧股份&…...

中兴光猫深度管理终极指南:一键开启工厂模式与永久Telnet服务

中兴光猫深度管理终极指南:一键开启工厂模式与永久Telnet服务 【免费下载链接】zteOnu A tool that can open ZTE onu device factory mode 项目地址: https://gitcode.com/gh_mirrors/zt/zteOnu 在当今家庭和企业网络中,中兴光猫设备扮演着至关重…...

前端工程化19:微前端架构实战,大型中台项目拆分落地方案

前端工程化19:微前端架构实战,大型中台项目拆分落地方案 文章目录 前端工程化19:微前端架构实战,大型中台项目拆分落地方案 前言 一、微前端核心概念 1. 什么是微前端 2. 核心优势 3. 企业主流使用场景 二、主流微前端方案选型对比 三、整体项目架构划分 四、实战搭建 Qian…...

版本控制系统核心功能解析:从历史追踪到团队协作的四大基石

1. 项目概述:从ICO到VCS,一次版本控制的深度对话在软件开发的日常里,我们经常听到“版本控制”这个词,它就像是程序员们的时光机和后悔药。但具体到工具上,Git、SVN、Mercurial……选择很多,而“VCS ICO”这…...

从芯片到系统:手把手拆解汽车MCU里的安全硬件(SHE/HSE)与独立HSM如何协作

汽车MCU安全架构实战:SHE/HSE与独立HSM的协同设计指南 当一辆现代汽车启动时,从车门解锁到发动机控制,超过1亿行代码在数百个微控制器(MCU)上同时运行。这些代码中包含着价值连城的数字资产——车主的生物特征数据、自…...

VMware Unlocker技术实现:解锁macOS虚拟化的底层机制与实践

VMware Unlocker技术实现:解锁macOS虚拟化的底层机制与实践 【免费下载链接】unlocker VMware Workstation macOS 项目地址: https://gitcode.com/gh_mirrors/unloc/unlocker 在跨平台开发与测试环境中,许多技术人员面临一个共同的技术挑战&…...