- infiniflow/ragflow: RAGFlow is an open-source RAG (Retrieval-Augmented Generation) engine based on deep document understanding. (github.com)
- Quick start | RAGFlow
- infiniflow/infinity: The AI-native database built for LLM applications, providing incredibly fast full-text and vector search (github.com)
- 由近期 RAGFlow 的火爆看 RAG 的现状与未来-CSDN博客
- FlowGPT
- github.com
- Chat with Open Large Language Models (lmsys.org)
- github.com
- FastGPT
- 首页 · 魔搭社区 (modelscope.cn)
- huggingface.co
- Bin-Huang/chatbox: User-friendly Desktop Client App for AI Models/LLMs (GPT, Claude, Gemini, Ollama...) (github.com)
- Chatbox官网 - 办公学习的AI好助手,官方免费下载 (chatboxai.app)
- HF-Mirror - Huggingface 镜像站
- 深度解读RAGFlow的深度文档理解DeepDoc - JadePeng - 博客园 (cnblogs.com)
- en.wikipedia.org
关键字:
RAGFlow、QAnything、FlowGPT、FastChat、 Xinference、Chatbox、
——>知识库、无幻觉聊天和文件管理(Knowledge base, hallucination-free chat, and file management )是RAGFlow的三大支柱
- FastGPT:一个基于 LLM 大模型的开源 AI 知识库构建平台。提供了开箱即用的数据处理、模型调用、RAG 检索、可视化 AI 工作流编排等能力,帮助您轻松实现复杂的问答场景。
- Dify: 一个涵盖了大型语言模型开发、部署、维护和优化的 LLMOps 平台。
- Chatbox: 一个支持前沿大语言模型的桌面客户端,支持 Windows,Mac,以及 Linux。
- RAGFlow: 是一款基于深度文档理解构建的开源 RAG 引擎。
具备 chat
或 generate
能力的模型通常被称为大型语言模型(LLM)或文本生成模型。这些模型旨在根据接收到的输入以文本输出方式进行回应,通常被称为“提示”。具备 generate
能力的模型通常是预训练的大型语言模型。另一方面,配备 chat
功能的模型是经过精调和对齐的 LLM(Language Model),专为对话场景进行优化。在大多数情况下,以“chat”结尾的模型(例如 llama-2-chat
,qwen-chat
等)则具有 chat
功能。
从 Garbage In Garbage Out 变为 Quality In Quality Out。
- 常规RAG 使用编排工具例如 LangChain, LlamaIndex 等,再搭配一个漂亮的 UI,很容易的让一套 RAG 系统运行起来。所有这些工具,都没有很好地解决数据本身的问题,这导致复杂格式的文档是以混乱的方式进入到数据库中,必然导致 Garbage In Garbage Out。
FlowGPT(王利凡)目前已经吸引了超过400万的月活用户,位于全球AI提示词社区里的前列。
1、Ragflow 是由 InfiniFlow(英飞流) 团队开发的( 創始人兼CEO張穎峰)。2024 年 4 月 1 日正式开源。为什么RAGFlow解析文档的时间比LangChain长?我们使用自己的视觉模型,在布局分析、表格结构识别和OCR(光学字符识别)等文档预处理任务中投入了大量精力。这增加了所需的额外时间。降低幻觉(hallucination):
- 文本切片过程可视化,支持手动调整。
- 有理有据:答案提供关键引用的快照并支持追根溯源。
- RAGFlow支持在本地使用Ollama或Xinference部署LLM。
- 支持语言:英文,简体中文,繁体中文
RAGFlow supports the following LLMs, and the list is expanding:
- OpenAI
- Tongyi-Qianwen
- ZHIPU-AI
- Moonshot
- DeepSeek-V2
- Baichuan
- VolcEngine
Which embedding models can be deployed locally?
- BAAI/bge-large-zh-v1.5
- BAAI/bge-base-en-v1.5
- BAAI/bge-large-en-v1.5
- BAAI/bge-small-en-v1.5
- BAAI/bge-small-zh-v1.5
- jinaai/jina-embeddings-v2-base-en
- jinaai/jina-embeddings-v2-small-en
- nomic-ai/nomic-embed-text-v1.5
- sentence-transformers/all-MiniLM-L6-v2
- maidalun1020/bce-embedding-base_v1
2、RAPTOR系统(Paper page - RAPTOR: Recursive Abstractive Processing for Tree-Organized Retrieval(huggingface.co))为利用大语言模型进行高效检索和知识整合提供了一种新的思路和方法:RAGFlow实现 RAPTOR 提供更好的文本检索。通过递归地对文本块进行聚类和摘要,构建了一个树结构,从而能够在不同级别上对文本进行表示和利用。在检索时,RAPTOR可以根据用户的查询,在树中不同级别上进行检索和整合信息,提高检索的准确性和全面性。解决现有方法的不足:大多数现有方法只能从检索语料库中获取短的连续块,限制了对整体文档上下文的全面理解。使用召回增强RAPTOR策略的设置选项说明:
- 提示词:LLM提示用于总结;举例:请总结以下段落。 小心数字,不要编造。 段落如下: {cluster_content} 以上就是你需要总结的内容。
- 最大token数(0-2048):用于汇总的最大token数
- 阈值(0-1):阈值越大、聚类越少
- 最大聚类数(1-1024)
- 随机种子
*知识库-检索测试的参数说明:
- 相似度阈值:使用混合相似度得分来评估两行文本之间的距离。 它是加权关键词相似度和向量余弦相似度。 如果查询和块之间的相似度小于此阈值,则该块将被过滤掉;
- 关键字相似度权重(该值设置混合评分中分配给向量相似度组件的权重):使用混合相似性评分来评估两行文本之间的距离。它是加权关键字相似性和矢量余弦相似性或rerank得分(0〜1)。两个权重的总和为1.0。
- Rerank模型:如果是空的,它使用查询和块的嵌入来构成矢量余弦相似性。否则,它使用rerank评分代替矢量余弦相似性。BAAI/bge-reranler-v2-m3和maidalun1020/bce-reranler-base-v1可选
- Top-K:K块(1-2048)将被送入Rerank型号。
3、RAGFlow系统架构
- 全面优化的 RAG 工作流可以支持从个人应用乃至超大型企业的各类生态系统。
- 大语言模型 LLM(目前可用:deepseek-chat 或 deepseek-coder) 以及向量模型均支持配置。
- 基于多路召回、融合重排序。
- 提供易用的 API,可以轻松集成到各类企业系统
4、!RAGFlow 没有采用现成的 RAG 中间件,而是完全重新研发了一套智能文档理解系统,并以此为依托构建 RAG 任务编排体系。知识库的解析方法:
Template | Description | File format |
General | Files are consecutively chunked based on a preset chunk token number. | DOCX, EXCEL, PPT, PDF, TXT, JPEG, JPG, PNG, TIF, GIF |
Q&A | EXCEL, CSV/TXT | |
Manual | ||
Table | EXCEL, CSV/TXT | |
Paper | ||
Book | DOCX, PDF, TXT | |
Laws | DOCX, PDF, TXT | |
Presentation | PDF, PPTX | |
Picture | JPEG, JPG, PNG, TIF, GIF | |
One | The entire document is chunked as one. | DOCX, EXCEL, PDF, TXT |
- "General" 分块方法说明:支持的文件格式为DOCX、EXCEL、PPT、IMAGE、PDF、TXT。此方法将简单的方法应用于块文件:
- 系统将使用视觉检测模型将连续文本分割成多个片段。
- 接下来,这些连续的片段被合并成Token数不超过“Token数”的块。
- "Q&A" 分块方法说明:此块方法支持 excel 和 csv/txt 文件格式。
- 如果文件以 excel 格式,则应由两个列组成 没有标题:一个提出问题,另一个用于答案, 答案列之前的问题列。多张纸是 只要列正确结构,就可以接受。
- 如果文件以 csv/txt 格式为 用作分开问题和答案的定界符。
- "Resume" -“简历”分块方法说明:支持的文件格式为DOCX、PDF、TXT。简历有多种格式,就像一个人的个性一样,但我们经常必须将它们组织成结构化数据,以便于搜索。我们不是将简历分块,而是将简历解析为结构化数据。 作为HR,你可以扔掉所有的简历, 您只需与'RAGFlow'交谈即可列出所有符合资格的候选人。
- "Manual"手册 分块方法说明:仅支持PDF。假设手册具有分层部分结构。 我们使用最低的部分标题作为对文档进行切片的枢轴。 因此,同一部分中的图和表不会被分割,并且块大小可能会很大。
- "Table" 分块方法说明:支持EXCEL和CSV/TXT格式文件。以下是一些提示:
- 对于 csv 或 txt 文件,列之间的分隔符为 TAB。
- 第一行必须是列标题。
- 列标题必须是有意义的术语,以便我们的大语言模型能够理解。 列举一些同义词时最好使用斜杠'/'来分隔,甚至更好 使用方括号枚举值,例如 'gender/sex(male,female)'.以下是标题的一些示例:
- 供应商/供货商'TAB'颜色(黄色、红色、棕色)'TAB'性别(男、女)'TAB'尺码(M、L、XL、XXL)
- 姓名/名字'TAB'电话/手机/微信'TAB'最高学历(高中,职高,硕士,本科,博士,初中,中技,中 专,专科,专升本,MPA,MBA,EMBA)
- "Paper" 分块方法说明:仅支持PDF文件。如果我们的模型运行良好,论文将按其部分进行切片,例如摘要、1.1、1.2等。这样做的好处是LLM可以更好的概括论文中相关章节的内容, 产生更全面的答案,帮助读者更好地理解论文。 缺点是它增加了 LLM 对话的背景并增加了计算成本, 所以在对话过程中,你可以考虑减少‘topN’的设置。
- "Book" 分块方法说明:支持的文件格式为DOCX、PDF、TXT。由于一本书很长,并不是所有部分都有用,如果是 PDF, 请为每本书设置页面范围,以消除负面影响并节省分析计算时间。
- "Laws" 分块方法说明:支持的文件格式为DOCX、PDF、TXT。法律文件有非常严格的书写格式。 我们使用文本特征来检测分割点。chunk的粒度与'ARTICLE'一致,所有上层文本都会包含在chunk中。
- "Presentation" 分块方法说明:支持的文件格式为PDF、PPTX。每个页面都将被视为一个块。 并且每个页面的缩略图都会被存储。您上传的所有PPT文件都会使用此方法自动分块,无需为每个PPT文件进行设置。
- "Picture" 分块方法说明:支持图像文件。 视频即将推出。如果图片中有文字,则应用 OCR 提取文字作为其文字描述。如果OCR提取的文本不够,可以使用视觉LLM来获取描述。
- "One" 分块方法说明:支持的文件格式为DOCX、EXCEL、PDF、TXT。对于一个文档,它将被视为一个完整的块,根本不会被分割。如果你要总结的东西需要一篇文章的全部上下文,并且所选LLM的上下文长度覆盖了文档长度,你可以尝试这种方法。
5、Xprobe Inc.(杭州未来速度科技有限公司)成立于 2022 年 7 月 8 日,法定代表人是秦续业,第一个开源产品是 Xorbits。Xorbits Inference(Xinference)是一个性能强大且功能全面的分布式推理框架。
- Nvidia GPU 用户可以使用Xinference Docker 镜像 启动 Xinference 服务器。在执行安装命令之前,确保你的系统中已经安装了 Docker 和 CUDA
- Xinference 支持以下推理引擎:
vllm
是一个支持高并发的高性能大模型推理引擎sglang
具有基于 RadixAttention 的高性能推理运行时。它通过在多个调用之间自动重用KV缓存,显著加速了复杂 LLM 程序的执行。它还支持其他常见推理技术,如连续批处理和张量并行处理llama.cpp
Xinference 通过llama-cpp-python
支持gguf
和ggml
格式的模型transformers
PyTorch(transformers) 引擎支持几乎有所的最新模型,这是 Pytorch 模型默认使用的引擎
- 开放生态,无缝对接: 与流行的三方库无缝对接,包括 LangChain,LlamaIndex,Dify,以及 Chatbox
- 体验 Xinference 最轻量级的方式是使用我们 Google Colab 上的 Jupyter Notebook
6、(方海涛是 Sealos 创始人、环界云计算 CEO)FastGPT 是一个基于 LLM 大语言模型的知识库问答系统,提供开箱即用的数据处理、模型调用等能力。同时可以通过 Flow 可视化进行工作流编排。快速了解 FastGPT | FastGPT
- FastGPT 支持导入 Word、PDF、Excel、Markdown 以及网页链接等格式文档,同时还支持同步整个 Web 站点的数据,自动完成文本预处理、向量化和 QA 分割,节省手动训练时间,提高效率。
- 在 4.8 版本中,对工作流也就是高级编排做了重构,更加简洁和强大。
- 付费云平台中的免费版(送100 AI积分)用户30天无任何使用记录时,系统会自动清理账号知识库。
- 每次调用AI模型时,都会消耗一定的AI积分。具体的计算标准可参考上方的“AI 积分计算标准”。Token计算采用GPT3.5相同公式,1Token≈0.7中文字符≈0.9英文单词,连续出现的字符可能被认为是1个Tokens。
7、由党嘉成(Jay Dang)、王利凡(Lifan Wang)和Alexander Xi联合创立的FlowGPT,选择从提示词切入进大语言模型方向的创业,打造基于ChatGPT的Prompt社区。
- FlowGPT提示工程师(Prompt Engineer):Prompt是用户在使用ChatGPT进行交互式对话时,发送给ChatGPT的内容。同一任务使用不同的Prompt时,预测效果会有显著差异。
- 在FlowGPT写好的Prompt应用模板是开源的,可以共享给所有人。目前,该平台专注基于自研引擎的AI Native APP。
- FlowGPT也在快速逐步拓展板块,当前发展出了包括提示词工程(Prompt Engineering)、学习(Academic)、生产力工具(Productivity)、角色扮演(Character)、编程等多个板块。
- FlowGPT现在的形态会更像一个商店——也会向用户提供基础的开发AI应用的工具,包括自定义AI应用程序的界面、提供基础的api接口等等。
8、Chatbox 是一个 AI 模型桌面客户端,支持Claude、Google Gemini、Ollama 等主流模型,适用于 Windows、Mac、Linux、Web、Android 和 iOS 全平台。
- 数据保留在本地设备上,确保数据永不丢失并保护您的隐私;
- 使用 Dall-E-3 创建您想象中的图像。
- Chatbox 将采用与底层模型完全一致的 token 计费算法。在每次生成中,Chatbox 会对当前上下文中的历史消息、新生成的消息回复的总 tokens 数量进行计费。在统计上,平均一个英文单词约等于 1.4 tokens,一个汉字约等于 3.5 tokens。
- 使用xinference开源的命令行工具,可以一键部署多款开源模型,接入Chatbox即可使用本地的开源大模型。