提示词工程教程:负面提示和避免不良输出

k8s部署 普罗米修斯(Prometheus)监控 Prometheus是一个开源的服务监控系统和时序数据库其提供了通用的数据模型和快捷数据采集、存储和查询接口它的核心组件Prometheus服务器定期从静态配置的监控目标或者基于服务发现自动配置的目标中进行拉 取数据新拉取到啊的 数据大于配置的内存缓存区时,数据就会持久化到存储设备当中。 阅读详情

概述

本教程探讨了负面提示的概念以及在使用大型语言模型时避免不良输出的技术。我们将重点介绍如何使用 OpenAI 的 GPT 模型和 LangChain 库来实现这些策略。

主题

随着人工智能语言模型变得越来越强大,有效地引导其输出至关重要。负面提示使我们能够指定模型响应中不想要的内容,从而帮助优化和控制生成的内容。这种方法在处理敏感话题、确保事实准确性或在输出中保持特定语气或风格时特别有用。

内容概要

  1. 使用反面例子来指导模型
  2. 在提示中指定排除项
  3. 使用 LangChain 实现约束
  4. 评估和改进负面提示

教案

我们首先要设置环境,并安装必要的库。然后,我们将探索不同的负面提示技巧:
  1. 基本反面例子:我们将演示如何提供不良输出的例子来指导模型。
  2. 明确排除:我们将使用提示,明确说明响应中不应包含的内容。
  3. 约束实施:使用 LangChain,我们将创建更复杂的提示,对输出强制实施特定的约束。
  4. 评估和改进:我们将讨论评估负面提示的有效性并不断改进的方法。

在整个教程中,我们将使用实际示例来说明这些概念并提供用于实现的代码片段。

结论

在本教程结束时,您将对负面提示技术有深入的了解,并了解如何应用它们来避免语言模型产生不良输出。这些技能将使您能够为各种应用程序创建更可控、更准确、更合适的 AI 生成内容。

设置

首先,让我们导入必要的库并设置我们的环境。
import os
import re
from langchain_openai import ChatOpenAI
from langchain.prompts import PromptTemplate

# Load environment variables
from dotenv import load_dotenv
load_dotenv()

# Set up OpenAI API key
os.environ["OPENAI_API_KEY"] = os.getenv('OPENAI_API_KEY')

# Initialize the language model
llm = ChatOpenAI(model="gpt-4o-mini")

def get_response(prompt):
    """Helper function to get response from the language model."""
    return llm.invoke(prompt).content

在[4]中:

1. 使用反面例子

让我们从一个简单的例子开始,即使用反面例子来指导模型的输出。
negative_example_prompt = PromptTemplate(
    input_variables=["topic"],
    template="""请对{topic}进行简要说明。
    说明中请勿包含以下任何内容:
    - 技术术语或复杂术语
    - 历史背景或日期
    - 与其他相关主题的比较
    说明应简单、直接,并且只关注核心概念。"""
)

response = get_response(negative_example_prompt.format(topic="光合作用"))
print(response)
光合作用是绿色植物、藻类和一些细菌将阳光转化为能量的过程。它们从空气中吸收二氧化碳,从土壤中吸收水分。利用阳光,它们将这些成分转化为葡萄糖,这是一种为生长发育提供能量的糖。作为副产品,它们向空气中释放氧气,这对许多生物来说是必不可少的。

2. 指定排除项

现在,让我们探讨如何明确指定应该从响应中排除的内容。
exclusion_prompt = PromptTemplate(
    input_variables=["topic", "exclude"],
    template="""写一段关于{topic}的简短段落。
    重要提示:不要提及或引用与{exclude}相关的任何内容。"""
)

response = get_response(exclusion_prompt.format(
    topic="锻炼的好处",
    exclude="减肥或身体形象"
))
print(response)

锻炼不仅能改善外表,还能带来诸多益处。定期进行体育锻炼可增强心血管健康、增强肌肉力量、提高灵活性,从而促进整体身体健康。此外,锻炼还能通过释放内啡肽来改善情绪、减轻焦虑和抑郁症状,从而产生幸福感和头脑清醒。锻炼还能改善睡眠质量、提高能量水平、增强认知功能,从而提高日常任务的专注力和效率。归根结底,将锻炼融入日常生活可以培养更健康、更有活力的生活方式。

3. 实施约束

让我们使用 LangChain 创建更复杂的提示,对输出强制执行特定的约束。
constraint_prompt = PromptTemplate(
    input_variables=["topic", "style", "excluded_words"],
    template="""为{topic}写一个{style }描述。    
    约束:    
    1.不要使用以下任何词语:{excluded_words}
    2. 描述不得超过 100 个字
    3. 不要使用类比或隐喻
    4. 只关注事实信息""" 
)

response = get_response(constraint_prompt.format(
    topic="人工智能",
    style="技术",
    excluded_words="机器人, 类人, 科幻"
))
print(response)
人工智能 (AI) 是指计算机系统对认知过程的模拟。这包括从数据中学习、识别模式、做出决策以及执行通常需要智能的任务的能力。AI 涵盖各种子领域,例如机器学习、自然语言处理和计算机视觉。算法旨在分析大型数据集,使系统能够随着时间的推移提高性能。AI 应用范围从数据分析和图像识别到自主系统和决策支持工具。AI 的开发涉及跨学科技术,包括数学、统计学和计算机编程。

4.评估与改进

为了评估和改进我们的负面提示,我们可以创建一个函数来检查输出是否符合我们的约束。
def evaluate_output(output, constraints):
    """评估输出是否满足给定的约束。"""
    results = {}
    for constraint, check_func in constraints.items():
        results[constraint] = check_func(output)
    return results

# 定义一些示例约束
constraints = {
    "word_count": lambda x: len(x.split()) <= 100,
    "no_excluded_words": lambda x: all(word not in x.lower() for word in ["robot", "human-like", "science fiction"]),
    "no_analogies": lambda x: not re.search(r"\b(as|like)\b", x, re.IGNORECASE) 

}

# 评估之前的输出
evaluation_results = evaluate_output(response, constraints)
print("Evaluation results:", evaluation_results)

# 如果输出不满足所有约束,我们可以改进我们的提示
if not all(evaluation_results.values()):
    refined_prompt = constraint_prompt.format(
        topic="人工智能",
        style="技术性且简洁",  # 添加“简洁”控制字数
        excluded_words="机器人, 类人, 科幻, 像, 如同"  # 添加像和如同避免类比
    )
    refined_response = get_response(refined_prompt)
    print("\n完善的回复:\n", refined_response)

    # Evaluate the refined output
    refined_evaluation = evaluate_output(refined_response, constraints)
    print("\n细化的评估结果:", refined_evaluation)
评估结果:{'word_count': True, 'no_excluded_words': True, 'no_analogies': False}

完善的响应:
人工智能 (AI) 是指计算机系统对认知过程的模拟。它涵盖各种子领域,包括机器学习、自然语言处理和计算机视觉。AI 系统分析数据、识别模式并根据算法做出决策。它们可以执行语音识别、图像分析和预测建模等任务。AI 应用程序用于金融、医疗保健和自主系统等行业,可提高效率并实现高级问题解决能力。AI 的发展依赖于大型数据集、计算能力和复杂的算法,以随着时间的推移提高准确性和性能。

细化评估结果:{'word_count': True, 'no_excluded_words': True, 'no_analogies': False}
从基础知识到PCB设计,打造全能硬件工程师 成为一名出色的硬件工程师需要在多个领域建立坚实的基础。从硬件基础知识、元器件学习、模拟电子电路到PCB设计,以及数字电子电路与通信,每个方面都是构建全面硬件工程师技能集的重要组成部分。通过深入学习和实践这些领域,你将能够在硬件工程领域中取得更多的成就。 阅读详情

相关推荐

基于近场动力学的二维疲劳裂纹扩展模型_近场动力学数值模拟的程序实现(1)——引言...

参考书目W. H. Gerstle. 2015. Introduction to Practical Peridynamic: Computational Solid Mechanics Without Stress and Strain.E.Madenci, A.Barut, M.Dorduncu. Peridynamic Differential Operator for Numerical ...

weixin_39764603的博客 1202

如何写出好的大模型提示词?如何判断提示词的好坏?

在科技飞速发展的今天,大语言模型(如GPT)逐渐成为我们生活和工作中不可或缺的助手。这些智能工具不仅能够帮助我们获取信息、解决问题,还能为我们的创意提供灵感。然而,要想充分利用这些强大的工具,仅仅依赖于简单的询问是不够的,我们需要学会如何撰写高质量的提示词(prompt),以便获得更准确、更有帮助的回答。如果把大语言模型比作一个超级聪明但有点迷糊的朋友,那么提示词就是你与他沟通的桥梁。如何让这个“朋友”理解你的意图并给出满意的答案,取决于你如何构建这些提示。

AIGC_TWang的博客 1181

汽车电缆选型实战:基于ISO 19642-3~12的7类电缆电压/材料/场景对照表

本文详细解析了基于ISO 19642-3~12标准的7类汽车电缆选型实战,涵盖电压等级、导体材料和场景应用的对照表。通过全参数速查表和典型选型陷阱分析,帮助工程师快速掌握从低压信号线到高压动力电缆的选型逻辑,提升新能源汽车与智能驾驶技术的安全性和可靠性。

weixin_29043895的博客 366

全面解析:17种提示词工程(Prompt Engineering)方法一文讲透

AI 目前还是非常考验使用者的。如果掌握了更多的底层方法论,就能更好的融入日常工作。

2401_84495872的博客 1281

驯服电源尖峰:从BUCK/BOOST环路剖析到高di/dt噪声的实战抑制

本文深入探讨了电源系统中高di/dt噪声的产生机制及抑制方法,通过BUCK/BOOST电路的环路分析,揭示了电流路径不连续导致的电压尖峰问题。文章提供了实用的PCB布局技巧和噪声抑制策略,包括最短回路原则、铺铜优化和过孔阵列战术,帮助工程师有效降低EMI噪声,提升电源系统的稳定性。

weixin_29587015的博客 274

IPSec Over GRE和GRE Over IPSec技术

IPSec Over GRE 和 GRE Over IPSec 一. 技术介绍 IPsec     主要作用是对数据进行加密,因为他能提供所有有时候被单独用作实现加密的一种方法!IPsec建立的是一个逻辑隧道,并不是真正意义上的隧道!并且不能提供路由功能,因为IPsec不支持非ip流量,也不支持广播(组播)! GRE     (通用路由封装)能很好的提供一个真正意义上的点对点的隧道,GRE是一种三层VPN封装技术。GRE可以对某些网络层协议(如IPX、Apple Talk、IP等)的报文进行封装,使封装后

qq_56228347的博客 9870

负面提示技术终极指南:如何避免AI模型产生不良输出的7个实用技巧

在AI应用日益普及的今天,负面提示技术已成为控制大语言模型输出的关键技能。这项技术让你能够明确告诉AI模型"不要做什么",从而避免产生不准确、不适当或偏离预期的内容。对于新手用户来说,掌握负面提示技术可以显著提升与AI模型交互的效果和质量。 [![AI提示工程学习资源](https://raw.gitcode.com/gh_mirrors/pr/Prompt_Engineering/raw/91

gitblog_01426的博客 1078

逆向解析手淘x-sign签名算法:从抓包到API调用的完整实践

本文详细解析了手淘x-sign签名算法的逆向过程,从抓包工具选择到API调用实践,提供了完整的解决方案。通过分析签名参数组成和生成机制,帮助开发者理解并实现淘宝接口的合法调用,同时强调了安全与合规的重要性。

weixin_29323273的博客 606

Stable Diffusion提示词总结

提示词,prompt,AIGC,Stable Diffusion

weixin_43665351的博客 7219

使用STM32制作简易数字时钟

连接LED数码管的电源和地线到STM32单片机的对应引脚,将数码管的A、B、C、D引脚连接到STM32单片机的I/O口引脚。通过编写和调试这个项目,可以熟悉STM32单片机的GPIO口和定时器的使用,以及数字显示的控制。步骤六:测试和调试 通过观察数码管的显示,可以验证时钟功能是否正常工作。步骤四:编写代码 在主程序中,我们将使用定时器中断来控制时钟的运行,并使用GPIO口控制LED数码管的显示。步骤五:编译和下载 编译代码并下载到STM32单片机中,通过调试器和串口监视器进行调试和查看输出结果。

qq_67153941的博客 1303

AutoSAR配置视频讲解:简介

AutoSAR实验视频讲解:闪烁一颗LED实验【简介】 大家好,欢迎来到雪云飞星的《AutoSAR实验课的视频讲解》专栏。看过《AutoSAR入门到精通系列讲解》的朋友们应该对博主不陌生,有很多朋友加了博主的微信成为了好友,还有朋友约过线下见面,博主很高兴大家能从我的博客中获得一些收获。在专栏里博主挖了很多坑,当时也说过想要录制一个AutoSAR的配置视频教程,素材在20年初就已经录好,中间各种原因足足鸽了一年。当时因为一些技术原因只能通过博客的图文形式展示出来,现在我们剪辑了视频,请了专业的配音,希望以视

雪云飞星的博客 9654

AI生图负面提示词实战指南:如何高效规避生成不良内容

基于火山引擎豆包大模型,从零搭建一个实时语音通话应用。它不是简单的问答,而是需要你亲手打通 ASR(语音识别)→ LLM(大脑思考)→ TTS(语音合成)的完整 WebSocket 链路。对于想要掌握 AI 原生应用架构的同学来说,这是个绝佳的练手项目。架构理解:掌握实时语音应用的完整技术链路(ASR→LLM→TTS)技能提升:学会申请、配置与调用火山引擎AI服务定制能力:通过代码修改自定义角色性格与音色,实现“从使用到创造”从0到1构建生产级别应用,脱离Demo,点击打开。

2600_94960230的博客 545

Ubuntu上通过FinalShell或Asbru访问CentOS虚拟机

使用FinalShell或Asbru远程连接虚拟机

howard2005的专栏 2279

AI生图负面提示词:原理剖析与工程实践指南

基于火山引擎豆包大模型,从零搭建一个实时语音通话应用。它不是简单的问答,而是需要你亲手打通 ASR(语音识别)→ LLM(大脑思考)→ TTS(语音合成)的完整 WebSocket 链路。对于想要掌握 AI 原生应用架构的同学来说,这是个绝佳的练手项目。架构理解:掌握实时语音应用的完整技术链路(ASR→LLM→TTS)技能提升:学会申请、配置与调用火山引擎AI服务定制能力:通过代码修改自定义角色性格与音色,实现“从使用到创造”从0到1构建生产级别应用,脱离Demo,点击打开。

2600_94959960的博客 1076

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

ComfyUI 负面提示词深度解析:原理、实践与避坑指南

在使用 ComfyUI 这类AI图像生成工具时,我们常常会遇到一个令人头疼的问题:生成的图片里总会出现一些我们不想要的东西,比如多余的手指、扭曲的面部,或者一些不符合预期的背景元素。这时候,“负面提示词”(Negative Prompt)就成为了一个至关重要的控制开关。它就像一位严格的“内容审查官”,告诉模型:“这些元素,请务必不要出现在我的画面里。然而,很多开发者朋友在实际使用中,对负面提示词的理解还停留在“随便写几个词”的阶段,效果时好时坏,甚至适得其反。

2600_94960101的博客 532

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

AIGC之Stable Diffusion 提示词学徒库

描述:本文主要用来记录 提示词TAG。

weixin_43976226的博客 5205

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Meixiong Niannian画图引擎负面提示词使用技巧:避免低质画面

本文介绍了如何在星图GPU平台上自动化部署🎨 Meixiong Niannian画图引擎镜像,实现高质量AI绘画生成。通过合理使用负面提示词技巧,用户可有效避免低质画面问题,提升图像生成质量,适用于艺术创作、设计素材生成等场景。

weixin_42509888的博客 167

LiuJuan Z-Image Generator保姆级教程:负面提示词过滤nsfw/水印/模糊实操

本文介绍了如何在星图GPU平台上自动化部署LiuJuan Z-Image Generator镜像,实现本地化AI图片生成。该工具基于通义Z-Image模型,用户可通过设置负面提示词,轻松过滤nsfw内容、水印及模糊画质,从而生成高质量、符合预期的定制化人像或场景图片。

weixin_31938351的博客 728

real-anime-z实操手册:中文提示词分段技巧与负面提示词编写规范

本文介绍了如何在星图GPU平台上自动化部署real-anime-z镜像,实现高质量动漫风格图片生成。该镜像支持中文提示词输入和负面提示词优化,特别适用于动漫角色设计、插画创作等场景,帮助用户快速生成符合需求的动漫图像。

weixin_35364187的博客 769

AI生图负面提示词:原理剖析与实战避坑指南

基于火山引擎豆包大模型,从零搭建一个实时语音通话应用。它不是简单的问答,而是需要你亲手打通 ASR(语音识别)→ LLM(大脑思考)→ TTS(语音合成)的完整 WebSocket 链路。对于想要掌握 AI 原生应用架构的同学来说,这是个绝佳的练手项目。架构理解:掌握实时语音应用的完整技术链路(ASR→LLM→TTS)技能提升:学会申请、配置与调用火山引擎AI服务定制能力:通过代码修改自定义角色性格与音色,实现“从使用到创造”从0到1构建生产级别应用,脱离Demo,点击打开。

2600_94959984的博客 773

ComfyUI负面提示词词组包:从原理到实战避坑指南

管理ComfyUI的负面提示词,远不止是粘贴一个长长的词包那么简单。它是一项融合了语言学、算法工程和产品伦理的细致工作。对于新手而言,理解从简单的正则匹配到复杂的语义分析之间的光谱,是第一步。从一个小而精的词库开始,结合动态权重和持续监控,逐步迭代,远比一开始就使用一个庞大而笨重的“万能”词包要有效得多。记住,负面提示词的最终目的,不是为了扼杀创造力,而是为了在安全的边界内,让创造力更自由、更高质量地绽放。希望这篇指南能帮助你更好地驾驭手中的工具,生成更多令人惊艳又安心的作品。

2600_94960124的博客 265

万象熔炉 | Anything XL实战教程:自定义提示词+负面词生成合规高清图

本文介绍了如何在星图GPU平台上自动化部署万象熔炉 | Anything XL镜像,实现本地AI图片生成。该工具基于SDXL框架深度优化,支持自定义提示词和负面词,能够快速生成合规的高清二次元或通用风格图像,适用于游戏美术、插画创作和内容制作等场景。

weixin_30765637的博客 939

MusePublic完整指南:正面/负面提示词设置+种子复现高清人像作品

本文介绍了如何在星图GPU平台上一键自动化部署🏛️ MusePublic艺术创作引擎,实现高效AI艺术人像生成。该镜像专为艺术感时尚人像优化,用户可通过设置正面/负面提示词及固定种子值,快速生成并复现高质量、高清的人物肖像图片,极大提升数字艺术创作效率。

weixin_42593549的博客 871

比迪丽LoRA提示词工程:负面词优化‘deformed hands’提升手部绘制准确率

本文介绍了在星图GPU平台上自动化部署比迪丽(Videl / Bidili) AI 绘画 LoRA 角色模型的方法,并重点探讨了如何通过优化负面提示词(如“deformed hands”)来显著提升AI绘制手部的准确率。该技术方案能有效解决动漫角色生成中常见的手部畸形问题,适用于快速生成高质量、细节准确的动漫角色图片,提升内容创作效率。

weixin_36296444的博客 103

LiuJuan Z-Image Generator基础教程:负面提示工程过滤模糊/畸形/水印效果

本文介绍了如何在星图GPU平台上自动化部署LiuJuan Z-Image Generator镜像,并利用其负面提示词功能提升AI图片生成质量。通过设置特定的负面提示词组合,用户可以轻松过滤掉生成图片中常见的模糊、畸形或水印等瑕疵,从而获得更干净、符合预期的视觉内容。

weixin_28771751的博客 368

AI Toolkit提示词工程:5个高级技巧与实战模板设计指南

在AI图像生成领域,**提示词工程**是连接创意与技术的关键桥梁。GitHub Trending的AI Toolkit项目提供了强大的提示词优化工具和LoRA训练功能,让用户能够更精准地控制AI模型的输出效果。本文将深入探讨提示词工程的核心技巧、模板设计方法以及实战应用场景。 ## 什么是AI Toolkit提示词工程? 提示词工程是通过精心设计和优化文本输入,引导AI模型生成更符合预期图像的

gitblog_00694的博客 433
上一篇: 提示词工程教程:多语言和跨语言提示词
下一篇: 面试场景题系列:设计视频分享系统
橙狮科技
博客等级 码龄6年 1163粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值