Bryan Blog

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

来自学术界的知识库 RAG 调优方案实践(一)

RAG tuning solution practice from academia (1)

背景介绍 在之前的文章详细梳理过工业界的 RAG 方案 QAnything 和 RagFlow,这次主要整理下来自学术界的一系列 RAG 优化方案。 主要关注优化方案对应的设计思想以及相关的实现,希望可以对大家的 RAG 服务效果提升有所帮助。 基础介绍 在综述论文 Retrieval-Augmented Generation for Large Language Models: A ...

从《红楼梦》的视角看大模型知识库 RAG 服务的 Rerank 调优

Rerank tuning of RAG service in large model knowledge base from the perspective of 'Dream of Red Mansions'

背景介绍 在之前的文章 有道 QAnything 源码解读 中介绍了有道 RAG 的一个主要亮点在于对 Rerank 机制的重视。 从目前来看,Rerank 确实逐渐成为 RAG 的一个重要模块,在这篇文章中就希望能讲清楚为什么 RAG 服务需要 Rerank 机制,以及如何选择最合适的 Rerank 模型。最终以完整的《红楼梦》知识库进行实践。 至于为什么要用红楼梦,答案就是作为读了很...

来自工业界的知识库 RAG 服务(二),RagFlow 源码全流程深度解析

Knowledge base RAG service from the industry (2), in-depth analysis of the entire RagFlow source code process

背景介绍 前面介绍过 有道 QAnything 源码解析,通过深入了解工业界的知识库 RAG 服务,得到了不少调优 RAG 服务的新想法。 因此本次趁热打铁,额外花费一点时间,深入研究了另一个火热的开源 RAG 服务 RagFlow 的完整实现流程,希望同样有所收获。 项目概述 框架设计 首先依旧可以先从框架图入手,与 常规的 RAG 架构 进行一些比较 可以看到右侧知识库被明显...

来自工业界的 RAG 服务,有道 QAnything 源码全流程深度解析

RAG service from the industry, Youdao QAnything source code in-depth analysis of the entire process

背景介绍 之前在做大模型知识库 RAG 优化时,主要参考的都是学术界的论文。最近了解到有道 QAnything 开源了,在线试用 之后,效果看起来还不错,燃起了探索其实现细节的兴趣。 正好对于 RAG 各个环节的最佳实践存在一些疑问,因此深入查看了有道 QAnything 的完整实现流程,学习下来自工业界大厂有道的实践方案,在这边分享给大家。 本文章基于的是 2024-5 月最新的版本 ...

一种与众不同的 RAG 架构探索

An exploration of a distinctive RAG architecture

背景介绍 在设计检索增强生成 (RAG) 架构时,目前常规的技术方案是基于 LangChain + Faiss 的架构。 这样的架构好处很明显,基于 LangChain 框架可以快速接入大模型,并可以充分利用 LangChain 内置的各个环节的处理能力,利用 Faiss 可以支持离线的向量库构建,简单方便。Faiss 原生的框架可能存在一些薄弱之处,之前的 向量数据库 Faiss 的实践...

向量数据库 Faiss 的实践与增强探索

Practice and enhanced exploration of vector database Faiss

背景介绍 在构建大模型知识库,即检索增强生成 (RAG) 服务时,中间存在一个核心环节就是向量化搜索,如果不希望引入第三方的向量数据库,那么开源的 Faiss 就是一个不错的选择。 Faiss 是 FaceBook 提供的开源向量库搜索库,在 Github 上已经有 28.1k star,相对成熟而且使用方便。 之前构建的 RAG 服务使用的就是 Faiss 提供的向量化搜索服务,Fai...

从开发到部署,搭建离线私有大模型知识库

From development to deployment, build an offline private large model knowledge base

背景介绍 最近一段时间搭建了一套完整的私有大模型知识库,目前完整的服务已经完成测试部署上线。基本之前的实践过程,从工程角度整理技术方案以及中间碰到的一些问题,方便后续对这个方向有需求的研发同学们。 为什么做离线私有化部署 在大模型火热起来之后,很多企业都有尝试相关服务。但是实际会碰到大模型不了解公司个性化的情况,无法针对公司情况给出个性化回答。因此就出现了针对大模型的知识库,通过提供公司内...

人 GPT 协作,从 0 手撸一个量化交易回测平台

Collaborate with GPT,create a quantitative trading backtesting platform from scratch

背景介绍 掌握技能最快的方法就是用技能创造产品,前一阵子对 GPT 辅助编程与项目生成做过较多的调研,但是一直处于试水阶段,没能发挥出 GPT 辅助编程的能力。 本次从新领域入手,借助 GPT 的力量,从 0 手撸一个量化交易回测平台,从这个过程看看 GPT 辅助编程到底有多强,能多大程度帮助程序员,是否有可能替代程序员。 效果展示 实际花费 2 周的休息时间,耗时 116 个番茄钟,从...

难以训练的深度学习

Difficult to train deep learning

背景介绍 深度学习的威力众所周知,但其模型训练过程常伴随着繁琐的挑战。许多人在深度学习的实践中都曾遇到过各种问题,这些问题使得理想模型的训练变得更加复杂。本文将以理论结合实践的方式,探讨深度学习训练过程中常见的问题及相应解决方案,主要涉及以下几个方面: 梯度消失与梯度爆炸 收敛速度缓慢 过拟合 梯度消失与梯度爆炸 是什么(What) 深度学习中模型参数的更新主要使用 梯...

从 0 手撸一个 pytorch

Implementing a simple version of pytorch from 0

背景介绍 最近抽空看了下 Andrej Karpathy 的视频教程 building micrograd,教程的质量很高。教程不需要任何前置机器学习基础,只需要有高中水平的数学基础即可。整个教程从 0 到 1 手撸了一个类 pytorch 的机器学习库 micrograd,核心代码不到 100 行。虽然为了简化没有实现复杂的矩阵运算,但是对于理解 pytorch 的设计思想有很大帮助。 ...