唯一客服系统知识库服务,支持向量形式个性化训练ChatGPT,该服务是独立搭建的,下面是一些介绍
安装docker
现在基于GPT相应实现自建本地知识库,必不可少的就是向量数据库,现在介绍下qdrant向量数据库的安装。
因为qdrant向量数据库只支持docker部署,所以在服务器上安装一下docker,下面是在ubutnu下安装docker
apt update
apt install apt-transport-https ca-certificates curl gnupg lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
apt update
apt install docker-ce docker-ce-cli containerd.io
如果你使用宝塔面板,那么就更简单了,提供可视化的界面进行管理
安装向量数据库Qdrant
拉取镜像
docker pull qdrant/qdrant
运行服务
docker run -d -p 6333:6333 qdrant/qdrant
部署知识库服务
知识库服务的程序文件如下图所示
.env文件是一些配置信息,可以配置openai 的key 或者 是其他第三方代理的域名和代理的key
OPENAI_KEY=api2d的key
OPENAI_API_BASE=https://openai.api2d.net
QDRANT_BASE=127.0.0.1
QDRANT_PORT=6333
守护模式启动服务(Supervisor)
安装Supervisor
一般情况下,我们使用golang开发的服务,或者其他语言监听端口的服务,都没有守护进程的功能
那么我们就可以使用Supervisor来对进程进行管理
Supervisor是一种常用的进程管理工具,可以帮助你管理Linux系统中的进程,确保它们在后台一直运行。使用Supervisor可以实现进程的自动重启、监控进程状态、限制进程资源等功能,非常适用于需要长时间运行的服务程序。
以下是在Linux下使用Supervisor的一些基本步骤:
安装Supervisor
在Linux系统中,你可以使用包管理工具来安装Supervisor,例如在Ubuntu系统中,可以使用以下命令进行安装:
apt-get install supervisor
配置Supervisor
Supervisor的配置文件通常位于/etc/supervisor/conf.d/目录下,你可以在该目录下创建一个以.conf为后缀的配置文件,例如myprogram.conf,然后在该文件中添加要管理的进程的配置信息。
以下是一个示例配置文件的内容:
[program:myprogram]
command=/usr/bin/python /path/to/myprogram.py
directory=/path/to/working/directory
user=myuser
autostart=true
autorestart=true
startretries=3
redirect_stderr=true
stdout_logfile=/var/log/myprogram.log
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=10
该配置文件定义了一个名为myprogram的进程
该进程的命令为/usr/bin/python /path/to/myprogram.py
进程工作目录为/path/to/working/directory
运行该进程的用户为myuser
开启自动启动和自动重启功能,最多重启3次
将标准输出重定向到/var/log/myprogram.log文件中
最大文件大小为50MB
最多保留10个备份日志文件。
你可以根据自己的需要修改相应的配置信息。
启动Supervisor
配置完成后,你可以使用以下命令启动Supervisor服务:
service supervisor start
启动Supervisor后,它会自动加载配置文件并启动相应的进程。你可以使用以下命令来检查Supervisor服务状态:
service supervisor status
使用Supervisor管理进程
使用Supervisor管理进程非常简单,你可以使用以下命令对进程进行启动、停止、重启、查看状态等操作:
启动进程:
sudo supervisorctl start myprogram
停止进程:
sudo supervisorctl stop myprogram
重启进程:
sudo supervisorctl restart myprogram
查看进程状态:
supervisorctl status
如果配置完成后,使用supervisorctl start myprogram ,报错找不到进程,
那么可以尝试下面这条更新命令
supervisorctl update
如果配置正确会输出类似下面这样
myprogram : added process group
然后查看下进程状态
supervisorctl status
会看到
supervisor> status
myprogram RUNNING pid 12345, uptime 1 day, 2:34:56