Langchain |
您所在的位置:网站首页 › 为什么隔离要钱 › Langchain |
Langchain-Chatchat
概述
Langchain-Chatchat是一个基于ChatGLM大语言模型与Langchain应用框架实现,开源、可离线部署的检索增强生成(RAG)大模型的本地知识库问答应用项目。 GitHub:https://github.com/chatchat-space/Langchain-Chatchat 实现原理本项目实现原理如下图所示,过程包括加载文件 -> 读取文本 -> 文本分割 -> 文本向量化 -> 问句向量化 -> 在文本向量中匹配出与问句向量最相似的 top k个 -> 匹配出的文本作为上下文和问题一起添加到 prompt中 -> 提交给 LLM生成回答。 使用Ubuntu系统,其他系统可能出现系统兼容性问题 Linux Ubuntu 22.04.5 kernel version 6.7最低要求 该要求仅针对标准模式,轻量模式使用在线模型,不需要安装torch等库,也不需要显卡即可运行。 Python 版本: >= 3.8(很不稳定), < 3.11 CUDA 版本: >= 12.1推荐要求 开发者在以下环境下进行代码调试,在该环境下能够避免最多环境问题。 Python 版本 == 3.10.12 CUDA 版本: == 12.3 硬件要求如果为了体验使用该项目,可以使用线上模型,不需要太高的硬件要求。 如果想要顺利在GPU运行本地模型的 int4 量化版本,至少需要以下的硬件配置 ChatGLM2-6B & LLaMA-7B 最低显存要求: 7GB 推荐显卡: RTX 3060, RTX 2060LLaMA-13B 最低显存要求: 11GB 推荐显卡: RTX 2060 12GB, RTX 3060 12GB, RTX 3080, RTX A2000Qwen-14B-Chat 最低显存要求: 13GB 推荐显卡: RTX 3090LLaMA-30B 最低显存要求: 22GB 推荐显卡: RTX A5000, RTX 3090, RTX 4090, RTX 6000, Tesla V100, RTX Tesla P40LLaMA-65B 最低显存要求: 40GB 推荐显卡: A100, A40, A6000注意: 若使用 int8 推理,则显存大致为 int4 推理要求的 1.5 倍 若使用 fp16 推理,则显存大致为 int4 推理要求的 2.5 倍 数据仅为估算,实际情况以 nvidia-smi 占用为准。 同时,Embedding 模型将会占用 1-2G 的显存,历史记录最多会占用数 G 显存,因此,需要多冗余一些显存。 内存最低要求: 内存要求至少应该比模型运行的显存大。 部署 拉取仓库 git clone https://github.com/chatchat-space/Langchain-Chatchat.git # 进入目录 cd Langchain-Chatchat 创建虚拟环境创建一个虚拟环境,使项目与项目间进行软件版本隔离 conda create -n chat python=3.10 # 激活使用虚拟环境 conda activate chat 安装全部依赖在虚拟环境内安装项目的依赖 pip install -r requirements.txt pip install -r requirements_api.txt pip install -r requirements_webui.txt默认依赖包括基本运行环境(FAISS向量库)。如果要使用 milvus/pg_vector 等向量库,请将 requirements.txt 中相应依赖取消注释再安装。 初始化配置文件 python copy_config_example.py脚本将会将所有config目录下的配置文件样例复制一份到config目录下,方便开发者进行配置。 接着,开发者可以根据自己的需求,对配置文件进行修改。 模型下载取决于自己的网络情况,这里需要提前下载THUDM/chatglm2-6b与BAAI/bge-large-zh到本地,然后在model_config.py中配置 1.若网络良好(全球畅通无阻)则完全不需要先下载模型,在执行过程中会自动下载相关模型。 2.如果网络存在问题,则可以事先下载好需要的模型,然后在model_config.py文件中配置,具体配置参考异常3中的处理办法 注意: Windows环境下,会默认自动将该模型下载到C:\Users\Admin\.cache\torch\sentence_transformers目录下,若下载失败,参考异常3中的处理办法 初始化知识库第一次运行本项目,知识库尚未建立,或者配置文件中的知识库类型、嵌入模型发生变化,需要以下命令初始化或重建知识库: python init_database.py --recreate-vs如果已经有创建过知识库,可以先执行以下命令创建或更新数据库表: $ python init_database.py --create-tables第一次使用时,会自动下载BAAI/bge-large-zh模型,用于知识库的初始化构建 (chat) root@master:~/Langchain-Chatchat# python init_database.py --recreate-vs recreating all vector stores 2023-12-20 21:40:48,647 - faiss_cache.py[line:80] - INFO: loading vector store in 'samples/vector_store/bge-large-zh' from disk. 2023-12-20 21:40:48,999 - SentenceTransformer.py[line:66] - INFO: Load pretrained SentenceTransformer: /root/models/bge-large-zh Batches: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |