我的学习笔记
我的学习笔记

RAG应用之LlamaIndex(1)——介绍各种索引及优缺点
最近一直和小明在搞RAG,我们认为这对于大部分公司和个人来说,就是大模型的未来,有应用才能更好推动大模型发展,至少近三年内应该是。前面也输出了一些RAG方面的文章,也有了一套精确度相对较高的技术产品。但是你知道的,RAG领域也在不断发展,而且我们确实也还面临着一些实际的问题,所以最近开始细细研究LlamaIndex——我觉得适用于RAG领域的话,可能会比LangChain更优秀。今天我们先来看看LlamaIndex的索引。 什么是LlamaIndex这是我自己列的一个结构图,当然是按我自己的理解画的,您只做参考吧,哈哈。 LlamaIndex是一个大型语言模型(大语言模型)的数据框架,...
实战!私有化部署RAG大模型,ChatGLM2-6B还是Baichuan2-13B
图1:RAG的架构流程,by作者创作 经过之前一段时间的捣腾,个人感觉我们的RAG应用已经来到了一个全新的层面,在语义理解(相关度)和准确度上都有了长足进步。 但是问题来了。之前和菊厂的业务交流中,对方明确提出一些客户的私有化部署意愿是很明确,主要原因是数据安全。这段时间和一些销售人员、潜在客户交流的时候也收到了类似信息。而我们现在的整套技术栈中,唯一还不能私有化的是LLM。而这也是最终客户最担心的问题——他们的数据被送进云上的公共LLM,不管这些LLM在数据安全上如何申明,对于一些数据就是资产的客户来说依然存在忧虑。所以我们最近就在开始做LLM的本地化测试。 LLM选择标准在选本地...
使用RAG-Fusion和RRF让RAG在意图搜索方面更进一步
这是一篇翻译稿,主要是觉得作者的这个观点还是有一些启发的。 主要内容: RAG-Fusion机制的介绍 多查询生成 倒数排序融合 RAG现在非常火,当然性能也非常出色,它绝对走在了信息检索技术的康庄大道上,RAG有许多优点: 向量搜索融合: RAG通过将向量搜索功能与生成模型集成,引入了一种新的范例。这种融合能够从大型语言模型(大语言模型)生成更丰富、更具上下文感知的输出。 减少幻觉: RAG显著降低了LLM的幻觉倾向,使生成的文本更基于数据。 个人和专业实用程序:从个人应用程序如筛选笔记到更专业的集成,RAG展示了在提高生产力和内容质量方面的多功能性,同时基于可信赖的数据源。...
全面指南———用python提取PDF中各类文本内容的方法
本文将讲述从PDF中将表格、图像和纯文本提取出文本信息的完整过程,主要内容: PDF的分类:文本型、OCR和扫描型 针对不同类型的PDF,我们提取的理论依据 环境安装 编写提取纯文本的函数 编写提取图像中文本的函数 编写提取表格的文本内容的函数 最后的整合处理 写在前面随着大型语言模型(LLM)的应用不断发展,从简单的文本摘要和翻译,到基于情绪和财务报告主题预测股票表现,再到复杂的检索(如RAG),都需要我们首先从真实世界提取文本数据。 有许多类型的文档共享这种非结构化信息,从网络文章、博客文章到手写信件和图表。然而,这些文本数据的很大一部分是以PDF格式存储和传输的(我们做的更...
进击吧!硬地骇客————独立开发者时代来临
本文主要内容: 1.为什么目前的市场对独立开发者越来越友好?从三个方面分析:价值导向、付费渠道和AI赋能。 2.独立开发者需要注意哪些事项?5点。 前些天国内的独立开发者圈子可是发生了不少事情: OpenAI等国外大模型的接入限制问题; APP接下来需要备案; 承德remote开发者的罚款问题。 这些事件无一不在国内开发者社区掀起轩然大波,很多人觉得独立开发者时代进入尾声…… 但我觉得恰恰相反,从整个经济发展规律来看,接下来应该是独立开发者(或团队)真正迎来蓬勃发展时代。 我的理由是以下几个点: 1. 市场环境变了,将更加面向用户价值;2. 付费渠道更加完善:3. AI帮助开...
谈谈RAG存在的一些问题和避免方式
关注“土猛的员外”公众号的朋友应该都知道我最近写了不少检索增强生成(RAG)的文章,远比大语言模型(LLM)要多。原因很简单,我觉得对于绝大多数的公司和开发者来说这是很务实的做法,那种需要太多显卡(Money)的事情本身就是一种门槛。所以我觉得去研究和实践基于LLM的应用更实际,而RAG就是非常好的一个方向,这对于很多企业来说是刚需。 RAG是各方面综合之后的最优解。 但是就像前面我说的,RAG入门很简单,但是要能让客户买单却很难,我已经看到好几个失败案例了… 下面我们来看看会有哪些方面会引起RAG的失败(下面的举例并不完全,还有一些本次来不及写了)。 1.分块(Chunking)策...
PostgreSQL——让关系型、向量和时间序列数据三位一体
尝试PostgreSQL的原因最近两周我和小明在研究基于大模型的检索应用RAG,小明在实操层面有一些显著的突破,RAG性能应该已经超过了绝大部分目前开源市场上的同类产品,已经可以让我们有一些小小的满意了。但是优化创新的路依然可谓道阻且长,接下来我们准备在数据库上做一些新的尝试。 基于大模型的RAG应用,我们用到的数据库类型还是挺多的,主要有以下三种: 向量(Vector)数据库:大模型和深度学习的都知道,这波AI浪潮中向量是基础,是对现实时间的语义级别的表示。区别于之前的关键词搜索的字面量搜索,向量搜索(相似度)可以认为是一种懂思想的搜索; 关系型数据库(RDB):这是最传统和广泛的数...
手工微调embedding模型RAG检索能力
本文是一篇关于如何微调embedding的文章,原作者是Wenqi Glantz。 主要内容: 微调big-large-en开源embedding模型; 具体实现代码细节; 评测最终的提升效果。 在RAG应用中,有一个我们可以去提升的环节就是——Embedding模型,我在之前的文章《大模型主流应用RAG的介绍——从架构到技术细节》也说过可以去微调embedding模型以便增强我们整体的检索能力。 最早我们用的是OpenAI的Embedding模型text-embedding-ada-002,但这个模型后面不一定可以在正式环境中使用,而且我们也没办法去微调,因此让我们在本文中探索...
Java21新特性——ZGC、虚拟线程和结构化并发
前两天同事和我说现在可以回来看看Java了,Java17可能更新的还不多,但是Java21这次释放了一大波新特性,会是接下来五六年的一个新起点,至少这次Java21支持到2026年9月。于是我抽了点时间看了一下Java21,确实有很多新特性,总结其中几个,做个收藏。 下面就先记录三种主要特性吧: 新的垃圾收集器——Generational ZGC; Java的“协程”——Virtual Threads; 结构化并发——Structured Concurrency。 一.Generational ZGC:新的垃圾收集器“垃圾收集”的概念本质上是关于自动内存管理的。每次创建新的数据...
大模型主流应用RAG的介绍——从架构到技术细节
本文主要内容: 大语言模型(LLM)在实际应用中存在的问题; 什么是RAG——检索增强生成; RAG架构解析 RAG技术架构的细节展示 写在前面如果你问我现在基于LLM(大语言模型,本文有时候也会讲该名词描述为“大模型”)最火热的应用是什么,那我必须主推检索增强生成(RAG,Retrieval Augmented Generation)。RAG最初是为了解决LLM的各类问题的(后面会提到)产生的,但后面大家发现在现阶段的很多企业痛点上,使用RAG好像是更好的解决方案。就像我之前的文章《关于LLM的一些声音总结》提到的一样,企业发现其实自己要的好像是一个更好地搜索,根本不关心是不是...
avatar
员外
我的梦想是:在100个国家的咖啡馆写过代码