【AI】使用阿里云免费服务器搭建Langchain-Chatchat本地知识库

书接上文,由于家境贫寒的原因,导致我本地的GPU资源无法满足搭建Langchain-Chatchat本地知识库的需求,具体可以看一下这篇文章,于是我只能另辟蹊径,考虑一下能不能白嫖一下云服务器资源,于是去找网上找,您还别说,还真有,具体的领取方法可以查看我的这篇文章:【AI】阿里云免费GPU服务资源领取方法。

1.准备工作

1.1进入云服务器

服务器资源准备好之后就可以去做我们的开发任务了,首先在阿里云人工智能PAI控制台打开我们的实例。
在这里插入图片描述
打开之后如下图所示:
在这里插入图片描述

1.2查看服务器磁盘情况,创建本地工作目录

这一步可以省略,只是为了保险起见,我们查看一下磁盘容量及挂载情况,因为模型通常比较大,会比较浪费磁盘资源,我们先查看一下最大的磁盘资源挂载哪个目录下面,可以在那个目录下面操作我们的数据。

在主界面的Terminal页面,输入lsblk查看磁盘挂载情况:
在这里插入图片描述
可以看到我们当前的目录/mnt/workspace是建立在100G的磁盘之上的,可以放心使用。

1.3拉取源码,并安装依赖

拉取源码可以直接使用Git工具,这个镜像中已经安装完成,不需要我们再进行安装了。
我们在工作目录下创建一个文件夹,用于我们的项目,然后再将代码拉去到这个文件夹下面。

mkdir chatchat
cd chatchat
git clone https://github.com/chatchat-space/Langchain-Chatchat.git
# 进入项目内部
cd # 进入目录
cd Langchain-Chatchat
# 安装全部依赖
pip install -r requirements.txt 

1.4下载模型文件

由于我们在服务器上,下载速度不需要担心,我们可以使用git来拉取模型文件。

git lfs install
git clone https://huggingface.co/THUDM/chatglm3-6b
git clone https://huggingface.co/BAAI/bge-large-zh

这里的模型文件位于huggingface,如果不具备魔法上网的能力话,是没有办法拉取下来的,所以我们换成国内镜像魔搭社区

git lfs install
git clone https://www.modelscope.cn/ZhipuAI/chatglm3-6b.git
git clone https://www.modelscope.cn/AI-ModelScope/bge-large-zh.git

2.运行模型

2.1 初始化知识库和配置文件

python copy_config_example.py
python init_database.py --recreate-vs

2.2 一键启动

python startup.py -a

等待模型启动
在这里插入图片描述
点击url就可以跳转到我们本地的浏览器,展示知识库对话界面:
在这里插入图片描述

3.本地知识库

3.1 测试sample知识库

模型启动后自动创建了一个测试的知识库,我们可以用来测试一下知识库对话:
左侧侧边栏选择:
在这里插入图片描述
知识库这边默认就是sample知识库
在这里插入图片描述
然后可以在右边的对话框中输入测试的问题了:

在这里插入图片描述

3.2 创建个人知识库

在知识库管理中选择新建知识库:
在这里插入图片描述
填入知识库的名字即可创建完成。
然后上传知识库文档,注意如果上传txt文档时,要注意文档编码是否是utf-8,否则容易出错
在这里插入图片描述
选中下图中的文档,然后点击添加至向量库,然后构建向量,点击依据源文件重建向量库完成知识库创建
在这里插入图片描述
然后就可以进行本地知识库问答了。
测试中使用了ChatGLM3-6B模型和embedding模型bge-large-zh,由于显存问题,又出现了out of memory的问题,看来16g的显存也不足以满足模型运行需求。测试使用int8量化模型:
修改配置文件:
在这里插入图片描述
然后重新运行python startup.py -a,可以正常使用了。问答效果如下:

在这里插入图片描述

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

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

相关文章

Java BigDecimal 的舍入模式(RoundingMode)

BigDecimal 有 8 种 RoundingMode(舍入模式) ROUND_UP 进位制:不管保留数字后面是大是小 (0 除外) 都会进 1。结果会向原点的反方向对齐,正数向正无穷方向对齐,负数向负无穷方向对齐。 BigDecimal a new BigDecimal…

docker笔记2-docker 容器

docker 容器的运行 docker run 镜像名:版本标签: 创建 启动容器 docker run 镜像名 ,如果镜像不存在,则会在线下载镜像。 注意事项: 容器内的进程必须处于前台运行状态,不能后台(守护进程运行…

财务数据智能化:用AI工具高效制作财务分析PPT报告

Step1: 文章内容提取 WPS AI 直接打开文件,在AI对话框里输入下面指令: 假设你是财务总监,公司考虑与茅台进行业务合作、投资或收购,请整合下面茅台2021年和2022年的财务报告信息。整理有关茅台财务状况和潜在投资回报的信息&…

springboot 快速上手

Spring Boot是一个用于快速构建基于Spring的应用程序的开发框架。它简化了Spring应用程序的初始化和配置过程,提供了一种约定优于配置的方式来构建应用程序。 内嵌tomat、jetty可以生成可以独立运行的jar包,不需要打成war包。 简化配置,大部…

【PostGIS】在Java中操作postgis——使用springboot+Maven+mybatis框架

前言: PostgreSQL15对应PostGIS安装教程及空间数据可视化 空间数据库-常用空间函数 完成PostGIS的安装与配置后,让我们来写一个Java操作postgis数据库的demo吧~ 使用工具: NavicatIDEA 一、PostGIS数据库准备 在Navicat中新建一个postgr…

docker 镜像仓库harbor安装

1、windows安装: docker pull bitnami/harbor-registry 2、linux安装: K8s集群使用容器镜像仓库Harbor_k8s使用harbor-CSDN博客

Ubuntu系统如何安装SVN服务端并通过客户端无公网ip实现远程访问?

文章目录 前言1. Ubuntu安装SVN服务2. 修改配置文件2.1 修改svnserve.conf文件2.2 修改passwd文件2.3 修改authz文件 3. 启动svn服务4. 内网穿透4.1 安装cpolar内网穿透4.2 创建隧道映射本地端口 5. 测试公网访问6. 配置固定公网TCP端口地址6.1 保留一个固定的公网TCP端口地址6…

【Dart】P1 入口方法、注释方法、变量与常量、命名规则

Dart 入口方法、注释方法、变量与常量、命名规则 入口方法注释方法变量与常量变量变量名称命名规则常量 入口方法 入口方法一:main() 方法; 使用条件:有返回值; 代码示例: main() {print(nihao dart); }入口方法二&a…

LeetCode 22 括号生成

题目描述 括号生成 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例 1: 输入:n 3 输出:["((()))","(()())","(())()","()((…

测绘资质人员培训与岗位管理制度

人员培训与岗位管理制度 建立健全人员培训与岗位管理制度,明确岗位职责、岗前培训考核、继续教育等要求

设 备 管 理

(1) 简单叙述设备管理的任务和功能。 解: 设备管理的主要任务包括: 响应用户进程提出的I/O请求,选择和分配I/O设备进行数据传输操作。控制I/O设备和CPU(或内存)之间进行数据交换,提高设备和设备之间、CPU和设备之间以及进程和进程…

实验三:路由器的管理与配置

实验目的: 了解路由器的作用熟悉路由器的基本配置方法熟悉Packet Tracer 路由模拟软件的使用 实验环境: Windows 10 下的 Cisco Packet Tracer 实验内容: 熟悉Packet Tracer组件搭建实验拓扑 实验步骤: 1.连接设备 2.配置IP地…

开发常需要的好用API汇总

手机号码归属地:可根据手机号码查询其省市区、运营商区号行政区划代码等信息。 上亿条数据囊括最新的170、166、147等号段,更新及时、准确度高。二维码识别OCR:对图片中的二维码、条形码进行检测和识别,返回存储的文字内容。短信验…

【Linux】解释为什么“I/O 等待”的指标可能是误导的。

解释为什么“I/O 等待”的指标可能是误导的。 I/O等待指标是用来衡量I/O子系统性能的重要指标之一,它表示等待I/O操作完成的时间。然而,I/O等待指标有时可能会误导,原因如下: I/O操作类型:I/O等待指标不能告诉我们实…

python定义代码块的符号,python中代码块所属关系

大家好,小编来为大家解答以下问题,python中代码块所属关系的语法,python定义代码块的符号,今天让我们一起来看看吧! 本文章主要用于平时Python3学习和使用中积累的比较常用的代码块。代码都是经过验证可行的python简单…

深度学习计算数据集里所有图像像素点的均值方差

代码怕忘记,现在贴上来,以防丢失 from torch.utils.data import DataLoader from torchvision.datasets import ImageFolder import torch from torchvision import transformsdef get_mean_and_std(data_path, in_chans3):dataset ImageFolder(rootda…

RocketMQ常见问题分析

目录 1. RocketMQ如何保证消息不丢失 1.1 分析消息丢失场景 1.2 解决方案 1.2.1 保证消息生产不丢失 1.2.1.1 生产消息时不使用单向发送消息发送模式 1.2.1.2 生产者使用事务消息机制 1.2.2 保证消息存储不丢失 1.2.3 保证消息消费不丢失 1.2.4 RocketMQ特有的问题&…

4.8 【共享源】流的消费者

一,什么是流的消费者? 消费者从生产者那里获取内容,以进行下一步的处理。 消费者从生产者那里获取内容,并对其进行某种形式的处理(例如图像处理、合成)。它最终也可以显示来自生产者的内容。 通常,我们需要在消费者应用程序中执行接下来的步骤,以从生产者那里获取内…

Echarts legend属性使用

Echarts的legend属性是对图例组件的相关配置 而legend就是Echarts图表中对图形的解释部分: 其中legend自身常用的配置属性如下: orient 设置图例的朝向 属性值: vertical // 垂直显示 或者 horizontal // 水平显示 legend: {orient: ver…

Pandas有了平替Polars

Polars是一个Python数据处理库,旨在提供高性能、易用且功能丰富的数据操作和分析工具。它的设计灵感来自于Pandas,但在性能上更加出色。 Polars具有以下主要特点: 强大的数据操作功能:Polars提供了类似于Pandas的数据操作接口&am…