Bryan Blog

个人分享 但愿各位看官喜欢

AIOps RAG 比赛获奖项目 EasyRAG 深度解读

In-depth interpretation of AIOps RAG competition winning project EasyRAG

背景介绍 最近抽空参与 CCF 的 RAG 比赛,系统性对 RAG 检索中多种多样的检索优化方案进行了测试和对比,也发现了不少之前没有注意到的优化细节。从目前的实践来看,比赛确实是一个绝佳策略测试场所,很公平地对不同的优化方案进行了客观比较。实践中不时会发现直观感觉很有效的策略不生效,有些看起来平平无奇的策略反而效果绝佳。根据结果反向分析策略,更容易理解不同策略背后的适用场景和优劣,也可以帮...

RAG 分块长距离信息缺失,Late Chunking 值得试试

Long distance contextual information is missing in RAG, you can try Late Chunking

背景介绍 实际线上部署使用过 RAG (Retrieval Augmented Generation)服务的研发同学或多或少都会发现,按照常规的 RAG 方案进行文本切片并向量化之后,部分文本切片可能难以检索命中。这个往往是因为对应的分片缺失可供检索的信息。 以医疗领域的病例检索为例,单个病例文件中病情描述(现病史)一般在文档最上面,相关的诊断结论在文档最下面,而病例的诊断结论中一般没有任...

No Code 的大模型应用跟踪与批量测试方案

No Code's large model application tracking and batch testing solution

背景介绍 最近抽空参加了一个讯飞的 RAG 比赛,耗时两周终于在最后一天冲上了榜首。 整体的框架是基于 RAG 能力有点弱弱的 Dify 实现。在比赛调优的过程中,经常需要批量提交几百个问题至 Dify 获取回答,并需要跟踪多轮调优的效果差异。借助 Langfuse 可以通过网页跟踪结果,相对比较方便了很多。但是现有版本的 Langfuse 不支持提交文件构建数据集,私有化部署的版本...

你的大模型应用表现真的好吗?借助 Dify + Langfuse 一探究竟

Is your large model application really performing well? Find out with Dify + Langfuse

背景介绍 众所周知,大模型应用的输出存在着一些不确定性,往往需要迭代多轮才能得到较为稳定的输出结果,因此开发者往往需要关注大模型应用的实际表现,并进行有针对性的优化。 然而常规 Web 服务的监控机制往往无法满足大模型应用的监控需求,因为大模型应用往往关注的不仅仅是响应延迟、吞吐量等基础指标,而是需要关注大模型应用输出的语义正确性。因此,本文将介绍如何借助 Dify 和 Langfuse ...

给大模型加上记忆,深入探索 Mem0 项目

Adding memory to large models, exploring the Mem0 project

背景介绍 在之前的软件应用中,我们总会在应用中保留大量的用户历史操作记录,方便用户下次使用时可以快速查看和复用,甚至基于这些用户记录可以为用户提供个性化的服务。而这些记录往往都保存在传统的结构化或非结构化数据库中。 在大模型的应用,特别是助手类的大模型应用中,我们往往需要处理大量语义化的文本或多模态的信息,方便后续快速匹配,从而提供个性化的服务。为了支持这种语义检索的需求,往往会将数据保...

来自工业界的知识库 RAG(六),独特的 RAG 框架 dsRAG 核心亮点解读

RAG services from industry (6),an Interpretation of the Core Highlights of the RAG Framework dsRAG

背景介绍 在前面介绍了较多的开源 RAG 框架,比如主打 Rerank 的 QAnything, 主打精细文件解析的 RagFlow, 主打模块化灵活组合的 GoMate。这些库的设计除了少量的独特之处外,相似的部分很多。 最近有注意到一款另类的 RAG 框架 dsRAG,使用了较多独特的 RAG 优化方案,因此花了一些时间对其核心亮点进行了考察,整理相关内容在这边。 核心亮点 官方对 ...

深入源码,洞察迭代 8 年的 html 文本转换库

Dive into the source code and gain insights into the html text conversion library that has been iterating for 8 years

背景介绍 在前面 RAG 项目结构化文件解析方案比较 文章中对常见的 html 解析方案进行了比较,发现 html_text + python-readability 可以实现高质量的 html 内容提取。 在前一篇文章 迭代 14 年的高质量 html 提取方案 中对 python-readability 库进行了介绍,这篇文章就对剩下的 html_text 库进行介绍。 html_t...

深入源码,洞察迭代 14 年的高质量 html 提取方案

Go deep into the source code and gain insight into the high-quality HTML extraction solution that has been iterated for 14 years

背景介绍 在大模型时代,开源项目的生命周期被加速了,往往迭代速度很快,但是热门项目也容易突然就无疾而终了。最近看到一款历经 14 年的开源 html 内容提取项目 python-readability,从最早建立到目前,已经迭代了 14 年。 本文是在实际项目中使用 python-readability 之后,发现一些异常 case,因此深入源码了解其中的技术细节,因此在本文中对这款...

Dify框架增强:知识库检索能力提升探索与实践

Enhancement of Dify framework: exploration and practice of improving the retrieval ability of knowledge base

背景介绍 在之前的文章 来自工业界的开源知识库 RAG 项目最全细节对比 中介绍过,现有 RAG 开源项目中,Dify 的生态良好,但是一个明显的短板就是 RAG 检索能力偏弱。因此一直期望能补全这个短板,从而让 Dify 能真正好用起来。 在 基于开源项目二次开发建议方案 探索了 Dify 的增强策略。实际选择了文章中提到的中策,基于模块化增强 Dify。做出这个选择的主要原因如下: ...

深入 Dify 源码,洞察 Dify RAG 切片机制实现细节

Go deep into the Dify source code and gain insight into the implementation details of the Dify RAG slicing mechanism

背景介绍 最近测试时发现 Dify 的 RAG 分片效果一般,不管是使用之前 深入 Dify 源码,洞察 Dify RAG 核心机制 中有调研过的默认解析还是 Unstructured 解析。因此调研比较了 大量的开源框架 实现了特定格式的结构化解析方案,并与 Dify 现有解析流程进行了适配。 为了保证文件的解析能真正发挥出效果,需要保证预处理中其他环节也遵循前面的结构化方案进行处理,...