基于 LLM 的群聊知识助手:茴香豆简介

茴香豆是一个基于大型语言模型(LLM)的群聊知识助手,旨在为用户提供智能化的对话体验和问题解答。它通过精心设计的三阶段处理流程(预处理、拒答、响应)来应对群聊场景的复杂性,确保既能提供有用的信息,又不会导致消息泛滥。

优势特点


高效的处理流程:茴香豆采用预处理、拒答、响应三阶段 pipeline,有效管理群聊中的信息流,确保对话质量。

预处理阶段
预处理阶段是茴香豆处理流程的第一步,其目的是对接收到的消息进行初步分析和处理,为后续的拒答和响应阶段做好准备。在这一阶段,茴香豆会执行以下任务:

消息解析:分析消息的结构和内容,提取关键词和关键短语。

意图识别:识别用户的意图,判断消息是提问、陈述还是其他类型的交流。

相关性判断:评估消息与当前对话上下文的相关性,以及与知识库中信息的匹配程度。

预处理阶段的目标是为后续的拒答和响应阶段提供必要的信息和基础,确保对话的流畅性和准确性。

拒答阶段
拒答阶段是茴香豆处理流程中的关键环节,其目的是过滤掉那些不相关或不需要回答的问题,以减少无效对话和消息泛滥。在这一阶段,茴香豆会:

设定阈值:根据预处理阶段分析的结果,设定拒答的阈值,如相关性低于一定程度的问题将被拒答。

利用正反例库:通过正反例库(good_questions和bad_questions)来训练和调整拒答机制,确保拒答的准确性和有效性。

动态调整:根据实际对话情况和用户反馈,动态调整拒答策略和阈值,以优化对话体验。

拒答阶段的目的是确保助手只回答那些有价值和相关的问题,避免无谓的消息干扰。

响应阶段
响应阶段是茴香豆与用户互动的直接体现,在这一阶段,助手会根据预处理和拒答阶段的结果,生成并发送回答或反馈。响应阶段的关键点包括:

生成回答:利用LLM的能力,结合知识库和上下文信息,生成准确、有用的回答。

多模态支持:除了文本回答,茴香豆还可以根据需要提供图片、链接等多模态响应。

个性化反馈:根据用户的历史交互和偏好,提供个性化的回答和建议,提升用户体验。

响应阶段的目的是确保每次对话都能为用户提供价值,无论是解决问题还是提供信息。

成本效益:最低只需1.5G显存即可运行,无需昂贵的训练过程,适用于各行各业。

开源且可商用:提供完整的前后端Web、Android和算法源码,支持工业级应用。

多场景应用:已在多个场景中运行,用户可通过加入微信群直接体验群聊助手的效果。

持续更新:不断推出新功能,如Web版、微信接入、多模态整合等,提升用户体验。

功能亮点

Web版:用户可以创建自己的知识库,更新正反例,开关网络搜索,并在飞书/微信群中集成使用。

微信接入:整合图片和公众号解析,实现指代消歧,提升对话理解能力。

多模态支持:实验性功能包括微信群集成的多模态处理,实现OCR等功能。

支持情况

茴香豆支持多种LLM、文件格式和即时通讯软件,包括但不限于InternLM2、Qwen、KIMI、DeepSeek、Step、GLM(ZHIPU)、Xi-Api、OpenAOE等,以及pdf、word、excel、ppt等多种文件格式,同时兼容WeChat、Lark等即时通讯软件。

硬件要求

根据配置不同,茴香豆分为实惠版(1.5GB显存)、标准版(19GB显存)和完整版(40GB显存),用户可根据自己的需求和硬件条件选择合适的版本。

运行指南
运行茴香豆需要首先同意BCE模型协议,并通过命令行登录huggingface。安装依赖包括系统级依赖和Python依赖,对于不同版本的Python,安装的依赖可能有所不同。

版本特性

标准版:本地运行text2vec、rerank和7B模型,能回答领域知识的基础问题。

实惠版:使用openai API替代本地LLM,处理源码级问题,限额免费。

完整版:充分利用检索+长文本能力,能够回答源码级问题。

使用步骤

用户可以通过简单的命令行操作来体验茴香豆的不同功能,包括但不限于运行测试用例、构建知识库、开启拒答流、测试飞书群集成等。

致谢
茴香豆的开发得到了多个开源项目的支持,包括KIMI、BCEmbedding、Langchain-ChatChat和GrabRedEnvelope等,这些项目为茴香豆提供了技术基础和灵感来源。

总结
茴香豆是一个功能丰富、易于部署且成本效益高的群聊知识助手,它通过结合最新的LLM技术和多模态处理能力,为用户提供了一个智能、高效的对话平台。无论是个人用户还是企业用户,都可以通过茴香豆提升群聊体验,实现更加自然、流畅的人机交互。

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

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

相关文章

java解压缩ZIP文件

封装了一个类,类的代码如下 public class Decompress {//String zipFilePath "/sdcard/archive.zip";//String destinationPath "/sdcard/extracted_files";//ZipUtils.unzip(zipFilePath, destinationPath);public static void unzip(Strin…

Go 语言中程序是怎么编译的?

在当今快速发展的软件开发领域,Go 语言(又称 Golang)已经成为了开发高性能应用程序的热门选择。由 Google 开发并在 2009 年公开发布,Go 语言因其简洁的语法、出色的并发支持以及优秀的性能而受到广泛欢迎。尽管 Go 的语法相对简单…

C# TcpClient

TcpClient 自己封装的话,还是比较麻烦的,可以基于线程,也可以基于异步写,最好的办法是网上找个插件,我发现一个插件还是非常好用的:STTech.BytesIO.Tcp 下面是这个插件作者的帖子,有兴趣的可以…

Mac连接虚拟机(Linux系统)

1.确定虚拟机的IP地址 ifconfig //终端命令,查询ip地址 sudo apt install net-tools 安装完成后再次执行 ifconfig: 2.安装SSH(加密远程登录协议) (1).安装OpenSSH服务器软件包: sudo apt-get install openssh-ser…

监控易助力实现智能工厂数字化升级项目案例

随着工业4.0和智能制造的浪潮席卷全球,包头铝业(以下简称“包铝”)积极响应行业变革,启动了智能工厂升级项目。该项目旨在通过数字化转型,实现IT基础设施、动环设施以及物联网设施的互联互通,进而提升生产效…

小心审核失败,网上申请流量卡千万要注意这些!

最近有朋友私信小编:在网上申请的流量卡,信息填写完成提交审核呢,是不是就能发卡呢? 答案:不一定。 网上申请流量卡时,填写申请信息并提交审核这只是网报程序成功,接下来还要运营商审核&#…

python面向对象编程OOP

面向对象编程(Object-Oriented Programming,简称OOP)是Python编程中一种重要的编程范式。OOP通过使用类和对象来组织代码,使代码更易于管理和维护。下面是一些Python面向对象编程的关键概念和示例: 1. 类和对象 **类…

【惊艳视界】Perfectly Clear Workbench:让您的图像瞬间焕发生机!

在数字化时代,图像已成为我们生活中不可或缺的一部分。无论是摄影爱好者,还是专业设计师,都渴望拥有一款能够轻松提升图像质量的神奇工具。今天,我们为您带来了一款图像清晰处理软件的佼佼者——Perfectly Clear Workbench&#x…

最新!!2024上半年软考【高级】系统分析师 综合知识真题解析

2024上半年软考考试已经结束了,为大家整理了网友回忆版的系统分析师选择题真题及答案,总共30道题。 上半年考试的宝子们可以对答案预估分数!准备下半年考的宝子可以提前把握考试知识点和出题方向,说不定会遇到相同考点的题目&…

【全开源】知识付费问答社区(FastAdmin+ThinkPHP)

此系统是一款基于FastAdmin和ThinkPHP开发的知识付费问答社区系统,提供全部前后台无加密源代码,拥有强大的付费提问、付费阅读、付费查看、付费邀请、全文搜索等功能模块,其整合了强大的标签模块和专区模块,让问题和文章更好的归类…

【WP|2】WordPress 高级函数和方法解析

在之前的文章中,我们讨论了 WordPress 的一些常用函数和方法。这篇文章将进一步探讨一些高级函数和方法,这些函数和方法能够帮助开发者更加精细地控制和定制 WordPress 网站,以实现更复杂和高级的功能。 一、高级主题函数 1. add_theme_supp…

python办公自动化——(三)替换PPT文档中图形数据-折线图

数据替换前 数据替换后 代码实现 # 单折线 pathE:\\13 python 下侧双x轴折线图\\ prs Presentation(path双x轴测试-01.pptx) data_timepd.read_excel(path"数据.xlsx",sheet_name单折线)ppt_9prs.slides…

DSP6657 GPIO学习

0 设备 创龙C6657Artix-7工业评估板 SEED-XDS560v2 1 实现功能 控制评估底板 LED1 、 LED2 、 LED3 每隔 0.5s 将状态同时翻转一次。 采用查询的方式控制评估版的KEY2控制LED2亮灭。 2 代码 2.1 GPIO驱动 2.1.1 c66x_gpio.c /* Compiler Header files */ #include …

vue3数字滚动依赖

名称&#xff1a;vue3-count-to 安装: npm install vue3-count-to --save 在main.js中全局注册: github:https://github.com/PanJiaChen/vue-countTo // main.js全局注册 import countTo from vue3-count-to app.use(countTo)在用到地页面引入使用 <template><count…

css让padding、border不占据宽度

CSS3 新增了 box-sizing 属性。 以前&#xff0c;如果指定 div 的宽度为 div { width: 120px;height: 120px;padding: 10px; } 则包含 padding&#xff0c;div 的实际宽度为 120px。 有时我们不希望 padding 影响到 div 的实际宽度。以前只能手动计算 width&#xf…

MySQL入门学习-查询进阶.DISTINCT

在 MySQL 中&#xff0c;DISTINCT 关键字用于查询结果中去除重复的记录。 一、在查询进阶中&#xff0c;除了 DISTINCT 之外&#xff0c;还有以下关键字&#xff1a; - GROUP BY&#xff1a; 根据指定的字段对结果进行分组&#xff0c;通常与聚合函数一起使用&#xff0c;例…

kexin2024年5月22日

在CLion上调试程序 使用程序的模板来调试程序 在下图中输入作为console窗口输入输入数据。 下面将程序记录一下 首先的是模板 //main.c /** * Description: * Caution&#xff1a;本地调试时&#xff0c;只编译运行这一个文件&#xff0c;不要链接solution.c&#xff01;…

初学JavaScript

什么是JavaScrip&#xff1a; JavaScript 是一种高级编程语言&#xff0c;主要用于网页开发。它是一种动态、弱类型的语言&#xff0c;可以在客户端&#xff08;浏览器&#xff09;中运行&#xff0c;并与 HTML 和 CSS 一起用于创建交互式网页。JavaScript 可以添加动态功能&a…

vba 基本操作

1. 获取多有的sheets 并对sheet 循环处理 Dim sheets As sheets Dim sheet As Worksheet Dim name As String Set sheets ThisWorkbook.Worksheets For Each sheet In sheetsIf sheet.name <> "Sheet1" Thenname sheet.nameEnd If Next sheet2. 添加一个工…

电脑误删除的文件怎么恢复?6个方法图文详解!

“我在电脑上误删除了一些比较重要的文件&#xff0c;现在不知道应该怎么操作了&#xff0c;有没有可以分享一下经验的朋友呀&#xff1f;” 在数字化世界的浪潮中&#xff0c;电脑成为了我们处理、存储和分享信息的重要工具。然而&#xff0c;随着我们对电脑的依赖日益加深&am…