大模型私有化部署实践(六):RAG

294 阅读2分钟

专栏

QAnything简介

  • QAnything 是一款基于 RAG(Retrieval-Augmented Generation)技术的智能问答工具,旨在通过结合检索与生成模型的能力,提供精准、高效的问答服务。RAG 是一种先进的自然语言处理框架,它通过从大规模知识库中检索相关信息,并结合生成模型生成连贯、准确的回答。QAnything 利用这一技术,能够快速理解用户问题,并从海量数据中提取最相关的信息,生成高质量的答案。

  • QAnything 的核心优势在于其强大的检索能力和生成模型的结合。它不仅能够处理开放域问题,还能在特定领域(如医疗、法律、科技等)提供专业化的解答。通过不断优化检索算法和生成模型,QAnything 能够有效减少错误信息,提升回答的准确性和可信度。

  • 此外,QAnything 支持多轮对话,能够根据上下文调整回答,提供更加个性化的服务。其应用场景广泛,包括智能客服、教育辅助、知识管理等。无论是企业还是个人用户,QAnything 都能通过 RAG 技术,为用户提供高效、智能的问答体验。

QAnything使用

  • 手动安装
conda create -n qanything-python python=3.10
conda activate qanything-python
cd /usr/local/src
git clone -b qanything-python https://github.com/netease-youdao/QAnything.git
cd QAnything
pip install -r requirements.txt
  • 下载Qwen-7B-QAnything官方模型, 存放下面路径以及下载脚本
# python脚本
import torch  
from modelscope import snapshot_download, AutoModel, AutoTokenizer  
import os  
  
model_dir = snapshot_download('netease-youdao/Qwen-7B-QAnything', cache_dir='/usr/local/QAnything/assets/custom_models', revision='master')  
print(model_dir)

# 这个是路径
/usr/local/src/QAnything/assets/custom_models/netease-youdao/Qwen-7B-QAnything
  • 启动, 我的一张A10显卡实际才23G多,要运行官方提供的7B模型,这块需要修改模型的max token以及报错的部分代码逻辑判断, 模型max token修改
cd /usr/local/src/QAnything
vim assets/custom_models/netease-youdao/Qwen-7B-QAnything/config.json
8192 -> 6666 seq_length max_seq_length
  • 报显存不足的错只需要要看对应堆栈并且改相关if判断逻辑代码就好

  • 启动

conda activate qanything-python  
cd /usr/local/src/QAnything  
bash scripts/base_run.sh -s 'LinuxOrWSL' -m 6666 -max_seq_len 6666 -q 8777 -M 7B

QAnything Web

  • 新建知识库

知识库.png

  • 上传文档

上传文档.png

  • 上传了pytorch相关的文章

上传了pytorch相关的文章.png

  • 问答, 看着能精准回答

问答.png