开源RAG框架汇总

前言

本文搜集了一些开源的基于LLM的RAG(Retrieval-Augmented Generation)框架,旨在吸纳业界最新的RAG应用方法与思路。如有错误或者意见可以提出,同时也欢迎大家把自己常用而这里未列出的框架贡献出来,感谢~

RAG应用框架

  1. RAGFlow
  • 项目地址:https://github.com/infiniflow/ragflow

  • 简介:RAGFlow 是一款基于深度文档理解构建的开源 RAG(Retrieval-Augmented Generation)引擎。RAGFlow 可以为各种规模的企业及个人提供一套精简的 RAG 工作流程,结合大语言模型(LLM)针对用户各类不同的复杂格式数据提供可靠的问答以及有理有据的引用。

  • 特性:OCR、内置多种文档切分模板、文档切分可视化并且可修改、兼容多种文档数据类型

  • 架构:
    在这里插入图片描述

  • 硬件要求:CPU >= 4 核、RAM >= 16 GB、Disk >= 50 GB、Docker >= 24.0.0 & Docker Compose >= v2.26.1

  1. QAnything
  • 项目地址: https://github.com/netease-youdao/QAnything

  • 简介:QAnything ( Q uestion based on Anything ) 是贡献支持任何格式文件或数据库的本地知识库问答系统,可断网安装使用。您的任何格式的本地文件都可以往里扔,即可获得准确、快速、靠谱的问答体验。

  • 特性:支持离线安装使用、跨语种问答粗排和精排的二阶段召回

  • 架构:
    在这里插入图片描述

  • 硬件要求:最低CPU即可;使用GPU环境需要NVIDIA GPU Memory >= 4GB (use OpenAI API) & Docker Desktop >= 4.26.1(131620)

  1. open-webui
  • 项目地址:https://github.com/open-webui/open-webui

  • 简介:Open WebUI 是一个可扩展、功能丰富且用户友好的自托管 WebUI,旨在完全离线操作。它支持各种 LLM 运行程序,包括 Ollama 和 OpenAI 兼容的 API。

  • 特性:原生支持Ollama支持安装和卸载模型支持多模态模型支持切换模型多用户管理

  • 架构:
    在这里插入图片描述

  • 硬件要求:最低CPU即可,使用GPU环境需要NVIDIA GPU Memory >= 4GB (取决于使用Ollama的模型大小)

  1. FastGPT
  • 项目地址:https://github.com/labring/FastGPT

  • 简介:FastGPT 是一个基于 LLM 大语言模型的知识库问答系统,提供开箱即用的数据处理、模型调用等能力。同时可以通过 Flow 可视化进行工作流编排,从而实现复杂的问答场景!

  • 特性:支持应用编排免登录分享支持接入飞书、企业微信等应用

  • 架构:
    在这里插入图片描述

  • 硬件要求:CPU >= 2 核、RAM >= 4 GB用于安装数据库,GPU取决于使用的模型

  1. Langchain-Chatchat
  • 项目地址:https://github.com/chatchat-space/Langchain-Chatchat

  • 简介:基于 ChatGLM 等大语言模型与 Langchain 等应用框架实现,开源、可离线部署的检索增强生成(RAG)大模型知识库项目。

  • 特性:算是比较早期的RAG框架了,使用的基本全是python的框架。该项目是一个可以实现完全本地化推理的知识库增强方案, 重点解决数据安全保护,私域化部署的企业痛点。支持市面上主流的本地大语言模型和Embedding模型,支持开源的本地向量数据库。 本开源方案采用Apache License,可以免费商用,无需付费

  • 架构:
    在这里插入图片描述

  • 硬件要求:对GPU要求较高

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/10374.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【代码随想录37期】Day04 两两交换链表中的节点、删除链表的倒数第N个节点、链表相交、环形链表II

两两交换链表中的节点 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(nullptr) {}* ListNode(int x, ListNode *next) : val(x), ne…

光通信行业专业术语解析大全

近期公司内部开展了一期学习交流会,各位同事收获颇多,特别是关于一些专业术语的简称,大家都觉得非常有意思!小编马不停蹄的整理出来分享给大家,希望可以给学习光通信知识的萌新们小小助力! 以下是光通信行…

QRegExp

描述 QRegExp 类使用正则表达式提供模式匹配。 正则表达式或“正则表达式”是一种用于匹配文本中子字符串的模式。这在许多情况下都很有用,例如, 验证 正则表达式可以测试子字符串是否满足某些条件,例如是整数或不包含空格。搜索 正则表达式…

网关路由的方式有哪些

在微服务架构中,网关路由通常用于集中处理请求分发、认证、限流、熔断等任务。以下是几种常见的网关路由配置方式: Spring Cloud Gateway 1. **基于配置文件的路由**: - 在Spring Cloud Gateway中,可以通过YAML或JSON配置文件定…

【Linux】shell编程,()圆括号, []方括号, {}花括号与(())双括号的使用区别

1. ( )圆括号 初始化数组使用圆括号; 命令组,将一系列命令用空格隔开; 命令替换,使用$ 美元符,将命令进行嵌套使用;(有点儿类似于管道符作用的感觉) arr(1 2 3 4 5)2. [ ]方括号 …

【Linux】搭建私有yum仓库(类阿里云)

在搭建本地yum仓库并配置国内镜像阿里云源中了解yum源 yum : Yellow dog Updater,Modified,是一种基于rpm包的自动升级和软件包管理工具。yum能从指定的服务器自动下载rpm包并安装,自动计算出程序之间的依赖关系和软件安装的步骤&…

《Python编程从入门到实践》day25

# 昨日知识点回顾 如何创建多行外星人 碰撞结束游戏 创建game_stats.py跟踪统计信息 # 今日知识点学习 第14章 记分 14.1 添加Play按钮 14.1.1 创建Button类 import pygame.font# button.py class Button:def __init__(self, ai_game, msg):"""初始化按钮…

【Python系列】Python中列表属性提取

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

地下工程中测斜仪的关键应用

地下工程,如隧道、地铁和基坑等项目的建设,对于现代城市的发展至关重要。然而,这些工程的实施往往伴随着诸多风险,特别是与周围土体的稳定性有关的风险。为了确保工程的安全进行,实时监测技术变得尤为关键。其中&#…

vue3专栏项目 -- 三、使用vue-router 和 vuex(下)

一、添加columnDetail 页面 首页有专栏列表(ColumnList组件),专栏列表中有很多专栏,然后点击某个专栏就进入专栏详情页(ColumnDetail组件),专栏详情页中有很多文章,点击某个文章就进…

经开区创维汽车车辆交接仪式顺利举行,守护绿色出行助力低碳发展

5月10日,“创维新能源汽车进机关”交车仪式于徐州顺利举行,20辆创维EV6 II正式交付经开区政府投入使用。经开区陈琳副书记、党政办公室副主任张驰主任、经开区公车管理平台苑忠民科长、创维汽车总裁、联合创始人吴龙八先生、创维汽车营销公司总经理饶总先…

配置管理与IT资产管理:差异与协同共生

在信息技术日新月异的今天,高效、可靠的IT服务管理成为企业竞争力的关键一环。ITIL4 作为业界公认的IT服务管理框架,为我们提供了一套全面而系统的实践指南。在这一框架下,配置管理和IT资产管理作为两大核心实践,虽各有侧重&#…

线路和绕组中的波过程(三)

本篇为本科课程《高电压工程基础》的笔记。 本篇为这一单元的第三篇笔记。上一篇传送门。 冲击电晕对线路上波过程的影响 实际中的导线存在电阻,而且还有对地电导,会消耗一部分能量。但是因为雷击所涉及的传输距离很短,所以几乎可以忽略这…

深入解析RedisSearch:全文搜索的新维度

码到三十五 : 个人主页 在当今的数据时代,信息的检索与快速定位变得尤为关键。Redis,作为一个高性能的内存数据库,已经在缓存和消息系统中占据了重要地位。然而,Redis并不直接支持复杂的搜索功能。为了填补这一空白&am…

【计算机网络】计算机网络概述、计算机网络性能指标 习题1

0 1. 计算机网络可被理解为( )。 A.执行计算机数据处理的软件模块 B. 由自治的计算机互连起来的集合体 C.多个处理器通过共享内存实现的紧耦合系统 D. 用于共同完成一项任务的分布式系统 0 2.计算机网络最基本的功能是( )。 A.数据通信 B. 资源共享 C. 分布式处理 D. 信息综合…

python的deap库使用记录

主要是在遗传符号回归的代码中添加了注释和根据一部分源码做了一点改动 import operator import random import numpy as np import matplotlib.pyplot as plt from deap import algorithms, base, creator, tools, gp from operator import attrgetter##生成数据 def generat…

【Python系列】字节串与字典字节串

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

ASP.NET WebApi 如何使用 OAuth2.0 认证

前言 OAuth 2.0 是一种开放标准的授权框架,用于授权第三方应用程序访问受保护资源的流程。 OAuth 2.0 认证是指在这个框架下进行的身份验证和授权过程。 在 OAuth 2.0 认证中,涉及以下主要参与方: 资源所有者(Resource Owner&…

【.NET Cote】你真的了解HttpRuntime类吗

【.NET Cote】你真的了解HttpRuntime类吗 文章目录 【.NET Cote】你真的了解HttpRuntime类吗一、HttpRuntime概述二、HttpRuntime是什么包三、HttpRuntime属性四、HttpRuntime方法五、HttpRuntime.Cache方法六、HttpRuntime.Cache应用 一、HttpRuntime概述 C# HttpRuntime是一…

JAVA基础之下载,socket实现网络聊天

目录 一、如何利用正则表达式找到img标签 compile编译编制 二、下载图片的方法 三、socket实现网络聊天 1.inputStreamReader 字节的读取流--->字符的读取流 2.outputStreamWriter 字节的写入流--->字符的写入流 一、如何利用正则表达式找到img标签 compile编译编制…