QAnything知识库问答系统离线部署(LLM+RAG)

server/2024/11/17 9:50:02/

一、QAnything介绍

(一)简介

QAnything 是网易有道开源的一个问答系统框架,支持私有化部署和SaaS服务两种调用形式。它能够支持多种格式的文件或数据库,提供准确、快速和可靠的问答体验。目前已支持的文件格式包括PDF、Word、PPT、Markdown、Eml、TXT、图片(jpg、png等)以及网页链接等。

(二)特点

  • 数据安全,支持全程拔网线安装使用。
  • 支持跨语种问答,中英文问答随意切换,无所谓文件是什么语种。
  • 支持海量数据问答,两阶段向量排序,解决了大规模数据检索退化的问题,数据越多,效果越好。
  • 高性能生产级系统,可直接部署企业应用。
  • 易用性,无需繁琐的配置,一键安装部署,拿来就用。
  • 支持选择多知识库问答。

(三)架构图

QAnything项目是基于langchain,fastchat,transformer,fasttransformer等一系列框架实现的。它有四部分组成:

  • 前端服务
  • 检索模型服务
  • 大模型问答服务
  • 知识库实现

整体框架是基于docker运行的, 不管是windows还是linux , 都是基于docker运行。

二、离线部署(以Linux系统为例)

(一)部署 条件

确保你的电脑或服务器满足以下要求:

必要项最低要求备注
NVIDIA GPU Memory>= 16GB推荐NVIDIA 3090
NVIDIA Driver 版本>= 525.105.17
CUDA 版本>= 12.0
docker compose 版本>=1.27.4docker compose 安装教程

(二)打包镜像

1.先在联网机器上下载docker镜像

docker pull quay.io/coreos/etcd:v3.5.5
docker pull minio/minio:RELEASE.2023-03-20T20-16-18Z
docker pull milvusdb/milvus:v2.3.4
docker pull mysql:latest
docker pull freeren/qanything:v1.2.1

2.打包镜像

docker save quay.io/coreos/etcd:v3.5.5 minio/minio:RELEASE.2023-03-20T20-16-18Z milvusdb/milvus:v2.3.4 mysql:latest freeren/qanything:v1.2.1 -o qanything_offline.tar

3.将镜像压缩包复制到断网机器上,并且在断网机器上加载镜像

docker load -i qanything_offline.tar

(三)下载本项目

git clone https://github.com/netease-youdao/QAnything

(四)下载大模型

1.大模型支持列表

model_nameconv_templateSupported Pulic LLM List
Qwen-7B-QAnythingqwen-7b-qanythingQwen-7B-QAnything
Qwen-1_8B-Chat/Qwen-7B-Chat/Qwen-14B-Chatqwen-7b-chatQwen
Baichuan2-7B-Chat/Baichuan2-13B-Chatbaichuan2-chatBaichuan2
MiniChat-2-3BminichatMiniChat
deepseek-llm-7b-chatdeepseek-chatDeepseek
Yi-6B-ChatYi-34b-chatYi
chatglm3-6bchatglm3ChatGLM3

2.下载大模型(以qwen为例)

切换到assets/custom_models下面

cd assets/custom_models/

去魔搭社区下载Qweb-7B-QAnything

(五)运行代码

运行阿里qwen模型, 如果要换其他模型,可以查阅docs/QAnything_Startup_Usage_README.md 这个文档。

bash ./run.sh -c local -i 0 -b hf -m Qwen-7B-QAnything -t qwen-7b-qanything

运行过程要输入参数(7B) , remote 或local (我选的是remote) , 最后是ip。

remote 和local的区别在于是不是在远程服务器上运行代码,如果是的话,就选择remote,然后年后输入远程服务器ip地址,这样就能够在别的主机上访问。

在运行的过程中,可能会遇到一些前端报错的情况,不需要处理,等运行完就好。

(六)测试

安装成功后,可以在浏览器中输入以下地址进行体验:

  • 前端地址: http://{your_host}:5052/qanything
  • API地址: http://{your_host}:5052/api/

三、效果

最后我们展示下网易qanything的问答效果。

网易qanything问答演示


http://www.ppmy.cn/server/22974.html

相关文章

Airmail 5 for Mac:高效电子邮件管理软件

Airmail 5 for Mac作为一款功能强大的电子邮件客户端软件,为Mac用户带来了全新的邮件管理体验。其高效、直观的操作界面,使得用户可以轻松管理各类邮件,提升工作效率。 Airmail 5 for Mac v5.7.4中文激活版 首先,Airmail 5支持多个…

【C++】继承

这节我们来学习继承相关概念以及其周边知识。 目录 继承的概念及定义 继承的概念 继承定义 定义格式 继承基类成员访问方式的变化 基类和派生类对象赋值转换 继承中的作用域 派生类的默认成员函数 继承与友元 继承与静态成员 菱形继承及菱形虚拟继承 虚拟继承解决数…

Android system — Android链接器命名空间(Android 11后)

Android system — Android链接器命名空间 0. 前言1. 链接器命名空间1.1 工作原理1.2 配置文件格式1.2.1 “目录-区段”映射属性1.2.2 关系属性1.2.3 命名空间属性 1.3 链接器命名空间创建1.4 链接器命名空间隔离1.4.1 VNDK 配置1.4.2 VNDK Lite 配置 0. 前言 android 7.0加入了…

华为P系列“砍了”,三角美学系列全新登场

2021 年 10 月,Intel 正式带来了颠覆以往的第 12 代酷睿「混合架构」 CPU。 不知道是良心发现还是为了弥补 11 代酷睿过于拉胯表现,Intel 终于把狠活儿都用在了这代。 全新 Intel 7 工艺、全新架构、单核与多核性能大幅提升,让大家十分默契…

2024制造企业数字化趋势

2024年制造企业数字化趋势主要表现在以下几个方面: 一、人工智能的广泛应用人工智能正逐渐成为制造企业数字化转型的关键催化剂。企业开始尝试并扩大生成式人工智能和机器学习的使用范围,以提高生产力、提升客户体验并改善决策。例如,利用人工…

玩机进阶教程------高通刷机 纯adb脚本操作刷写分区 备份分区的一些简单操作步骤解析

目前来说大多数刷机平台都是使用官方提供的工具。但一般这类工具刷写校验较多。例如小米刷机平台miflash和高通qpst平台。都对于电脑系统刷写环境有一定的要求。而且平台刷写校验md5等等。虽然可以通过修改脚本去除类似校验。但还是有必要了解一些纯adb脚本来刷写9008固件的方法…

Vue2学习笔记(尚硅谷天禹老师)

目录 一、入门案例 二、模板语法 三、数据绑定 四、el和data的两种写法 五、MVVM模型 六、Object.defineproperty方法 七、Vue中响应式原理 八、数据代理 九、methods配置项 十、Vue中的事件处理 十一、Vue中的键盘事件 十二、计算属性 十三、监视属性watch 十四、绑定Class样式…

在Ubuntu 22.04上部署WendaSNS

一、前提条件 由于WendaSNS不支持PHP8,因此这里再安装php 7.4版本 1. 增加ondrej/php PPA,提供了多个PHP 版本(会因为网络原因,下载较慢) sudo add-apt-repository ppa:ondrej/php 2.更新包列表 sudo apt update 3.安装 PHP 7.4 及相关…