AI 情感聊天机器人之旅 —— 相关论文调研
开放域闲聊场景
Prompted LLMs as Chatbot Modules for Long Open-domain Conversation
-
发布日期:2023-05-01
-
简要介绍:作者提出了 MPC(模块化提示聊天机器人),这是一种无需微调即可创建高质量对话代理的新方法,可以成为长期开放域聊天机器人的有效解决方案。该方法利用预训练好的大型语言模型(LLM)作为单独的模块,通过使用 few-shot、思维链(CoT)和外部记忆等技术来实现长期一致性和灵活性。

MPC 本质上是一种 RAG 或者说 Agent,在输入和输出的中间添加了更多思考和记忆的环节,将 LLM 从“人”的角色进一步拆分为“大脑”和“嘴巴”。这种明确的分工的确能够提升最终的效果,但同样会遇到 RAG、Agent 成本较高的问题,以及引入更多中间环节造成的误差累积。为什么成本较高?为了确保中间环节结果的正确性,往往也会接一个 LLM 去做判断,或者训练专门的小模型,这些都需要资源,并且对整个推理过程的时延造成一定的影响。在业务上是否真得要这么做,还需要进一步衡量效果和成本的 tradeoff。
RoleLLM: Benchmarking, Eliciting, and Enhancing Role-Playing Abilities of Large Language Models
-
发布日期:2023-10
-
简要介绍:介绍 RoleLLM,一个用于对 LLM 的角色扮演能力进行基准测试、诱导和增强的框架,包括四个阶段:(1) 100 个角色的角色档案构建;(2) 基于上下文的指令生成(Context-Instruct),用于角色特定知识的提取;(3) 使用 GPT 的角色提示(RoleGPT),用于说话风格的模仿;(4) 角色条件指令调整(Role-Conditioned Instruction Tuning,RoCIT),用于微调开源模型和角色定制。通过 Context-Instruct 和 RoleGPT,作者创建了 RoleBench,这是第一个系统化、精细化的角色扮演基准数据集。

Blending Is All You Need: Cheaper, Better Alternative to Trillion-Parameters LLM
-
发布日期:2024-01-05
-
简要介绍:介绍了“混合”(Blended),这是一种通过随机选择不同系统(模型)的回复来组合多个聊天人工智能的简单方法。经验证据表明,当特定的较小模型被协同混合时,它们的性能有可能超过或赶上更大的同类模型,同时还能保持较小系统的推理成本。

在对话过程中,Blended 每次都会随机(均匀)选择产生当前响应的聊天模型(例如,有 A、B 和 C 三个聊天模型,随机从中挑选一个模型来生成响应)。论文中也提到“特定聊天模型生成的回复是以之前选择的聊天模型生成的所有回复为条件的。这意味着不同的聊天模型会对当前回复的输出产生隐性影响。因此,当前的回复融合了各个聊天人工智能的优势,它们相互协作,创造出了更吸引人的整体对话”。由于这篇论文是 chai,并且在他们自家的产品上得到了验证,因此我们也尝试了该方案。但在使用过程中,如果 A、B 和 C 这三个模型的差距较大时,用户所看到的回答风格差距也较大,就好像角色是“精神分裂”的。
如果成本足够的话,可以考虑异步同时调用这三个模型,然后在后处理环节中调用一致性方法或者 reward model 去评估各响应的结果,挑选出最适合的响应。或者根据对话轮数来选择聊天模型,例如前 10 轮调用 A 模型;10 轮到 50 轮调用 B 模型;50 轮以后调用 C 模型。
LLM-Blender:Ensembling Large Language Models with Pairwise Ranking and Generative Fusion
-
发布日期:2023-06-05
-
简要介绍:提出了一个名为 LLM-BLENDER 的集合框架,该框架由两个模块组成:Pair-Ranker 模块和 Gen-Fuser 模块。Pair-Ranker 采用一种专门的成对比较方法来区分候选输出之间的细微差别。Gen-Fuser 的目标是合并排名靠前的候选输出,通过利用它们的优势和减少它们的劣势来生成改进的输出。

这篇工作比 chai 那篇论文要早,从方法上来说(我个人理解)也更加靠谱一些,但 Gen-Fuser 要怎么做是个比较棘手的问题。并且整体的流程过长(即便是异步调用的方式,整体的时长取决于最后一个输出的耗时,并且不同模型的输出有长有短),在实际的使用过程中要不可避免地要增加时延以及降低服务的总体吞吐。
相关文章:
AI 情感聊天机器人之旅 —— 相关论文调研
开放域闲聊场景 Prompted LLMs as Chatbot Modules for Long Open-domain Conversation 发布日期:2023-05-01 简要介绍:作者提出了 MPC(模块化提示聊天机器人),这是一种无需微调即可创建高质量对话代理的新方法&…...
WPF Prism框架搭建
WPF Prism框架搭建 1.引入Prism框架 在Nuget包管理器中搜索Prism,并添加到项目中 2.在项目中使用prism框架 2.1 修改app.xaml 删除项目中自带的StartupUri 修改Application节点为prism:PrismApplication 引入prism命名空间 <prism:PrismApplication x:C…...
MyBatisplus使用报错--Invalid bound statement
报错如下 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.lotus.mybatis.mapper.UserMapper.selectListat org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:235)at com.baomidou.mybatisplus.cor…...
QT-QPainter实现一个动态充电的电池
1、效果 2、核心代码 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTimer>...
【云原生】Kubernetes----Metrics-Server组件与HPA资源
目录 引言 一、概述 (一)Metrics-Server简介 (二)Metrics-Server的工作原理 (三)HPA与Metrics-Server的作用 (四)HPA与Metrics-Server的关系 (五)HPA与…...
模拟原神圣遗物系统-小森设计项目,设计圣遗物(生之花,死之羽,时之沙,空之杯,理之冠)抽象类
分析圣遗物 在圣遗物系统,玩家操控的是圣遗物的部分 因此我们应该 物以类聚 人与群分把每个圣遗物的部分,抽象出来 拿 生之花,死之羽为例 若是抽象 类很好的扩展 添加冒险家的生之花 时候继承生之花 并且名称冒险者- 生之花 当然圣遗物包含…...
仿真模拟--telnet服务两种认证模式(自作)
自己做的笔记,有问题或看不懂请见解一下~ 目录 两个路由器间实现telnet服务(password认证模式) server client 两个路由器间实现telnet服务(aaa认证模式) server client 改名 tab键补齐 不会就扣问号 ? save 两个路由器间实现telnet服务…...
Apple Phone Memory
Apple Phone Memory 苹果手机内存查询,哪些应用程序(app)占用内存: 设置 通用 iPhone储存空间 清理下QQ音乐:...
Kubernetes容器运行时:Containerd vs Docke
容器化技术笔记 Kubernetes容器运行时:Containerd vs Docke - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this arti…...
【java 线程的状态】
介绍 Java 线程在运⾏的⽣命周期中的指定时刻只可能处于下⾯ 6 种不同状态的其中⼀个状态 状态名称说明NEW初始状态,线程被构建,但是还没有调用start()方法RUNNABLE运行状态,Java线程将操作系统中的就绪和运行两种状态统称为"运行中"BLOCKED阻塞状态,表示线程阻塞于…...
php加密验签
签名生成步骤(小程序端/前端): 确定参与签名的参数:选择需要参与签名的请求参数,通常包括请求的时间戳、随机数、请求的数据等。 参数排序与拼接:将所有参与签名的参数按照字母顺序排序,并拼接成…...
【Golang - 90天从新手到大师】Day06 - 数组
系列文章合集 Golang - 90天从新手到大师 数组是golang中最常用的一种数据结构,数组就是同一类型数据的有序集合 定义一个数组 格式: var name [n]type n为数组长度,n>0 且无法修改,type为数组的元素类型如: var a [2]int上面的例子定义了一个长度为2,元素类型为int的数组…...
java的有参构造方法
java的有参构造方法和无参构造方法类似,区别是构造方法名称里后面跟着一个括号,括号里是参数的定义 示例代码如下 class student4{private String name;private int age;public student4(String n,int a) {namen;agea;System.out.println("调用了…...
Vue66-vue-默认插槽
一、默认插槽需求 1-1、原本的写法: 在每个category组件中用v-show来做条件渲染,但是不方便! 1-2、默认插槽 img标签,ul标签,video标签,都是在app组件中完成解析之后,塞到category组件中的&…...
tsf-consul的使用
在腾讯云微服务平台TSF中使用Consul作为服务发现组件,通常需要遵循以下步骤: ### 1. 创建应用 首先,您需要在TSF控制台创建一个应用。在创建应用时,选择合适的业务类型、开发语言、开发框架等信息。对于使用Consul作为服务发现组件的Spring Cloud应用,您需要选择“业务应…...
【perl】基本语法 /备忘录/
分享 perl 语言学习资源 Perl 教程|极客教程 (geek-docs.com) Perl [zh] (runebook.dev) Perl 运算符 | 菜鸟教程 (runoob.com) Perl Documentation - Perldoc Browser Search the CPAN - metacpan.org 当然还有一些经典书籍,不再列举。 1、数字 1.1、数字表…...
mongodb 集群安装
整体架构图: 1. 配置域名 Server1: OS version: CentOS Linux release 8.5.2111 hostnamectl --static set-hostname mongo01 vi /etc/sysconfig/network # Created by anaconda hostnamemong01 echo "192.168.88.20 mong1 mongo01.com mongo…...
绿茶集团重启IPO:流量渐退、业绩波动,还能讲出好故事吗?
近日,绿茶集团有限公司(下称“绿茶集团”)向港交所递交上市申请,花旗、招银国际为其联席保荐人。 回望绿茶集团的上市之路,可谓有诸多坎坷。该公司于2021年3月首度向港交所发起冲击,但却将中文版招股书中的“流动负债总额”错写成…...
Git与SSH
Git Git是一种分布式版本控制系统,最初由Linus Torvalds为管理Linux内核开发而设计并开发。Git可以帮助开发团队协作管理代码,跟踪代码变更历史,并在需要时回溯到特定版本。 分布式版本控制:每个开发者都可以拥有完整的代码仓库…...
我的创作纪念日--码农阿豪
个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119qq.com] 📱…...
Bevy引擎拾取系统:从射线检测到事件冒泡的完整交互方案
1. 项目概述与核心价值在构建交互式应用,尤其是游戏或3D编辑器时,一个基础且高频的需求就是让用户能够用鼠标、触摸屏等指针设备与屏幕上的物体进行交互。简单来说,就是“点选”功能。在Bevy引擎的早期版本中,这个看似简单的功能实…...
深度强化学习在航天控制中的仿真到实物迁移挑战
1. 深度强化学习在航天控制领域的应用背景卫星近距离操作是航天任务中的一项关键技术挑战,涉及轨道交会、在轨服务、空间目标检测等多种场景。传统基于模型预测控制(MPC)的方法需要精确的环境动力学模型,而实际太空环境中存在诸多…...
基于MCP协议构建AI知识库:解决会话失忆,实现知识持久化
1. 项目概述:让AI拥有自己的“亚历山大图书馆”如果你和我一样,长期与Claude Code、Cursor这类AI编程助手打交道,一定会遇到一个核心痛点:会话失忆。每次开启一个新对话,AI助手就像一张白纸,它对你项目的历…...
中国半导体产业崛起:资本驱动下的存储器攻坚与全产业链布局
1. 行业格局的十字路口:当西方整合遇上东方崛起最近几年,半导体行业的头条新闻几乎被一系列重磅并购案所占据:恩智浦收购飞思卡尔、安华高并购博通、英特尔鲸吞阿尔特拉。这些动辄数百亿美元的巨无霸交易,背后传递出一个清晰的信号…...
Notero终极指南:打通Zotero与Notion的学术工作流桥梁
Notero终极指南:打通Zotero与Notion的学术工作流桥梁 【免费下载链接】notero A Zotero plugin for syncing items and notes into Notion 项目地址: https://gitcode.com/gh_mirrors/no/notero 当你在Zotero中积累了数百篇文献,却发现整理和引用它…...
新手入门教程使用curl命令直连Taotoken测试大模型聊天补全接口
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 新手入门教程:使用curl命令直连Taotoken测试大模型聊天补全接口 本文面向刚接触API调用的开发者,旨在指导如…...
氛围编程实战:用AI工具栈快速构建可部署应用
1. 项目概述:什么是“氛围编程”?如果你对“氛围编程”这个词感到陌生,或者觉得它听起来有点玄乎,那太正常了。我第一次听到时,也以为又是哪个硅谷弄潮儿发明的新潮黑话。但当我真正开始实践,并在几个月内从…...
共享屏幕怎么弄 共享屏幕用什么工具好
共享屏幕怎么弄?不管是异地办公同步方案、远程协助操作设备,还是和朋友分享游戏画面,都离不开共享屏幕的需求。共享屏幕怎么弄才不麻烦、不卡顿?其实答案很简单,无界趣连2.0就能轻松搞定,不用复杂设置&…...
从等待到掌控:构建个人化网盘下载工作流的3个关键步骤
从等待到掌控:构建个人化网盘下载工作流的3个关键步骤 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼…...
为AI智能体构建可编程邮箱:mailbot实战指南
1. 项目概述:为AI智能体打造专属的“可编程邮箱”如果你正在开发一个AI智能体,无论是客服机器人、自动化工作流还是个人助理,让它具备收发邮件的能力往往是刚需。传统的做法是什么?要么去折腾Gmail的API,忍受OAuth授权…...
