首页 > 其他分享 >知识库AI部署搭建-唯一客服系统文档中心

知识库AI部署搭建-唯一客服系统文档中心

时间:2023-05-14 14:11:07浏览次数:40  
标签:Supervisor myprogram AI 知识库 supervisorctl apt 文档 进程 docker

唯一客服系统知识库服务,支持向量形式个性化训练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

标签:Supervisor,myprogram,AI,知识库,supervisorctl,apt,文档,进程,docker
From: https://www.cnblogs.com/taoshihan/p/17399216.html

相关文章

  • 2023 SMU RoboCom-CAIP 选拔赛
    A.小斧头  #include<map>#include<set>#include<cmath>#include<queue>#include<stack>#include<cstdio>#include<vector>#include<climits>#include<cstring>#include<cstdlib>......
  • COOFDM的Matlab仿真程序,包括文档代码解释和理论解释
    COOFDM的Matlab仿真程序,包括文档代码解释和理论解释ID:89200686773201360......
  • java基于springboot基于vue的地方美食分享网站、美食管理系统,附源码+数据库+lw文档+PP
    1、项目介绍java基于springboot基于vue的地方美食分享网站、美食管理系统。(a)管理员;管理员使用本系统涉到的功能主要有:首页,个人中心,用户管理,外国美食管理,中式美食管理,热门菜品管理,论坛管理,我的收藏管理,留言板管理等功能。(b)用户;用户使用本系统涉到的功能主要有:首页,外国美食,......
  • LINUX下用YUM安装nginx出现No package nginx available.的问题与解决方案
    1.备份CentOS-Base.repomv/etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.bak2.下载新的CentOS-Base.repo到/etc/yum.repos.d/wget-o/etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-7.repo3.把服务器的包信息下载到本......
  • JS async/await 的理解和用法
    1.asyncasync是一个加在函数前的修饰符,被async定义的函数会默认返回一个Promise对象resolve的值。因此对async函数可以直接then,返回值就是then方法传入的函数。2.awaitawait也是一个修饰符,只能放在async定义的函数内。可以理解为等待。async一般用在获取res修饰,await一般......
  • m基于NSGAII优化的WSN网络覆盖率问题matlab仿真,优化激活节点数量,网络能耗以及覆盖率
    1.算法仿真效果matlab2022a仿真结果如下:2.算法涉及理论知识概要首先将一群具有多个目标的个体(解集,或者说线代里的向量形式)作为父代初始种群,在每一次迭代中,GA操作后合并父代于自带。通过非支配排序,我们将所有个体分不到不同的pareto最优前沿层次。然后根据不同层次的顺序从paret......
  • m基于NSGAII优化的WSN网络覆盖率问题matlab仿真,优化激活节点数量,网络能耗以及覆盖率
    1.算法仿真效果matlab2022a仿真结果如下:           2.算法涉及理论知识概要      首先将一群具有多个目标的个体(解集,或者说线代里的向量形式)作为父代初始种群,在每一次迭代中,GA操作后合并父代于自带。通过非支配排序,我们将所有个体分不到不......
  • 百度Chat AI上线了与Bing Chat AI的差距还是挺大的下面是两个演示案例
    询问百度AI和BingAI相同的两个问题,查看结果 回答了一堆,只有-v参数对,解释还是错误的 BingAI的结果,是完全正确的  另一个问题:我当前目录的程序执行脚本是./kefuserver-p8085-d,帮我制作一个dockerfile,要求是把当前目录的程序复制到容器,开放8085端口,执行脚本也一......
  • Fine-tuning Pretrained Network技术研究
    Fine-tuningPretrainedNetwork技术研究一、基本概念定义(1)数据域(domain)用D={χ,P(X)}表示,它包含两部分:特征空间χ和边缘概率分布P(X)其中X={x1,...xn}∈χ在文本分类任务中,把每一个单词看作二值的特征即出现或者不出现,所有检索词向量的空间就是χ,xi对应某一文本......
  • AI在教育行业应用
    AI技术在教育行业中的应用可以提高教学质量、优化学习体验,并帮助教育资源的合理分配。以下是一些AI技术及其在教育行业中的应用:1.个性化学习路径:通过分析学生的学习数据和能力水平,AI可以为每个学生提供定制化的学习路径和建议,以提高学习效果和效率。2.智能辅导:利用AI技术,可以为学......