开发输出防护栏以检测GPT-4o幻觉
每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未来同行! 订阅:https://rengongzhineng.io/

输出防护栏是一组规则和检查机制,旨在确保大型语言模型(LLM)的输出准确、适当,并符合用户期望。在本次指南中,重点介绍如何开发一个特定检查幻觉的输出防护栏。
1. 构建评估集
假设这是一个为客户支持团队开发的自动化支持代理。我们将为这个代理提供关于如何处理退货、退款、反馈等事宜的政策知识库,并期望模型在与客户互动时遵循这些政策。首先,使用GPT-4o生成一组需要遵循的政策。
system_input_prompt = """
你是一名能为虚构公司生成支持代理政策的助手。你将收到一个主题(如退货、退款、反馈),并为该主题生成一个处理客户咨询的示例政策。政策应包含处理客户问题的逐步说明,包括客户属于某一类别时的决策逻辑,并提供采取具体行动的要求。
"""user_policy_example_1 = "退货政策"
assistant_policy_example_1 = """
退货政策1. **询问客户为什么要更换订单**- 将他们的问题分类为以下几种情况之一:- 损坏:他们收到的产品有损坏- 满意度:客户对产品不满意,不喜欢产品- 不必要:他们不再需要该物品
2a. **如果退货类别为“损坏”**- 询问客户是否有损坏物品的照片- 如果物品确实损坏,继续执行步骤3- 如果物品未损坏,通知客户这不符合我们的退货要求,他们不符合退款条件- 跳过步骤3,直接进入步骤4
2b. **如果退货类别为“满意度”或“不必要”**- 询问客户是否可以提供产品质量的反馈- 如果订单是在30天内下的,通知他们可以获得全额退款- 如果订单是在31-60天内下的,通知他们可以获得50%的部分退款- 如果订单超过60天,通知他们不符合退款条件
3. **如果客户符合退货或退款条件**- 询问客户是否确认他们想要退货或退款- 一旦确认,处理他们的请求
4. **在结束工单前提供额外的支持**- 询问客户是否还有其他需要帮助的地方。
"""# 生成政策的函数
def generate_policy(policy: str) -> str:input_message = user_policy_input.replace("{{POLICY}}", policy)response = client.chat.completions.create(messages= [{"role": "system", "content": system_input_prompt},{"role": "user", "content": user_policy_example_1},{"role": "assistant", "content": assistant_policy_example_1},{"role": "user", "content": input_message},],model="gpt-4o")return response.choices[0].message.content# 生成多种政策
def generate_policies() -> List[str]:policies = ['产品反馈政策', '运输政策', '保修政策', '账户删除', '投诉处理']with ThreadPoolExecutor() as executor:policy_instructions_list = list(executor.map(generate_policy, policies))return policy_instructions_listpolicy_instructions = generate_policies()
接下来,我们利用这些政策生成遵循或不遵循这些指示的客户互动示例。
2. 构建幻觉防护栏
开发防护栏时的指导原则包括:提供描述性指标以评估响应的准确性,确保关键术语的一致性,以及从最先进的模型开始开发。通过这些原则,我们构建出一个防护栏系统,并测量其性能。
guardrail_system_message = """你是一名高度专业化的助手,负责审查聊天机器人回复以识别和标记任何不准确或幻觉。在分析用户消息时,请彻底分析响应内容,考虑以下几点:1. 知识准确性:消息是否准确反映了知识库中的信息?不仅要评估直接提及的内容,还要评估上下文推断的知识。2. 相关性:消息是否直接回应用户的问题或陈述?检查响应是否逻辑上符合用户的最后一条消息,保持对话连贯性。3. 政策合规性:消息是否遵循公司政策?评估是否存在错误信息、过度承诺或逻辑不一致。确保响应礼貌、不歧视且实用。为执行任务,你将收到以下信息:1. 知识库文章 - 这些是验证助手消息内容的真理来源。2. 聊天记录 - 提供用户与助手之间对话的上下文。3. 助手消息 - 需要审核的助手消息。对于助手最近响应的每一句话,请根据以下标准评分:1. 事实准确性:句子是否符合知识库中的内容?2. 相关性:句子是否直接回应用户的问题或陈述?3. 政策合规性:句子是否符合公司政策?4. 上下文连贯性:句子是否保持或增强了对话的连贯性?
返回的响应必须为JSON格式数组,其中每个JSON对象代表一个评估的句子。
"""
接下来,我们使用以上逻辑生成并测试一批客户互动,并计算幻觉检测的精度和召回率。
# 计算精度和召回率
precision = precision_score(df['accurate'], df['hallucination'])
recall = recall_score(df['accurate'], df['hallucination'])print(f"\nPrecision: {precision:.2f}, Recall: {recall:.2f}")
结果分析
最终结果显示,防护栏系统具有很高的精度和召回率,表明它能够准确识别模型输出中的幻觉。这些防护栏为大型语言模型的输出提供了强有力的保障,确保输出的准确性和一致性。
相关文章:
开发输出防护栏以检测GPT-4o幻觉
每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...
代码复现,代码改进,算法复现,模型复现
目前空闲可接硕士,博士,代码复现,改进代码,文献复现,算法复现,模型复现,文章复现,科研复现,可定制创新点,对比,模块,创新思路…...
基于STM32开发的智能机器人系统
目录 引言环境准备工作 硬件准备软件安装与配置系统设计 系统架构硬件连接代码实现 初始化代码控制代码应用场景 自动导航机器人家用服务机器人常见问题及解决方案 常见问题解决方案结论 1. 引言 智能机器人通过整合传感器、控制器和执行机构,能够自主完成环境感…...
【数据结构题目】循环队列,以及队列实现栈的模拟
前言: 🌟🌟Hello家人们,这期讲解数据结构队列的基础知识,希望你能帮到屏幕前的你。 📚️上期博客在这里:http://t.csdnimg.cn/oOkvk 📚️感兴趣的小伙伴看一看小编主页:G…...
大数据CloudSim应用实践:基于CloudSimExamle6.java修改(超详细教程)
文章目录 大数据CloudSim应用实践:基于CloudSimExamle6.java修改(超详细教程)1 准备1.1 操作系统1.2 软件 2 安装JDK2.1 安装JDK 3 配置Eclipse集成开发环境3.1 启动Eclipse3.2 配置Java运行时环境JRE 4 创建Java项目4.1 创建项目4.2 导入jar…...
完美解决浏览器的输入框自动填入时,黄色背景问题,以及图标被遮住问题(最新)
用图说话↓↓↓ 首先用代码解决黄色背景问题,box-shadow颜色设置透明即可,延时渲染时间可修改为更久 :deep(input:-webkit-autofill) {box-shadow: 0 0 0 1000px transparent !important;/* 浏览器记住密码的底色的颜色 */-webkit-text-fill-color: #f…...
C 语言中的头文件
1、C 语言中 include <> 与include “” 的区别? #include < > 引用的是编译器的类库路径里面的头文件。 #include " " 引用的是你程序目录的相对路径中的头文件,如果在程序目录没有找到引用的头文件则到编译器的类库路径的目录下找该头文…...
数据结构复杂度
文章目录 一. 数据结构前言1.1 数据结构1.2 算法 二. 算法效率2.1 时间复杂度2.1.1 T(N)函数式2.1.2 大O的渐进表示法 2.2 空间复杂度2.3 常见复杂度比较 2.3 复杂度算法题1.2. 一. 数据结构前言 1.1 数据结构 什么是数据结构呢?打开一个人的主页,有很…...
MySQL基础篇
一、MySQL概述 MySQL是一个数据库管理系统,由瑞典MySQL AB公司开发,属于Oracle推出的产品。MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS(关系数据库管理系统) ,…...
详解C++中的四种强制转换reinterpret_cast / const_cast / static_cast / dynamic_cast
目录 1.reinterpret_cast 2.const_cast 3.static_cast 4.dynamic_cast 例子 C中存在四种强制转换:reinterpret_cast / const_cast / static_cast / dynamic_cast 1.reinterpret_cast 格式 : reinterpret_cast<type_id> (expression) 用于类型…...
Word中加载Mathtype后粘贴复制快捷键(Ctrl+C/V)不能使用
操作环境 windows 11操作系统 word版本2021 mathtype版本7.4 这个问题只出现在word中,在excel和ppt中都不存在这个问题,而且之前在另一台电脑中使用word2016版本并没有这种问题的,然后网上搜了一下有不少人有这种问题,word直接取…...
Linux硬件-bios
作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。 在Linux的服务器领域,我们能接触的到硬件其实挺多的,但是在这些硬件我们根据我们的需要去使用的时候…...
VisionPro二次开发学习笔记12-使用CogToolGroup控件进行图像检测
本示例演示了如何通过图像数据库使用 CogImageFileTool,并将其放入 CogToolGroup 中,对于数据库中的每个图像运行一次检测. 当用户按下 RunTest 按钮时,程序执行以下操作: 如果工具组中没有 CogImageFileTools,它将显…...
mfc140u.dll丢失的科学修复手段,简单又方便的mfc140u.dll修复
遇到 "缺失 mfc140u.dll 文件" 的提示时可能会让你疑惑,但不用担心。这个文件是 Microsoft Visual C 2015 的重要组成部分,对运行特定程序非常关键。幸运的是,解决这一问题并不难。本文将简单指导你如何恢复或修复丢失的 mfc140u.d…...
RabbitMQ、Kafka对比(超详细),Kafka、RabbitMQ、RocketMQ的区别
文章目录 一、kafka和rabbitmq全面对比分析1.1 简介1.2 kafka和rabbitmq全面对比分析1.3 影响因素 二、RabbitMQ、Kafka主要区别2.1 详解/主要区别2.1.1 设计目标和适用场景2.1.2 架构模型方面2.1.3 吞吐量和性能2.1.4 消息存储和持久化2.1.5 消息传递保证2.1.6 集群负载均衡方…...
【案例35】销售订单公式问题导致系统宕机
问题现象 经过顾问反馈,发现系统现在出现卡顿,NCC一直在转圈。 问题分析 远程排查,发现在服务器从机上defalut-7发生了内存溢出,宕机。 生成了宕机日志。分析结果如下: 销售订单相关操作,vo太多了导致…...
编程-设计模式 4:建造者模式
设计模式 4:建造者模式 定义与目的 定义:建造者模式将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。目的:该模式主要用于创建复杂对象时,这些对象的创建过程可能涉及多个步骤,…...
百度文心一言API调用,千帆大模型获取API Key和API Secret图解
百度文心一言大模型调用教程,获取文心一言API Key和API Secret的方法,码笔记mabiji.com告诉大家在百度智能云的千帆大模型平台创建应用,即可获取文心一言的API Key和API Secret,详细流程如下: 1、在百度智能云的千帆大…...
kafka下载|安装
1、下载kafka https://kafka.apache.org/downloads 2、安装kafka 解压下载的kafka安装包即可 tar -xvf kafka_2.13-3.7.0.tgz -C /usr/local/3、查看kafka目录 bin目录:存放了脚本 config目录:主要存放了配置文件...
贪心算法part03
134 加油站 在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。 如果你可以绕环路行…...
UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...
IGP(Interior Gateway Protocol,内部网关协议)
IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...
(二)TensorRT-LLM | 模型导出(v0.20.0rc3)
0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...
智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...
MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...
蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...
Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术解析
Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术解析 一、第一轮基础概念问题 1. Spring框架的核心容器是什么?它的作用是什么? Spring框架的核心容器是IoC(控制反转)容器。它的主要作用是管理对…...
【堆垛策略】设计方法
堆垛策略的设计是积木堆叠系统的核心,直接影响堆叠的稳定性、效率和容错能力。以下是分层次的堆垛策略设计方法,涵盖基础规则、优化算法和容错机制: 1. 基础堆垛规则 (1) 物理稳定性优先 重心原则: 大尺寸/重量积木在下…...
基于鸿蒙(HarmonyOS5)的打车小程序
1. 开发环境准备 安装DevEco Studio (鸿蒙官方IDE)配置HarmonyOS SDK申请开发者账号和必要的API密钥 2. 项目结构设计 ├── entry │ ├── src │ │ ├── main │ │ │ ├── ets │ │ │ │ ├── pages │ │ │ │ │ ├── H…...
