微信扫码
与创始人交个朋友
我要投稿
RAGFlow[1] 是一款基于深度文档理解构建的开源 RAG(Retrieval-Augmented Generation)引擎。RAGFlow 可以为各种规模的企业及个人提供一套精简的 RAG 工作流程,结合大语言模型(LLM)针对用户各类不同的复杂格式数据提供可靠的问答以及有理有据的引用。
RAGFlow 引擎的核心的是 DeepDoc,它由视觉处理和解析器两部分组成。
作为人类,我们使用视觉信息来解决问题。
python deepdoc/vision/t_ocr.py --inputs=path_to_images_or_pdfs --output_dir=path_to_store_result
输入可以是图像或 PDF 的目录,或者单个图像、PDF文件。您可以查看文件夹 path_to_store_result
,其中有演示结果位置的图像,以及包含 OCR 文本的 txt 文件。
你可以通过以下命令查看布局检测结果:
python deepdoc/vision/t_recognizer.py --inputs=path_to_images_or_pdfs --threshold=0.2 --mode=layout --output_dir=path_to_store_result
输入可以是图像或PDF的目录,或者单个图像、PDF 文件。您可以查看文件夹 path_to_store_result
,其中有显示检测结果的图像,如下所示:
你可以通过以下命令查看表结构识别结果:
python deepdoc/vision/t_recognizer.py --inputs=path_to_images_or_pdfs --threshold=0.2 --mode=tsr --output_dir=path_to_store_result
输入可以是图像或PDF的目录,或者单个图像、PDF 文件。您可以查看文件夹 path_to_store_result
,其中包含图像和 html 页面,这些页面展示了以下检测结果:
PDF、DOCX、EXCEL 和 PPT 四种文档格式都有相应的解析器。最复杂的是 PDF 解析器,因为 PDF 具有灵活性。PDF 解析器的输出包括:
如果您尚未在本地计算机(Windows、Mac 或 Linux)上安装 Docker,可参考 Install Docker Engine[2] 这篇文章。
vm.max_map_count
>= 262144检查
vm.max_map_count
的值:
$ sysctl vm.max_map_count
如果不是,请将 vm.max_map_count
的值重置为至少 262144。
$ sudo sysctl -w vm.max_map_count=262144
此更改将在系统重新启动后重置。为了确保您的更改保持永久,请相应地添加或更新 /etc/sysctl.conf
中的 vm.max_map_count
的值:
vm.max_map_count=262144
$ git clone https://github.com/infiniflow/ragflow.git
运行以下命令会自动下载开发版本 RAGFlow Docker 镜像。要下载并运行指定的 Docker 版本,请在运行以下命令之前将 docker/.env 中的
RAGFLOW_VERSION
更新为所需版本,比如RAGFLOW_VERSION=v0.6.0
。
$ cd ragflow/docker
$ chmod +x ./entrypoint.sh
$ docker compose up -d
核心映像大小约为 9 GB,可能需要一段时间才能加载。
$ docker logs -f ragflow-server
以下输出确认系统已成功启动:
____ ______ __
/ __ \ ____ _ ____ _ / ____// /____ _ __
/ /_/ // __ `// __ `// /_ / // __ \| | /| / /
/ _, _// /_/ // /_/ // __/ / // /_/ /| |/ |/ /
/_/ |_| \__,_/ \__, //_/ /_/ \____/ |__/|__/
/____/
* Running on all addresses (0.0.0.0)
* Running on http://127.0.0.1:9380
* Running on http://x.x.x.x:9380
INFO:werkzeug:Press CTRL+C to quit
如果您跳过此确认步骤直接登录 RAGFlow,您的浏览器可能会提示网络异常错误,因为此时您的 RAGFlow 可能尚未完全初始化。
使用默认设置时,您只需输入
http://IP_OF_YOUR_MACHINE
(无端口号),因为使用默认配置时可以省略默认 HTTP 服务端口80
。
RAGFlow 是一个 RAG 引擎,它需要与 LLM 协作才能提供接地气、无幻觉的问题解答功能。目前,RAGFlow 支持以下 LLM,而且该列表还在不断增加:
注意:RAGFlow 还支持使用
Ollama
或Xinference
在本地部署 LLM。
每个 RAGFlow 账户都可以免费使用通义千问的
text-embedding-v2
模型。这就是为什么你能在已添加模型列表中看到 Tongyi-Qianwen。以后您可能需要更新您的 Tongyi-Qianwen API 密钥。
您添加的模型如下所示:
有些模型,例如文生图模型
qwen-vl-max
,是特定 LLM 的附属模型。您可能需要相应地更新您的 API 密钥才能使用这些模型。
您可以将文件上传到 RAGFlow 中的知识库,并将其解析为数据集。知识库实际上就是数据集的集合。RAGFlow 中的问题解答可以基于一个特定的知识库或多个知识库。RAGFlow 支持的文件格式包括文档(PDF、DOC、DOCX、TXT、MD)、表格(CSV、XLSX、XLS)、图片(JPEG、JPG、PNG、TIF、GIF)和幻灯片(PPT、PPTX)。
单击页面顶部中间的 “知识库(Knowledge Base)” 选项卡 > 创建知识库。
输入知识库名称,然后单击 “确定” 按钮。您将进入知识库的配置页面:
注意:一旦选择了嵌入模型并用它来解析文件,就不能再更改了。原因很明显,我们必须确保特定知识库中的所有文件都使用相同的嵌入模型进行解析(确保它们在相同的嵌入空间中进行比较)。
文件解析完成后,解析状态变为SUCCESS。
RAGFlow 具有可见性和可解释性,允许您查看分块结果并在必要时进行干预。为此:
RAGFlow 中的对话基于特定的知识库或多个知识库。创建知识库并完成文件解析后,就可以开始 AI 对话了。
关注 AI 真好玩,带你玩转各类 AI 工具,掌控数字未来!
如果这篇文章对您有所帮助,请点赞、关注,并分享给您的朋友。感谢您的支持!
RAGFlow: https://github.com/infiniflow/ragflow
[2]Install Docker Engine: https://docs.docker.com/engine/install/
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-03-30
2024-04-26
2024-05-10
2024-04-12
2024-05-28
2024-05-14
2024-04-25
2024-07-18
2024-04-26
2024-05-06
2024-12-22
2024-12-21
2024-12-21
2024-12-21
2024-12-21
2024-12-20
2024-12-20
2024-12-19