#LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification

在本章中,我们将重点探讨评估输入任务的重要性,这关乎到整个系统的质量和安全性。
在处理不同情况下的多个独立指令集的任务时,首先对查询类型进行分类,并以此为基础确定要使用哪些指令,具有诸多优势。这可以通过定义固定类别和硬编码与处理特定类别任务相关的指令来实现。例如,在构建客户服务助手时,对查询类型进行分类并根据分类确定要使用的指令可能非常关键。具体来说,如果用户要求关闭其账户,那么二级指令可能是添加有关如何关闭账户的额外说明;如果用户询问特定产品信息,则二级指令可能会提供更多的产品信息。

delimiter = "####"

在这个例子中,我们使用系统消息(system_message)作为整个系统的全局指导,并选择使用 “#” 作为分隔符。分隔符是用来区分指令或输出中不同部分的工具,它可以帮助模型更好地识别各个部分,从而提高系统在执行特定任务时的准确性和效率。 “#” 也是一个理想的分隔符,因为它可以被视为一个单独的 token 。
这是我们定义的系统消息,我们正在以下面的方式询问模型。

system_message = f"""
你将获得客户服务查询。
每个客户服务查询都将用{delimiter}字符分隔。
将每个查询分类到一个主要类别和一个次要类别中。
以 JSON 格式提供你的输出,包含以下键:primary 和 secondary。主要类别:计费(Billing)、技术支持(Technical Support)、账户管理(Account Management)或一般咨询(General Inquiry)。计费次要类别:
取消订阅或升级(Unsubscribe or upgrade)
添加付款方式(Add a payment method)
收费解释(Explanation for charge)
争议费用(Dispute a charge)技术支持次要类别:
常规故障排除(General troubleshooting)
设备兼容性(Device compatibility)
软件更新(Software updates)账户管理次要类别:
重置密码(Password reset)
更新个人信息(Update personal information)
关闭账户(Close account)
账户安全(Account security)一般咨询次要类别:
产品信息(Product information)
定价(Pricing)
反馈(Feedback)
与人工对话(Speak to a human)"""

了解了系统消息后,现在让我们来看一个用户消息(user message)的例子。

user_message = f"""\ 
我希望你删除我的个人资料和所有用户数据。"""

首先,将这个用户消息格式化为一个消息列表,并将系统消息和用户消息之间使用 “####” 进行分隔。

messages =  [  
{'role':'system', 'content': system_message},    
{'role':'user', 'content': f"{delimiter}{user_message}{delimiter}"},  
]

如果让你来判断,下面这句话属于哪个类别:"我想让您删除我的个人资料。我们思考一下,这句话似乎看上去属于“账户管理(Account Management)”或者属于“关闭账户(Close account)”。
让我们看看模型是如何思考的:

from tool import get_completion_from_messagesresponse = get_completion_from_messages(messages)
print(response)
{"primary": "账户管理","secondary": "关闭账户"
}

模型的分类是将“账户管理”作为 “primary” ,“关闭账户”作为 “secondary” 。
请求结构化输出(如 JSON )的好处是,您可以轻松地将其读入某个对象中,例如 Python 中的字典。如果您使用其他语言,也可以转换为其他对象,然后输入到后续步骤中。
下面让我们再看一个例子:
用户消息: “告诉我更多关于你们的平板电脑的信息”
我们运用相同的消息列表来获取模型的响应,然后打印出来。

user_message = f"""\
告诉我更多有关你们的平板电脑的信息"""
messages =  [  
{'role':'system', 'content': system_message},    
{'role':'user', 'content': f"{delimiter}{user_message}{delimiter}"},  
] 
response = get_completion_from_messages(messages)
print(response)
{"primary": "一般咨询","secondary": "产品信息"
}Copy to clipboardErrorCopied

这里返回了另一个分类结果,并且看起来似乎是正确的。因此,根据客户咨询的分类,我们现在可以提供一套更具体的指令来处理后续步骤。在这种情况下,我们可能会添加关于平板电脑的额外信息,而在其他情况下,我们可能希望提供关闭账户的链接或类似的内容。这里返回了另一个分类结果,并且看起来应该是正确的。
在下一章中,我们将探讨更多关于评估输入的方法,特别是如何确保用户以负责任的方式使用系统。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024年腾讯云4核8G12M配置的轻量服务器同时支持多大访问量?

腾讯云4核8G服务器支持多少人在线访问?支持25人同时访问。实际上程序效率不同支持人数在线人数不同,公网带宽也是影响4核8G服务器并发数的一大因素,假设公网带宽太小,流量直接卡在入口,4核8G配置的CPU内存也会造成计算…

深入理解网络通信基本原理和tcp/ip协议

深入理解网络通信基本原理和tcp/ip协议 一、计算机网络体系1,计算机网络体系结构2,网络中数据传输2.1,浏览器中输入一个url的执行流程2.2,数据在网络中是的传输流程 3,三次握手和四次挥手3.1,三次握手3.1.1…

推荐一款桌面端redis连接工具, redis desktop manager替代品——another redis desktop manager

下载地址 Another Redis Desktop Manager | 更快、更好、更稳定的Redis桌面(GUI)管理客户端,兼容Windows、Mac、Linux,性能出众,轻松加载海量键值 封面对比 对比redis desktop manager ,ui上有巨大的改进 但是redis desktop ma…

【基于Ubuntu20.04的Autoware.universe安装过程】方案一:虚拟机 | 详细记录 | Vmware | 全过程图文 by.Akaxi

目录 一、Autoware.universe背景 二、虚拟机配置 三、Ubuntu20.04安装 四、GPU显卡安装 五、ROS2-Galactic安装 六、ROS2-dev-tools安装 七、rmw-implementation安装 八、pacmod安装 九、autoware-core安装 十、autoware universe dependencies安装 十一、安装pre-c…

如何使用固定公网地址远程访问本地RStudio Server【内网穿透】

文章目录 前言1. 安装RStudio Server2. 本地访问3. Linux 安装cpolar4. 配置RStudio server公网访问地址5. 公网远程访问RStudio6. 固定RStudio公网地址 前言 RStudio Server 使你能够在 Linux 服务器上运行你所熟悉和喜爱的 RStudio IDE,并通过 Web 浏览器进行访问…

CentOS7如何使用Docker部署Wiki.Js知识库并实现公网远程访问?

文章目录 1. 安装Docker2. 获取Wiki.js镜像3. 本地服务器打开Wiki.js并添加知识库内容4. 实现公网访问Wiki.js5. 固定Wiki.js公网地址 不管是在企业中还是在自己的个人知识整理上,我们都需要通过某种方式来有条理的组织相应的知识架构,那么一个好的知识整…

Leetcoder Day29| 贪心算法part03

1005.K次取反后最大化的数组和 给定一个整数数组 A,我们只能用以下方法修改该数组:我们选择某个索引 i 并将 A[i] 替换为 -A[i],然后总共重复这个过程 K 次。(我们可以多次选择同一个索引 i。) 以这种方式修改数组后&a…

2024年国际生物发酵展全面揭秘-赛尼格磁电

参展企业介绍 北京赛尼格磁电科技有限公司是一家中加合资的专业的永磁系统生产商。 2001年成立于北京。公司专业从事磁性材料的应用及除铁器的研发、设计及制造。精良的加工设备,精细的产品制作,为我们满足东南亚、欧洲、北美、南美及国内各大企业的产…

(转载)SpringCloud 微服务(三)-Seata解决分布式事务问题

ps:这个原文写的很好,怕后续这个地址失效,备份一个留着自己学习 转自:SpringCloud 微服务(三)-Seata解决分布式事务问题_seata 黑马 代码-CSDN博客 看完了黑马程序员的免费课程,感觉受益匪浅,…

TypeScript+React Web应用开发实战

💂 个人网站:【 海拥】【神级代码资源网站】【办公神器】🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】 在现代Web开发中,React和TypeScrip…

【Qt学习】QLineEdit 控件 属性与实例(登录界面,验证密码,正则表达式)

文章目录 1. 介绍2. 实例使用2.1 登录界面2.2 对比两次密码是否相同2.3 通过按钮显示当前输入的密码(并对2.2进行优化)2.4 结语 3. 正则表达式3.1 QRegExp3.2 验证输入内容 4. 资源代码 1. 介绍 关于 QLineEdit 的详细介绍,可以去查阅官方文…

C++:模版初阶 | STL简介

创作不易,感谢支持!! 一、泛型编程思想 如何实现一个通用的交换函数呢? 注:其实swap函数在C的标准库提供了,不需要自己写,这边只是举个例子 void Swap(int& left, int& right) { in…

HTML+CSS+JS:花瓣登录组件

效果演示 实现了一个具有动态花朵背景和简洁登录框的登录页面效果。 Code <section><img src"./img/background.jpeg" class"background"><div class"login"><h2>Sign In</h2><div class"inputBox"…

PDF Expert for Mac v3.9.2中文激活版下载

PDF Expert for Mac是一款易于使用的 PDF 编辑器和注释器&#xff0c;专为 Mac 设备设计。它允许用户轻松查看、编辑、签名、注释和共享 PDF。该软件使用户能够向他们的 PDF 添加文本、图像、链接和形状&#xff0c;突出显示和标记文本&#xff0c;填写表格以及签署数字文档。它…

type may not be empty [type-empty]

Git提交失败原因分析 原因是使用了规范commit信息的工具&#xff0c;你的提交信息不符合规范&#xff0c;所以被拒绝了 commit规范工具 commitlinthusky 我这个项目使用husky&#xff0c;提交规范比较严格。 解决方式一&#xff1a; 修改提交信息&#xff0c; 使其符合规范…

【探索AI】十一 深度学习之第1周:深度学习概述与基础

深度学习概述与基础 深度学习的发展历史与现状神经网络的基本原理前向传播与反向传播算法常见的激活函数与优化算法深度学习框架&#xff08;如TensorFlow或PyTorch&#xff09;进行基础操作 深度学习的发展历史与现状 深度学习的发展历史可以追溯到上世纪40年代&#xff0c;当…

SpringMVC 学习(四)之获取请求参数

目录 1 通过 HttpServletRequest 获取请求参数 2 通过控制器方法的形参获取请求参数 3 通过 POJO 获取请求参数&#xff08;重点&#xff09; 1 通过 HttpServletRequest 获取请求参数 public String handler1(HttpServletRequest request) <form action"${pageCont…

Spring Boot中实现列表数据导出为Excel文件

点击下载《Spring Boot中实现列表数据导出为Excel文件》 1. 前言 本文将详细介绍在Spring Boot框架中如何将列表数据导出为Excel文件。我们将通过Apache POI库来实现这一功能&#xff0c;并解释其背后的原理、提供完整的流程和步骤&#xff0c;以及带有详细注释的代码示例。最…

个人博客系列-Django部署-nginx(3)

使用Nginx uwsgi进行部署django项目 一. 检查项目是否可以运行 启动项目 python manage.py runserver 0.0.0.0:8099输入ip:8099 查看启动页面 出现上述页面表示运行成功 二. 安装uwsgi并配置 2.1 下载uwsgi pip install uwsgi新建文件test.py写入内容&#xff0c;测试一…

Win UI3开发笔记(四)设置主题续

上文讲到过关于界面和标题栏以及普通文本的主题设置&#xff0c;这篇说一下关于对话框的主题设置。 我最终没找到办法&#xff0c;寻求办法的朋友可以不用接着看了&#xff0c;以下只是过程。 一个对话框包括标题部分、内容部分和按钮部分&#xff0c;其中&#xff0c;在Cont…