第三节课《香豆:搭建你的 RAG 智能助理》

2024-04-14 08:44

本文主要是介绍第三节课《香豆:搭建你的 RAG 智能助理》,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 一、笔记

RAG搜索引擎,用户输入就是搜索内容。

RAG三个部分:index、retrieval、generation。

将检索内容给和原问题一起作为提示prompt输入到LLM中

数据存储:将数据通过其他模型转换为固定长度的向量表示。

相似性检索:查询向量和数据库存储向量余弦相似性度量。

向量表示优化:与模型结果好坏息息相关

无关数据出现幻觉。

传统问答:提问query-->大模型LLM-->回答answer

RAG:提问query-->向量化embedding--->搜索indexing-->检索retieval->

            问题+检索结果作为提示词prompts-->生成generation-->回答answer

不断更新向量数据库,就能不断的处理新的数据。

Naive RAG:只有索引、检索、生成。运用在问答系统和信息检索。

Advanced RAG:检索前后都进行增强,检索的问题路由扩展,检索到的信息进行重排序总结融合,运用在摘要生成和内容推荐。

Modular RAG: 将RAG基础部分和后续功能进行模块化,根据业务进行定制,完成多模态任务、对话系统等更高级的任务。

提升向量库的质量:

        嵌入优化:增强嵌入性能

        索引优化:提升索引质量

查询优化:更适应查询

上下文管理:减少冗余信息,提升大模型效率。

检索:

        迭代检索:根据检索结果多次迭代检索知识,提供知识基础。

        递归检索:改进检索结果的深度和相关性,

        自适应检索:

LLM:定向微调、针对性微调。

 

微调、提示工程、RAG

任务对外部知识需求

任务对模型适配度的需求

提示工程:对外部知识和适配度都比较差,不能适应新的知识,同时对特定专业知识也很难专业的回复

微调:对外部数据需求不高,但对模型任务适配度很高。

RAG:  对外部数据需求高,但对模型任务适配度不高。

融合三种方法:

检索阶段、生成阶段分开评价

茴香豆

无需训练。

非有效数据,无法分析真实意图,结合LLM和RAG,提取有效信息

开源免费、本地部署、远端部署

知识库:实时更新的专业领域数据,多种文件格式,设置接受处理范围。

前端:回答平台

大模型:本地(书生浦语、千亿千问)、远端API

预处理:输入筛选,转换问询

拒答工作流:分析、比较相关性得分

回答工作流:相关性得分达到,开始回答

LLM scroing阈值设定问答助手回答的是话痨还是严谨技术专家。

保证回答内容准确性。

本地或者网络检索。

多重评分回答问题严谨性。

二、网页茴香豆

 

这里面很多文章应该是超过长度限制了,报错了几次

huixiangdou/repodir/huixiangdou/resource/HuixiangDou.pdf---

huixiangdou/repodir/huixiangdou/docs/add_wechat_accessibility_zh.md--

huixiangdou/repodir/huixiangdou/docs/add_wechat_group_zh.md---

这篇关于第三节课《香豆:搭建你的 RAG 智能助理》的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/902593

相关文章

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

idea+spring boot创建项目的搭建全过程

《idea+springboot创建项目的搭建全过程》SpringBoot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目,:本文主要介绍idea+springb... 目录一.idea四种搭建方式1.Javaidea命名规范2JavaWebTomcat的安装一.明确tomcat

Rust 智能指针的使用详解

《Rust智能指针的使用详解》Rust智能指针是内存管理核心工具,本文就来详细的介绍一下Rust智能指针(Box、Rc、RefCell、Arc、Mutex、RwLock、Weak)的原理与使用场景,... 目录一、www.chinasem.cnRust 智能指针详解1、Box<T>:堆内存分配2、Rc<T>:

k8s搭建nfs共享存储实践

《k8s搭建nfs共享存储实践》本文介绍NFS服务端搭建与客户端配置,涵盖安装工具、目录设置及服务启动,随后讲解K8S中NFS动态存储部署,包括创建命名空间、ServiceAccount、RBAC权限... 目录1. NFS搭建1.1 部署NFS服务端1.1.1 下载nfs-utils和rpcbind1.1

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

Linux搭建ftp服务器的步骤

《Linux搭建ftp服务器的步骤》本文给大家分享Linux搭建ftp服务器的步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录ftp搭建1:下载vsftpd工具2:下载客户端工具3:进入配置文件目录vsftpd.conf配置文件4:

Java 与 LibreOffice 集成开发指南(环境搭建及代码示例)

《Java与LibreOffice集成开发指南(环境搭建及代码示例)》本文介绍Java与LibreOffice的集成方法,涵盖环境配置、API调用、文档转换、UNO桥接及REST接口等技术,提供... 目录1. 引言2. 环境搭建2.1 安装 LibreOffice2.2 配置 Java 开发环境2.3 配

使用Python构建智能BAT文件生成器的完美解决方案

《使用Python构建智能BAT文件生成器的完美解决方案》这篇文章主要为大家详细介绍了如何使用wxPython构建一个智能的BAT文件生成器,它不仅能够为Python脚本生成启动脚本,还提供了完整的文... 目录引言运行效果图项目背景与需求分析核心需求技术选型核心功能实现1. 数据库设计2. 界面布局设计3

Python极速搭建局域网文件共享服务器完整指南

《Python极速搭建局域网文件共享服务器完整指南》在办公室或家庭局域网中快速共享文件时,许多人会选择第三方工具或云存储服务,但这些方案往往存在隐私泄露风险或需要复杂配置,下面我们就来看看如何使用Py... 目录一、android基础版:HTTP文件共享的魔法命令1. 一行代码启动HTTP服务器2. 关键参