Sparkle79's Field

LLM RAG技术探究

2025/03/25
loading

LLM RAG技术探究

RAG定义:

Retrieval-Augmented Generation: 增强检索生成

RAG存在的目的:

利用外部知识文档或向量数据库增强生成内容的可靠性

RAG的两个阶段:

检索

在数据存储集群中根据关键词得到相关信息

生成

将相关信息作为上下文输入到大模型,生成答案

RAG实践框架

开源RAG引擎框架:Ragflow

MAC部署指南资料:

DeepSeek + RAGFlow 构建个人知识库
记录 Mac M4 安装 RAGFlow 的一次排坑过程
mac本地部署DeepSeek+RAGFlow教程踩坑指南

小插曲

自己在部署中遇到的一些问题:

1
2
3
4
2025-03-26T14:49:39.779716Z 0 [ERROR] [MY-010457] [Server] --initialize specified but the data directory has files in it. Aborting.
2025-03-26T14:49:39.779720Z 0 [ERROR] [MY-013236] [Server] The designated data directory /var/lib/mysql/ is unusable. You can remove all files that the server added to it.
2025-03-26T14:49:39.779759Z 0 [ERROR] [MY-010119] [Server] Aborting
2025-03-26T14:49:39.779861Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.41) MySQL Community Server - GPL.

StackOverflow或Github Issues评论区基于都是MySQL容器挂载Volume卷的问题

1
2
3
volumes:
- mysql_data:/var/lib/mysql
- ./init.sql:/data/application/init.sql

没有解决问题,最前面还有一条错误信息被忽略了:

1
mysqld: error writing file '/var/lib/mysql/auto.cnf'

经查阅后是由于空间不足导致的错误
在Docker Desktop中是硬盘空间分配不足

部署效果

RAG由Embedding模型和Chat模型组成
Embedding模型负责对数据源进行编码,方便后续检索阶段
Chat模型则结合召回的信息做出相应回答

创建知识库,以本科毕业论文为例:

创建聊天AI后指定知识库,即可实现RAG的效果

CATALOG
  1. 1. LLM RAG技术探究
    1. 1.1. RAG定义:
      1. 1.1.1. RAG存在的目的:
      2. 1.1.2. RAG的两个阶段:
        1. 1.1.2.1. 检索
        2. 1.1.2.2. 生成
    2. 1.2. RAG实践框架
      1. 1.2.1. MAC部署指南资料:
        1. 1.2.1.1. 小插曲
        2. 1.2.1.2. 部署效果