【InternLM实战营第二期笔记】03:“茴香豆“,搭建你的 RAG 智能助理(未完成)

news2025/1/6 12:35:00

文章目录

  • 笔记-RAG
    • 课程结构
    • 为什么要用 RAG?
    • 定义
    • 工作原理
    • 向量数据库
    • RAG 工作流程
    • 发展历程
    • 常见优化
    • RAG vs 微调
    • LLM 优化方法比较
    • RAG的评价
    • 总结
  • 笔记-茴香豆
    • 什么是茴香豆
    • 茴香豆实战

笔记-RAG

课程结构

在这里插入图片描述

为什么要用 RAG?

在这里插入图片描述
新增知识,尤其是高频变动且精确度要求高的知识,其实比较难通过微调的方式注入模型,而在模型的输入窗口中添加基于相关性的召回段落,能够比较有效地缓解这个问题。RAG 就是对一类方案的概括。

定义

在这里插入图片描述

工作原理

在这里插入图片描述
Indexing 部分,llamaIndex 是目前比较火的框架。

向量数据库

在这里插入图片描述
实践中召回部分一般需要基于 term + 基于表示的向量多路召回,尤其在一些医疗不充分、embedding 很难训好的领域,传统方法例如 BM25等等还是需要的。

RAG 工作流程

在这里插入图片描述
图上例子很典型,尤其具有时效性的事实性的信息,很难通过微调处理。

发展历程

在这里插入图片描述
其实后面有点像之前的检索系统了,各个模块逐渐独立出来,分别优化。

常见优化

在这里插入图片描述
可以看到这里总结的 RAG 优化,主要优化部分放在了 R 的部分

RAG vs 微调

在这里插入图片描述
微调相对存在一些不可控情形,如果是信息密集且需要高保真度的场景,一般不推荐上来就做微调。

LLM 优化方法比较

在这里插入图片描述
这里的总结也挺全的,基本上生产环境开发,可以考虑这样的优化链路。

RAG的评价

在这里插入图片描述

总结

在这里插入图片描述

笔记-茴香豆

什么是茴香豆

在这里插入图片描述
两篇技术报告写得很好,推荐开发者去读一下,很多问题并不是新问题,但在新技术场景下可以尝试不同的解决方案。
在这里插入图片描述
看来浦语对茴香豆的定位升级成平台性产品了。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

茴香豆实战

在这里插入图片描述
视频中视频,笑死。这是白牛老师的真声吗?

跟教程同步做部署,第一步又是要了命的准备环境。猜猜这次需要多久……
对了发现如果是配环境比较花时间,可以先启动一个算力点消耗更少的开发机,全部装完后再切换过去。

……一路按照教程运行至向量化

python3 -m huixiangdou.service.feature_store --sample ./test_queries.json

Traceback (most recent call last):
  File "/root/.conda/envs/InternLM2_Huixiangdou/lib/python3.10/runpy.py", line 187, in _run_module_as_main
    mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
  File "/root/.conda/envs/InternLM2_Huixiangdou/lib/python3.10/runpy.py", line 110, in _get_module_details
    __import__(pkg_name)
  File "/root/huixiangdou/huixiangdou/__init__.py", line 4, in <module>
    from .service import ChatClient  # noqa E401
  File "/root/huixiangdou/huixiangdou/service/__init__.py", line 17, in <module>
    from .web_search import WebSearch  # noqa E401
  File "/root/huixiangdou/huixiangdou/service/web_search.py", line 11, in <module>
    from duckduckgo_search import DDGS
ModuleNotFoundError: No module named 'duckduckgo_search'

是教程没更新吗?安装这个包再试试,又出现了新的错误:

python3 -m huixiangdou.service.feature_store --sample ./test_queries.json
/root/.conda/envs/InternLM2_Huixiangdou/lib/python3.10/runpy.py:126: RuntimeWarning: 'huixiangdou.service.feature_store' found in sys.modules after import of package 'huixiangdou.service', but prior to execution of 'huixiangdou.service.feature_store'; this may result in unpredictable behaviour
  warn(RuntimeWarning(msg))
Traceback (most recent call last):
  File "/root/.conda/envs/InternLM2_Huixiangdou/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/root/.conda/envs/InternLM2_Huixiangdou/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/root/huixiangdou/huixiangdou/service/feature_store.py", line 531, in <module>
    cache = CacheRetriever(config_path=args.config_path)
  File "/root/huixiangdou/huixiangdou/service/retriever.py", line 220, in __init__
    config = pytoml.load(f)['feature_store']
  File "/root/.conda/envs/InternLM2_Huixiangdou/lib/python3.10/site-packages/pytoml/parser.py", line 11, in load
    return loads(fin.read(), translate=translate, object_pairs_hook=object_pairs_hook, filename=getattr(fin, 'name', repr(fin)))
  File "/root/.conda/envs/InternLM2_Huixiangdou/lib/python3.10/site-packages/pytoml/parser.py", line 43, in loads
    error('duplicate_keys. Key "{0}" was used more than once.'.format(k))
  File "/root/.conda/envs/InternLM2_Huixiangdou/lib/python3.10/site-packages/pytoml/parser.py", line 27, in error
    raise TomlError(msg, pos[0], pos[1], filename)
pytoml.core.TomlError: config.ini(31, 1): duplicate_keys. Key "local_llm_path" was used more than once.

看来今天的探索要暂时告一段落了……

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

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

相关文章

利用开源工具创建WEBGIS应用

在本文中&#xff0c;我们将大致说明利用开源工具如何与服务器交互以构建交互式或动态 Web GIS。 WebGIS 应用程序已成为展示地理数据的重要模式。我们现在拥有允许用户交互的机制&#xff0c;以便用户可以选择数据&#xff0c;甚至修改或添加新数据。 什么是WEBGIS? 通过网络…

三十、openlayers官网示例解析Double click, Drag and Zoom——第二次点击鼠标拖拽缩放地图效果、取消地图双击放大事件

这篇展示了如何在地图上添加第二次按下鼠标移动鼠标实现拖拽缩放地图效果。 官网demo地址&#xff1a; Double click, Drag and Zoom 官网介绍文字的翻译如下&#xff1a; 示例比较简单&#xff0c;直接贴代码&#xff1a; const map new Map({//添加第二次点击拖拽缩放地图i…

Meta 推出新型多模态 AI 模型“变色龙”(Chameleon),挑战 GPT-4o,引领多模态革命

在人工智能领域&#xff0c;Meta 近日发布了一款名为“变色龙”&#xff08;Chameleon&#xff09;的新型多模态 AI 模型&#xff0c;旨在挑战 OpenAI 的 GPT-4o&#xff0c;并刷新了当前的技术标准&#xff08;SOTA&#xff09;。这款拥有 34B 参数的模型通过 10 万亿 token 的…

探索机器人智能设备:开启智慧生活新篇章

机器人智能设备作为科技创新的代表&#xff0c;正以其独特的魅力吸引着越来越多的关注。它们不仅具备高度的智能化和自主化能力&#xff0c;还能在各种场景下发挥出强大的功能。 机器人智能设备的张总说&#xff1a;在智能家居领域&#xff0c;机器人智能设备可以帮助我们实现家…

骨折分类数据集1129张10类别

数据集类型&#xff1a;图像分类用&#xff0c;不可用于目标检测无标注文件 数据集格式&#xff1a;仅仅包含jpg图片&#xff0c;每个类别文件夹下面存放着对应图片 图片数量(jpg文件个数)&#xff1a;1129 分类类别数&#xff1a;10 类别名称:["avulsion_fracture",…

鸿蒙ArkUI-X跨语言调用说明:【平台桥接开发指南(Android)BridgePlugin】

BridgePlugin (平台桥接) 本模块提供ArkUI端和Android平台端消息通信的功能&#xff0c;包括数据传输、方法调用和事件调用。需配套ArkUI端API使用&#xff0c;ArkUI侧具体用法请参考[Bridge API]。 说明&#xff1a; 开发前请熟悉鸿蒙开发指导文档&#xff1a; gitee.com/li-…

微软Copilot+ PC:Phi-Silica

大模型技术论文不断&#xff0c;每个月总会新增上千篇。本专栏精选论文重点解读&#xff0c;主题还是围绕着行业实践和工程量产。若在某个环节出现卡点&#xff0c;可以回到大模型必备腔调重新阅读。而最新科技&#xff08;Mamba&#xff0c;xLSTM,KAN&#xff09;则提供了大模…

webserver服务器从零搭建到上线(九)|⭐️EventLoop类(一)——详解成员变量、简述成员方法

在本节中&#xff0c;我们一起来仔细探讨一下EpollPoller类。该类可以说是muduo库中最最核心的类了&#xff0c;一定要搞懂&#xff01; 文章目录 私有成员using ChannelList std::vector<Channel*>looping_、quit_threadId_pollReturnTime_、poller_wakeup_fd、wakeupC…

机器学习-1-了解机器学习machine learning的基本概念

参考机器学习算法 - 一文搞懂ML(机器学习) 参考机器学习算法 - 一文搞懂SL(监督学习) 参考机器学习算法 - 一文搞懂UL(无监督学习) 1 机器学习 1.1 机器学习的本质 基本思路:无论使用什么样的算法和数据,机器学习的基本思路都可以归结为以下三个核心步骤。 (1)问题…

Nginx的集群负载均衡(nginx构建tomcat集群案例)

一 .Nginx的集群负载均衡 1.nginx 集群负载均衡示意图 2.四层负载均衡和7层负载均衡 LVS 四层负载均衡(常用); Haproxy四层负载均衡;Nginx 四层负载均衡; Haproxy七层负载均衡;Nginx 七层负载均衡(常用); 3.nginx构建tomcat集群 步骤1:安装tomcat 步骤2:nginx配置tom…

图论(五)-最短路

一、Bellman-Ford算法 算法思想&#xff1a;通过 n 次循环&#xff0c;每次循环都遍历每条边&#xff08;共 m 条边&#xff09;&#xff0c;进而更新节点的距离&#xff0c;每次循环至少可以确定一个点的最短路&#xff0c;循环 n 次&#xff0c;求出 n 个点的最短路 时间复杂…

git:Unable to negotiate问题解决

场景说明&#xff1a; 安装了Gitblit(自架的代码仓库服务)发现部分电脑无法推代码&#xff0c;报错误如下&#xff1a; Unable to negotiate with **** port 22: no matching host key type found. Their offer: ssh-rsa 并排队了账户权限问题。 解决方案&#xff1a; 1.打开问…

HttpClient cookie爬虫记录

记录一次java语言使用httpclient爬取网站接口数据的经历 需要用到的依赖&#xff1a; httpclient和httpcore是封装了http请求的工具类 jsoup可以将返回的网页html找到你需要的xml节点&#xff0c;很方便 <dependency><groupId>org.apache.httpcomponents</gr…

Spring系列-01-IOC的依赖查找和依赖注入

IOC基础 IOC发展 初始场景, 不使用IOC如何实现 假定现在有一下需求, 开始使用的数据源是MySQL, 后续数据源变动为Oracle, 那么我们的代码就需要改动 每次切数据源都需要改动, 那么进行优化 静态工厂解决强依赖 在01版本基础上, 使用静态工厂对多个数据源进行了封装, 要哪…

Unity UGUI系统概念分析

文章目录 前言一、UGUI运行原理二、UGUI组件分析1、Canvas组件2、Canvas Scaler3、Graphic Raycaster组件4、EventTrigger组件5、Image 和 RawImage组件5、Mask 和 RectMask2D组件6、Button、Sider、DropDown等组件 三、UGUI源码分析三、UGUI优化四、UI框架设计五、UI适配总结 …

三十一、openlayers官网示例Draw Features解析——在地图上自定义绘制点、线、多边形、圆形并获取图形数据

官网demo地址&#xff1a; Draw Features 先初始化地图&#xff0c;准备一个空的矢量图层&#xff0c;用于显示绘制的图形。 initLayers() {const raster new TileLayer({source: new XYZ({url: "https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/…

快团团帮卖团长怎么对供货大团长进行评分?

都说帮卖“躺赚”&#xff1f; 一旦遇团不淑&#xff0c;惨遭不靠谱团长挖坑&#xff0c;售后拖延、发货慢、产品瑕疵…… 加上顾客夺命连环催&#xff0c;双面夹击&#xff0c;夹缝生存。供货团长靠不靠谱太重要了&#xff01; 快团团供货团长评分系统上线&#xff01; 帮卖团…

深入理解MySQL索引下推优化

在MySQL中&#xff0c;索引的使用对于查询性能至关重要。然而&#xff0c;即使有合适的索引&#xff0c;有时查询性能仍然不尽如人意。索引下推&#xff08;Index Condition Pushdown&#xff0c;ICP&#xff09;是一项能够进一步优化查询性能的技术。本文将详细讲解索引下推的…

Postman入门 - 环境变量和全局变量

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一、发送请求 二、设置并引用环境变量 比如&#xff1a;我建的这个生产环境 使用环境有两个方式&…

大学数学常用的搜题软件?分享四个搜题直接出答案的软件 #微信#媒体#职场发展

以下软件拥有强大的搜索功能&#xff0c;能够快速找到与题目相关的资料和答案&#xff0c;让大学生们更容易理解和掌握知识点。 1.The Sky The Sky 是一个让人惊艳的天文知识学习软件&#xff0c;也是一个唯美好看的天文科普软件。 它的功能全面丰富&#xff0c;支持识别查看…