书生·浦语大模型第二期实战营第三节-茴香豆:搭建你的 RAG 智能助理 笔记和作业

来源:

视频教程:茴香豆:搭建你的 RAG 智能助理

文字教程:茴香豆:搭建你的 RAG 智能助理

作业来源:第三课作业

茴香豆web链接:茴香豆web-零编程接入飞书微信(更新了高精度 LLM!)

1. 笔记

1.1 RAG技术概述

RAG(Retrieval Augmented Generation)是一种结合了检索(Retrieval)和生成(Generation)的技术,旨 在通过利用外部知识库来增强大型语言模型(LLMs)的性能。它通过检索与用户输入相关的信息片段,并结合这些 信息来生成更准确、更丰富的回答。解决LLMs在处理知识密集型任 务时可能遇到的挑战。提供更 准确的回答、降低成本、实现 外部记忆。
不足:生成幻觉;过时知识;缺乏透明和可追溯的推理过程

1.2 RAG工作原理 

数据存储:将文本及其他数据通过其他预训 练的模型转换为固定长度的向量 表示,这些向量能够捕捉文本的 语义信息。
相似性检索:根据用户的查询向量,使用向量数 据库快速找出最相关的向量的过程。 通常通过计算余弦相似度或其他相 似性度量来完成。检索结果根据相似度得分进行排序, 最相关的文档将被用于后续的文本生成。
向量表示的优化:包括使用更高级的文本编码技术 如句子嵌入或段落嵌入,以及对 数据库进行优化以支持大规模向 量搜索。

1.3 RAG流程示例

 1.4 RAG常见优化方法

嵌入优化 索引优化 查询优化 上下文管理 迭代检索 递归检索 自适应检索 LLM微调

自适应检索:Flare , Self-RAG;使用LLMs主动决定检索的最佳时机

递归检索:迭代细化搜索查询 ;链式推理(Chain-of-Thought)指导检索过程和内容。

LLM微调:LLM Fine-tuning:检索微调;生成微调;双重微调

选代检索:根据初始查询和迄今为止生成的文本进行重复搜索

上下文管理:Context Curation 重排(rerank) 上下文选择/压缩

嵌入优化:结合稀疏和密集检索 多任务

素引优化:细粒度分割  元数据

查询优化:查询扩展、转换 多查询

1.5 评估框架和基准测试 

经典评估指标:准确率 召回率 F1分数 BLEU分数 RouGE分数

RAG评测框架:基准测试-RGB,RECALL,CRUD

评测工具

2. 茴香豆作业

茴香豆是一个基于LLMs的领域知识助手,由书生浦语团队开发的开源大模型应用。专为即时通讯(IM)工具中的群聊场景优化的工作流,提供及时准确的技术支持和 自动化问答服务。通过应用检素增强生成(RAG)技术,茴香豆能够理解和高效准确的回应与特定知识领域相关的复杂查询。

应用场景:

智能客服:技术支持、领域知识对话 。

IM工具中创建用户群组,讨论、解答 相关的问题。

随着用户数量的增加,答复内容高度 重复,充斥大量无意义和闲聊,人工 回复,成本高,影响工作效率。通过提供自动化的问答支持, 帮助维护者减轻负担,同时确保用户 问题得到有效解答。
 

场景难点:

群聊中的信息量巨大,且内容多样,从技术讨 论到闲聊应有尽有。
用户问题通常与个人紧密相关,需要准确的实 时的专业知识解答。
传统的NLP解决方案无法准确解析用户意图, 且往往无法提供满意的答案。
需要一个能够在群聊中准确识别与回答相关问 题的智能助手,同时避免造成消息过载。

 2.1.实践一:在 InternLM Studio 上部署茴香豆技术助手

 对话截图

 2.2 茴香豆Web版演示

第1-2轮对话

第3-4轮对话

 第5-6轮对话

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

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

相关文章

使用R语言生成频数分布表

概要 使用R语言生成频数分布表 在R语言中,可以使用freq()函数来生成频数分布表。首先,将需要分组的数据存储在一个向量中。然后,使用freq()函数将这个向量作为参数输入,即可生成频数分布表。以下是一个示例: 示例 …

内插和抽取

抽取: 频域表达式的关系: 1、角频率扩大M倍 2、移动2pi、22pi…(n-1) 2pi 3、相加 4、幅度变为1/M 内插: 加入低通滤波,减小混叠,但是由于截短,也会造成误差,但是…

【YOLOv8改进[检测头Head]】YOLOv8的“新头”之动态头(DynamicHead)

目录 一 DynamicHead 二 YOLOv8的“新头”之动态头 1 总体修改 2 配置文件 3 训练 其他 一 DynamicHead 官方论文地址:https://arxiv.org/pdf/2106.08322.pdf 官方代码地址:GitCode - 开发者的代码家园 在计算机视觉应用中,目标检测…

第四百七十五回

文章目录 1. 概念介绍2. 功能与用法2.1 主要功能2.2 使用方法 3. 示例代码4. 内容总结 我们在上一章回中介绍了"四个bublue包对比与总结"相关的内容,本章回中将介绍Get包.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们在本章回中将介…

力扣HOT100 - 2. 两数相加

解题思路: 缺位的节点进行补零处理,如97323补充为973023 注意相加的进位问题 class Solution {public ListNode addTwoNumbers(ListNode l1, ListNode l2) {ListNode head null, tail null;int carry 0;while (l1 ! null || l2 ! null) {int n1 l…

2013-2021年各省经济韧性相关测度指标面板数据

2013-2021年各省经济韧性相关测度指标面板数据 1、时间:2013-2021年 2、指标:城镇化率 %、财政科学技术支出(亿元)、万人高等教育在校人数(万人)、财政教育支出(亿元)、第三产业占…

semaphore信号量使用+原理分析

1.概述 Semaphore 信号量,相当于一个计数器,通常用来限制线程的数量。 每个线程操作前会先获取一个许可证,逻辑处理完成之后就归还这个许可证。 通俗的解释:相当于一个停车场,有10个停车位,进来一个车&am…

本地部署Docker容器可视化图形管理工具DockerUI并实现无公网IP远程访问——“cpolar内网穿透”

文章目录 前言1. 安装部署DockerUI2. 安装cpolar内网穿透3. 配置DockerUI公网访问地址4. 公网远程访问DockerUI5. 固定DockerUI公网地址 前言 DockerUI是一个docker容器镜像的可视化图形化管理工具。DockerUI可以用来轻松构建、管理和维护docker环境。它是完全开源且免费的。基…

stack、queue(priority_queue)的模拟实现和deque的简单介绍

stack和queue(priority_queue) 1. 容器适配器 适配器(Adapter):一种用来修饰容器(Containers)或仿函数(Functors)或迭代器(Iterator)接口的东西。 适配器是一种设计模式,该模式将一个类的接口转换成客户希望的另外一个接口。 现实中拿插座来说&#xf…

C语言进阶课程学习记录- 函数与宏分析

C语言进阶课程学习记录- 函数与宏分析 实验-宏和函数实验-宏的副作用实验-宏的妙用小结 本文学习自狄泰软件学院 唐佐林老师的 C语言进阶课程&#xff0c;图片全部来源于课程PPT&#xff0c;仅用于个人学习记录 实验-宏和函数 #include <stdio.h>#define RESET(p, len) …

【Nginx】centos和Ubuntu操作系统下载Nginx配置文件并启动Nginx服务详解

目录 &#x1f337; 安装Nginx环境 &#x1f340; centos操作系统 &#x1f340; ubuntu操作系统 &#x1f337; 安装Nginx环境 以下是在linux系统中安装Nginx的步骤&#xff1a; 查看服务器属于哪个操作系统 cat /etc/os-release安装 yum&#xff1a; 如果你确定你的系统…

Spring是如何解决循环依赖的

简介 所谓循环依赖指的是&#xff1a;BeanA对象的创建依赖于BeanB&#xff0c;BeanB对象的创建也依赖于BeanA&#xff0c;这就造成了死循环&#xff0c;如果不做处理的话势必会造成栈溢出。Spring通过提前曝光机制&#xff0c;利用三级缓存解决循环依赖问题。 变量描述single…

【C语言__指针01__复习篇11】

目录 前言 一、什么是指针 二、计算机中常见的单位 三、CPU是怎样找到一块内存空间的 四、如何得到变量的地址 五、指针变量 六、解引用指针变量的作用 七、指针变量的大小 八、指针变量类型的意义 8.1 指针的解引用 8.2 指针-整数 九、void*指针 十、const修饰变…

PCB走线宽度、PCB走线宽度计算、PCB走线宽度和电流

目录 一、什么是PCB走线宽度&#xff1f; 二、什么是走线&#xff1f; 三、哪些因素对走线宽度至关重要&#xff1f; 1、信号走线 2、电源走线 3、直线宽度和信号反射 四、怎么计算PCB走线宽度&#xff1f; 1、使用PCB走线宽度计算器 2、使用方程式 五、怎么计算PCB 走…

25计算机考研院校数据分析 | 上海交通大学

上海交通大学电子信息与电气工程学院成立于2001年12月&#xff0c;其前身可湖源至百年前的电机专科&#xff0c;具有中国电气工程师“摇篮”之美称。50年代根据学科发展需要分为电工与计算机科学系(三系)和电子工程系(四系)。1985年&#xff0c;三系和四系合并&#xff0c;成立…

Abaqus2024 安装教程(附免费安装包资源)

鼠标右击软件压缩包&#xff0c;选择“解压到Abaqus2024”。 鼠标右击“此电脑”&#xff0c;选择“属性”。 点击“高级系统设置”。 点击“环境变量”。 点击“新建”。 变量名输入&#xff1a;NOLICENSECHECK 变量值输入&#xff1a;true 然后点击“确定”。 点击“确定”。…

【大模型系列】预训练

数据 数据预处理 预处理流程&#xff1a; 原始语料库—>质量过滤&#xff08;语种过滤、统计过滤、关键词过滤、分类器过滤&#xff09;—>敏感内容过滤&#xff08;有毒内容、隐私内容PII&#xff09;—>数据去重&#xff08;句子级别、文档级别、数据集级别&#…

【vue】el-tree的新增/编辑/删除节点

1、概述 关于树形结构的新增同级节点&#xff0c;新增子级节点&#xff0c;修改节点名称&#xff0c;删除节点等四种操作&#xff0c;各种参数配置完全继承el-tree&#xff0c;本篇使用vue2 element-ui 2、效果图展示 3、调用方式 <template><Tree:data"tree…

椋鸟数据结构笔记#11:排序·下

文章目录 外排序&#xff08;外部排序&#xff09;文件拆分并排序归并文件两个文件归并多文件归并优化 萌新的学习笔记&#xff0c;写错了恳请斧正。 外排序&#xff08;外部排序&#xff09; 当数据量非常庞大以至于无法全部写入内存时&#xff0c;我们应该怎么排序这些数据呢…

Route Discovery Route Repair

1. Route Discovery 当单播消息从一台设备发送到另一台设备&#xff0c;并且没有预先存在的路由时&#xff0c;会发起路由发现。 我们假设没有现有的路由&#xff0c;因此网络软件将开始路由发现过程。为简单起见&#xff0c;假设所有设备的路由表都为空。 以设备A向设备C发送…