自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(822)
  • 收藏
  • 关注

原创 Text2sql的一些技巧

最近看到了一篇关于text2sql的文章,以及一些论文。对使用模型做text2sql给了一些不错的建议。

2024-04-17 16:20:59 200

原创 一些Github上开源的RAG 应用

我也是做RAG相关工作的。周末抽了一些时间,来看看开源的RAG技术能够做到什么程度。其实我重点关注的是以下几点(以下几个点是RAG提升的关键点):这些开源技术他们是怎么做文档解析的(有哪些我们可以借鉴的,哪些是我不知道的)如何做切分的不同的场景数据又是如何制定不同的策略的还有如何做召回的,召回策略是什么?以及如何选用embedding模型,rerank模型效果怎么样,本地快速部署效果是否方便?

2024-04-14 18:44:21 686

原创 大厂推广搜相关的技术文章汇总(不看会后悔系列)

他山之石可以攻玉,最近在看搜广推的内容。看到了美团,腾讯、阿里、蘑菇街等分享的搜广推的文章。本篇文章是一个知识目录,可以很好的看到搜广推近10年的发展变化。

2024-04-06 12:49:54 269

原创 NLP 在搜索引擎优化上做的工作

自然语言处理(NLP)在搜索引擎优化上的工作主要集中在提升搜索结果的相关性和准确性,以及改善用户的搜索体验。

2024-04-06 11:42:57 1046

原创 NLP在搜索召回领域中的应用场景

自然语言处理(NLP)在搜索召回领域中的应用场景非常广泛,它通过理解和分析人类语言,提高了信息检索的准确性和效率。

2024-04-06 11:36:24 422

原创 再仔细品品Elasticsearch的向量检索

我在es一开始有向量检索,就开始关注这方面内容了。特别是在8.X之后的版本,更是如此。我也已经把它应用在亿级的生产环境中,用于多模态检索和语义检索,以及RAG相关。这篇文章再带大家品一品es的向量检索。

2024-03-24 22:17:44 862

原创 PDF文件底层数据结构

最近在做RAG的雕花工作。想要在PDF解析上,能够有一定的突破。上上周调研了一周的PDF解析的组件。但是还是没有一个开源的解析的很不错的组件。这篇文章,一起来看看是否能从PDF文件的底层数据结构上入手,来进行解析。PDF(Portable Document Format,可移植文档格式)是一种广泛使用的文件格式,用于呈现文档,包括文本、图像和多媒体内容。PDF文件的存储原理和结构设计得非常复杂,以确保跨平台的一致性和高效的文件传输。

2024-03-17 15:52:22 1152

原创 文档解析应该获取哪些知识?

在数字化时代,PDF文档已成为信息共享的主要格式之一。然而,要从PDF中提取有价值的知识并不容易,因为PDF设计为一种用于阅读和打印的静态格式,而不是为了内容的动态提取和分析。尽管如此,随着技术的进步,我们现在有能力从PDF文档中提取比以往任何时候都更多的内容和知识。以下是一篇关于从PDF文档中提取知识的全面指南,包括可以挖掘的数据类型和一些实用的方法。

2024-03-17 14:16:51 925

原创 检索增强生成(RAG)应用的构建:LangChain与LlamaIndex的比较与选择

对于我要做RAG应用,我应该使用两者中的哪一个。或者说还是都使用?在人工智能领域,检索增强生成(RAG)应用正变得越来越受欢迎,因为它们能够结合大型语言模型(LLMs)的自然语言处理能力和私有或专有数据源的丰富信息。在构建RAG应用时,开发者面临的一个重要选择是选择合适的工具或框架。本文将探讨两个流行的工具:LangChain和LlamaIndex,并提供决策指南。

2024-03-17 13:25:36 1273

原创 为什么不要使用elasticsearch

互联网上有很多文章,都在讲为什么要使用elasticsearch,却很少有人讲为什么不要使用elasticsearch。作为深入研究elasticsearch四年,负责公司万亿级别检索的操盘手,借着这篇文章,给大家分享一下,为什么不要使用elasticsearch。

2024-03-12 20:58:55 1357

原创 python 如何使用 NLPchina 开源sql插件,提供代码

分享一段使用python,通过使用发送post请求的方式,来从es集群中获取数据。不用使用 elasticsearh,仅需要导入request和json包即可。

2024-03-12 19:45:10 386

原创 学习和认知的四个阶段,以及学习方法分享

本文分享学习的四个不同的阶段,以及分享个人的一些学习方法。这一认知过程,恰与Dunning-Kruger Effect(达克效应)的总结相类似:越是无知的人就越自信。当一个人知识越来越多,自信心会下降,但是突破临界点以后,自信心会回升,但之后不论怎么回升,都不如一开始一无所知时那么自信。即越是知识丰富的人越能意识到自己的不足,也越能发现、承认与学习别人的优点。这些认知阶段也恰好可以对应达克效应曲线的不同分段:愚昧山峰(不知道自己不知道),绝望之谷(知道自己不知道),开悟之坡(知道自己知道)与平稳高原

2024-03-09 15:33:44 1416 1

原创 IR测试数据集调研,以及测试标准

兵马未动,粮草先行。对于做搜索以及搜索提升这件事来说,测试数据集就是粮草。找到一个高质量的测试数据集是非常重要的,它可以用来当作一个标杆,或者说当作一把尺子,来衡量检索系统的好坏。往往构建一个好的测试集,在质量和熟练上很难取舍。高质量的数据,通常需要人工标注,需要大量的人力物力(就是说很花钱)。高质量,测试书记集大,适合自己的场景,往往是第一要求。在我看来,测试数据集应该大于100w,小于300万,测试问题应该在30w左右。因为数据体量再大一些,单独跑一轮测试,可能需要的时间会很长。

2024-03-09 13:35:11 1444

原创 IR 召回测试数据集(中文测试集)——T2Ranking

文章排名包括两个阶段:文章检索和文章重排序,这对信息检索(IR)领域的学术界和业界来说都是重要而具有挑战性的课题。然而,常用的文章排名数据集通常集中在英语语言上。对于非英语场景,如中文,现有的数据集在数据规模、细粒度相关性注释和假阴性问题方面受到限制。为了解决这个问题,我们引入了T2排名,一个大规模的中国通过排名基准。T2排名包括超过300K的查询和超过200万个独特的段落,来自现实世界的搜索引擎。专家注释者被招募来为查询通道对提供4级分级的相关性评分(细粒度),而不是二进制的相关性判断(粗粒度)。

2024-03-08 11:26:24 669

原创 TREC 2023 Deep Learning Track Guidelines

TREC 是 Text REtrieval Conference(文本检索会议)的缩写。它是一个由美国国家标准技术研究所(NIST)主办的年度会议,旨在推动信息检索领域的研究和发展。TREC 于 1992 年开始举办,是一个国际性的会议,每年都吸引着来自学术界、工业界和政府机构的研究人员参与。TREC 的主要目标之一是提供一个平台,让研究人员能够评估和比较不同信息检索系统的性能。为此,TREC 组织了一系列任务和评测,参与者必须根据特定的数据集和评估标准来设计和评估他们的信息检索系统。

2024-03-07 19:34:56 1152

原创 IR 召回测试数据集(英文测试集)——MS MARCO

如何评估召回系统的好坏?如何评估检索系统是否有提升?在任何人面前,空口无凭。我们需要一把尺子来衡量。我们需要一个高质量的测试数据集合。每次都在相同的测试数据集上,进行评测。本篇文章介绍一个高质量的应为的测试数据集——MS MARCO。当你关注召回的效果的时候,一定需要有自己的测试数据集合。如果你是做rag的,那一定会关注到数据的召回效果。

2024-03-07 19:24:10 735

原创 kibana配置 dashbord,做可视化展示

一、环境介绍这里我使用的kibana版本为7.17版本。语言选择为中文。需要已经有es,已经有kibana,并且都能正常访问。二、背景介绍kibana的可视化界面,可以配置很多监控统计界面。非常方便,做数据的可视化展示。这篇文章,做一个最简单的demo入入门2.1 添加通过配置一个通配符,来选择要匹配的索引。选择一个时间戳字段,一般用于统计图的X轴。然后选择创建。

2024-03-06 19:56:05 716

原创 kibana 上dashbord 和discover 时间快 or 慢 8小时,处理方案

在es库中的数据的时间是正确的。但是在kibana的discover展示页面上是错误的,错了8个小时。我这里是快了8个小时。这个问题非常难受,因为看起来,总是差8个小时,特别是查看日志的时候,总有一种错觉,筛选的时候,总要加上或者减去8小时。在kibana上,discover页面上,看到的数据的时间快了8小时,我的数据的实际时间是10点钟。多半是因为kibana所在服务器上的时区不对。这里提供一个方案,简单的通过修改kibana上的时区,就可以解决问题了!我的是因为运维使用docker部署的kibana。

2024-03-06 19:23:49 433

原创 如何使用程序调用通义千问

之前分享了,使用程序调用文心一言。但是很快文心一言就要收费了。阿里的提供了暂时免费版的基础模型,效果还算可以。所以再分享一下,如何使用程序来调用通义千问的模型。整体很简单,分三步:导入依赖;获取ApiKey;使用程序调用模型。体感:使用简单,效果还可以,但是速度很慢!

2024-03-05 17:02:57 309

原创 再次走到了个人发展的十字路口

诸如:大学选择专业、毕业选择公司、选择技术方向、两年发展方向、三年发展方向、五年发展方向。在之前,我选择深入做elasticsearch,做专精es搜索和优化。做了大概4年时间。

2024-03-01 19:28:56 359

原创 获取PDF中的布局信息——如何获取段落

PDF解析是极其复杂的问题。不可能靠一个工具解决全部问题,尤其是五花八门,格式不统一的PDF文件。除非有钞能力。如果没有那就看看可以分为哪些问题。 提取文本内容,提取表格内容,提取图片。我认为这些应该是分开做的事情。python有一些组件,是有专长的。 问题分解以后,最重要的一个事情是,版面分析。怎么确定边界,就是哪一块是什么内容?是正文,还是表格,还是图片?文本、图片及形状涵盖了常见的PDF元素,本文介绍利用PyMuPDF提取这些页面元素,及其基本数据结构。

2024-02-29 13:19:00 1046

原创 PDF 解析问题调研

说点真实的感受:网上看啥组件都好,实际测,啥组件都不行。效果好的不开源收费,开源的效果不好。测试下来,发现把组件融合起来,还是能不花钱解决问题的,都是麻烦折腾一些。 这里分享了目前网上能够看到的资料。很多资料都是反复重复的,且效果不好的。目前网上基本没有太好用的工具,也没有太好的方案资料。剩下的就是收费效果好的。

2024-02-28 19:54:04 1565

原创 分享一点PDF中获取表格的探索过程

挑选了可以解析PDF中表格的组件,进行了测试。主要测试了pdfplumber 和camelot整体的感受是:网上看啥组件都好,实际测,啥组件都不行。效果好的不开源收费,开源的效果不好。测试下来,发现把组件融合起来,还是能不花钱解决问题的,都是麻烦折腾一些。

2024-02-28 19:46:26 524

原创 如何使用程序通过OCR识别解析PDF中的表格

一、Paddle-structure是目前我们能找到的可以做中英文版面分析较好的一个基础模型,其开源版可以识别十类页面元素。这篇文章介绍演示如何使用。pdf的解析大体上有两条路,一条是基于规则,一条是基于AI。所谓基于规则就是根据文档的组织特点去“算”每部分的样式和内容。笔者认为这种方式很不通用,因为pdf的类型、排版实在太多了,没办法穷举。一、Paddle-structure。

2024-02-27 20:03:14 1202

原创 如何准确获取PDF文件中的标题

想要在PDF文件中,解析获取全部的标题,是一件比较麻烦的事情。正是因为PDF文件中的内容可能是五花八门的格式。但是获取标题信息,又是一件非常重要的事情。标题中往往蕴含着非常多的概括性信息。本文将介绍一种较为准确的提取标题的方式。使用python组件+LLM。本文会给出调试后的可运行代码,以及prompt,还有运行结果。

2024-02-27 12:35:39 1212

原创 我们和openAi的差距,只差向神祈祷了?

这两天看到了两张挺有意思的图片,关于openAi研究人员和qianWen的研究人员的日常生活作息表。蛮有意思,看到后有很多感想,特地分享出来。(声明:对比没有恶意,也没有好坏之分。他们本都是站在金字塔最顶尖的人,轮不到我品头论足。只有单纯的想聊聊,还蛮有意思的事情)首先是openAi滴然后是国内QWen滴。openai 和千问研究人员的日常工作记录。乍一看没有什么太大的区别。总结了一下,和别人的差距,只差向神祈祷,和八点以后喝一杯酒,然后继续编程。

2024-02-25 14:54:05 750

原创 RAG中如何解决上下文知识连贯性问题 || 如何更好的切分和组织非结构化的文档数据

本文探讨了在RAG中进行搜索时的难度级别及其解决方法。对于容易级别,主要涉及解决搜索问题,而对于困难级别,则需要考虑上下文和复杂性。文中根据斯坦福论文提出了解决这些问题的方法,包括从段落中获取总结性问题的答案,以及利用树形结构组织数据来解决上下文关联问题。

2024-02-23 17:30:24 1016

原创 Query Rewrite —— 原始query蒸馏,提升召回率,和召回质量

query改写其实理解起来很简单,就是把原始的query经历一系列的操作,然后变成另外一个query,从而达到提升召回率和准确率的效果。query改写的过程中,这一系列的操作,其实是围绕两个方面展开的。第一是在原始query中添加一些有用的内容(可以理解为query扩展),把本该召回却没有召回的内容给召回,提高topK的召回率。第二是在原始query中去掉一些杂质内容(可以理解为蒸馏),对于长尾的query,很可能存在很多的干扰项。特别是在Bm25相关性召回下,对query条件进行蒸馏,会有一定的收益。

2024-02-22 13:26:01 304

原创 五年互联网工作,聊聊管理叭

感受过国企的那种不温不火的节奏,成长空间蛮大的,因为各方面都会接触到,每个方向只要你愿意去折腾,都有机会去发挥(刚毕业的前两年,在研究所工作,第一年就把微服务折腾了一个遍,并且都有落地的成果。一团糟,瞎指挥,最后一地鸡毛,啥都不是,啥也做不成。我始终觉得,互联网公司,应该有一个靠谱的架构师,和公司管理层一起把控着公司的蓝图,决定了公司的技术路线,而不是乌七八糟的盲目探索,还有空中楼阁式的架构,豆腐渣式的架构。一个好的管理者,相比底层人员,更多的是眼光,识人用人的眼光,以及对业务发展,和整体规划的进度把控。

2024-02-22 12:54:48 403

原创 用十篇论文聊聊关于使用LLM做query Rewrite的问题

本文介绍了query改写。介绍了七种利用LLM进行query改写方式。包含了10余篇论文,论文有的出自微软、谷歌等大厂之手,还有北大,人大等高校。质量有所保障,对比了不同的query改写的效果。

2024-02-21 19:11:44 1801

原创 Query Rewrite —— 基于大模型的query扩展改写,HyDE 生成假设性答案(论文)

通常用户的query是无法预测的。给定一个候选集,直接命中和query最相关的文档是一件困难的事情。这篇论文中,提出了HyDE,也就是根据query,利用LLM去生成假设性回答。然后将给出的假设性回答,去做文本的embedding,然后做向量检索召回。论文中证明,HyDE这种方式相比较BM25可以。

2024-02-21 16:29:25 565

原创 Query Rewrite —— 基于大模型的query扩展改写,PRF(论文)

本文介绍了一篇典型的 PRF (Pseudo-relevance feedback)思路的论文,用于利用LLM来做query改写,提升召回率,召回效果。为大家介绍PRF的主要流程,PRF的提升效果。PRF的弊端。 以及不同规模的LLM对改写的效果的影响。

2024-02-21 15:39:49 579

原创 Query Rewrite —— 基于大模型的query扩展改写,PRF+ GRF协同发力减少LLM的幻觉问题(论文)

(伪相关反馈)为了解决模型的幻觉问题,在改写前,先拿原始query去进行一次query,然后将召回的数据作为参考内容,送给模型,根据这些内容重新生成query。优势:可以一定程度上解决模型幻觉问题,有效解决解决词汇表不匹配问题。毕竟是根据query召回的内容去生成query的。劣势:这将会很依赖首次的检索,如果召回的数据质量很差,就GG了。(生成相关反馈)最近关于生成相关性反馈(GRF)的研究表明,使用从大型语言模型生成的文本的查询扩展模型可以改进稀疏检索,而不依赖于第一次检索的有效性。

2024-02-21 11:59:28 1038

原创 搜索中关于稀疏检索和稠密向量检索的召回效果比较

不同检索方式说明最近在做搜索召回提升相关的研究工作。对比了稀疏检索和稠密向量检索的效果。其中使用的搜索引擎为elasticsearch8.x版本。稀疏检索包括BM25的检索方式,以及es官方在8.8之后版本提供的稀疏向量模型的方式。稠密向量检索,是指借助机器学习的模型做文本嵌入,然后用es8.x以后版本提供的向量检索。测试数据说明测试数据包括了中文和英文,涉及了法律和新闻数据。

2024-02-20 23:11:33 927

原创 Query Rewrite —— 基于大模型的query扩展改写,如何减少LLM的幻觉问题,召回提升15%(北大论文)

如何有效的丰富扩展query,是一个提升召回率的关键问题。在大模型时代到来后,大家都开始使用LLM来扩展query。尽管LLM具有显著的文本生成能力,但它也容易产生幻觉,仍然难以代表其训练语料库中包含的完整的长尾知识。在北大的论文中,介绍了通过检索和大模型的结果,提升召回率的方法。论文提出:为了缓解上述模型的幻觉问题,方案是由原始query检索到的文档D,将D提供给模型,作为辅助材料,再让模型生成新的query。先进行一次普通检索,召回数据有可能帮助llm做出更好的预测。

2024-02-20 16:06:47 941

原创 Query Rewrite —— 基于大模型的query扩展改写,通过GRM减少LLM的幻觉问题(论文)

自从大模型火了以后,各行业各都发生了翻天覆地的变化。其中query Rewrite也开始使用大模型来做query 扩展。大模型所有的优点都可以得到很好的体现,同样大模型的所有缺点也无法避免。这里只说一个,关于大模型的幻觉问题。如果使用大模型来生成改写query,幻觉问题,会非常糟糕的变成噪音query数据,而影响了最终的查询的召回,甚至是南辕北辙。这篇论文提出,建设相关性评估模型,来过滤掉模型生成的负面的case。从而减少使用大模型做query Rewrite的时候的负面影响。的。

2024-02-20 10:44:34 515

原创 Query Rewrite —— 基于大模型的query扩展改写,综合考虑上下文信息(人大论文)

在session上下文中,捕获用户的搜索意图,是一件较为复杂和困难的事情。一起看一下人大的这篇论文。论文中提出了一个简单而有效的提示框架,称为LLM4CS,以利用LLM作为搜索意图解释器来促进会话搜索。具体来说,我们首先提示LLM在多个视角下生成较短的查询重写和较长的假设响应,然后将这些生成的内容聚合成一个集成的表示,以稳健地表示用户的真实搜索意图。

2024-02-19 17:44:33 1232

原创 Query Rewrite —— 基于大模型的query扩展改写(基于思维链),召回提升3%

查询扩展是一种广泛应用于提高搜索系统召回率的技术。在本文中,我们提出了一种利用大型语言模型(llm)的生成能力的查询扩展方法。与传统的查询扩展方法,如伪相关反馈(PRF),它依赖于检索一组好的伪相关文档来扩展查询不同,我们依赖于LLM的生成和创造性能力,并利用模型中固有的知识。我们研究了各种不同的提示,包括零射击、少射击和思维链(CoT)。我们发现CoT提示对于查询扩展特别有用,因为这些提示指示模型逐步分解查询,并可以提供大量与原始查询相关的术语。

2024-02-19 11:33:06 1525

原创 Query Rewrite —— 基于大模型的query扩展改写,召回提升3%-15%

本文介绍了一种简单而有效的查询扩展方法。通过大语言模型(LLM)的小样本提示生成答案,然后和原始query进行拼接,作为新的query。实验结果表明query2doc 通过以下方式提高了 BM25 的性能3% 到 15%。

2024-02-18 18:18:01 795

原创 RAG 排坑指南001——文档解析

RAG搜索增强是一个极其简单的概念。简而言之就是将搜索召回的内容,送给模型润色,重新生成更好的答案。看似简单,实际做起来,就极其的复杂。想要做个演示demo也很简单,复杂的是如何把回答正确率提升到90以上。RAG中的问题非常之多。并且问题环环相扣。例如,如果文档解析做不到,就不可能在召回的阶段将内容准确的召回(也就是召回率低)虽然可以通过扩大topK来尽可能的提升召回率,但是假如在解析的过程中数据丢失了。是无论如何都找回不到的。如果无法召回,正确的答案就无法送给模型,自认而然就无法回答正确。

2024-02-18 15:26:30 605

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除