RAGflow构建大模型知识库
1 摘要¶
利用RAGflow构建个人知识库,为大模型提供上下文基础/专业知识,减轻Prompt的提词负担,提升大模型回答的准确性。
Tip
RAG(Retrieval-Augmented Generation,检索增强生成)是一种结合检索技术与生成模型的技术,旨在通过外部知识库为生成模型提供实时、准确的背景信息,从而提升大模型的输出质量和准确性。
2 安装Docker¶
3 安装RAGflow¶
可参考RAGflow的官网安装指南,简单总结如下。
3.1 拉取镜像仓库¶
3.2 修改.env
文件¶
打开 ragflow/docker/.env 文件,注释掉第84行的代码,并将第87行的代码取消注释,如下所示。
Python
# The RAGFlow Docker image to download.
# Defaults to the v0.17.1-slim edition, which is the RAGFlow Docker image without embedding models.
# RAGFLOW_IMAGE=infiniflow/ragflow:v0.17.1-slim
#
# To download the RAGFlow Docker image with embedding models, uncomment the following line instead:
RAGFLOW_IMAGE=infiniflow/ragflow:v0.17.1
说明
84行中的slim是精简版的rag,这里注释掉精简版选择下载87行完整版的ragflow。完整版包含了embedding模型,可以将知识库的内容转化为大模型可以理解的编码模式。
3.3 下载docker镜像¶
注意
如果是Windows Docker Desktop,需要先启动Docker Desktop再执行下面的指令。
Tip
如果你遇到 Docker 镜像拉不下来的问题,可以在 docker/.env 文件内根据变量 RAGFLOW_IMAGE 的注释提示选择华为云或者阿里云的相应镜像。
- 华为云镜像名:
swr.cn-north-4.myhuaweicloud.com/infiniflow/ragflow
- 阿里云镜像名:
registry.cn-hangzhou.aliyuncs.com/infiniflow/ragflow
3.4 检查是否安装成功¶
输入以下指令:
如果出现下面界面提示说明启动成功:
____ ___ ______ ______ __
/ __ \ / | / ____// ____// /____ _ __
/ /_/ // /| | / / __ / /_ / // __ \| | /| / /
/ _, _// ___ |/ /_/ // __/ / // /_/ /| |/ |/ /
/_/ |_|/_/ |_|\____//_/ /_/ \____/ |__/|__/
* Running on all addresses (0.0.0.0)
4 在RAGflow中配置知识库¶
打开链接。在浏览器输入127.0.0.1
或者localhost
也可进入RAGflow网站。
在模型提供商中选择需要使用的Chat模型,可以是API,也可以是本地部署的模型。如果对隐私保护有需求,需要本地部署模型,请参考这篇文章。
在知识库中上传自己的知识文件,选择对应的Embedding模型,在聊天中新建对话模型,选择对应的知识库,即可实现基于知识库的对话。
因为RAGflow是基于Docker Compose运行的,一直启动会占用很多内存,相关的启动、关闭指令请参考Docker笔记。