建立企业内部(或项目)自由gpt知识库的研究v0.1

发布时间 2023-10-31 14:00:55作者: ukyo--BlackJesus

建立企业内部(或项目)自由gpt知识库的研究v0.1

本文档概述:基于之前提出的项目中可能要自建类gpt知识库的解决方案进行相关性研究和测试整理文档

https://github.com/zhayujie/chatgpt-on-wechat
根据开源框架进行部署调试

git clone https://github.com/zhayujie/chatgpt-on-wechat
cd chatgpt-on-wechat/

安装相关依赖

pip3 install -r requirements.txt

可选

pip3 install -r requirements-optional.txt

可选

pip3 install azure-cognitiveservices-speech

配置

cp config-template.json config.json

启动运行

touch nohup.out                                   # 首次运行需要新建日志文件  
nohup python3 app.py & tail -f nohup.out          # 在后台运行程序并通过日志输出二维码

![Alt text](./截屏2023-07-22 12.48.33.png)

进行扫码,使扫码微信作为gpt机器人入口使用

开启clash

[root@iZbp15w0ph797zjucisc82Z clash-for-linux]# sh start.sh
CPU architecture: x86_64

正在检测订阅地址...
Clash订阅地址可访问!                                      [  OK  ]

正在下载Clash配置文件...
配置文件config.yaml下载成功!                              [  OK  ]

判断订阅内容是否符合clash配置文件标准:
解码后的内容不符合clash标准,尝试将其转换为标准格式
配置文件已成功转换成clash标准格式

正在启动Clash服务...
服务启动成功!                                             [  OK  ]

Clash Dashboard 访问地址: http://<ip>:9090/ui
Secret: 1ded9722100be88737498aea32b47fc2d912859accde1f503728a61ea870f008

请执行以下命令加载环境变量: source /etc/profile.d/clash.sh

请执行以下命令开启系统代理: proxy_on

若要临时关闭系统代理,请执行: proxy_off

微信群效果
Alt text
企业微信群效果
Alt text

初步结论:与最终针对性(针对性行业)的私有知识库建立还有一些区别,需要使用如

对于文本语义相似度的计算,通常可以通过以下几种方法来实现:

  1. 基于词袋模型(Bag of Words,BoW)或TF-IDF模型:这些是最基础的方法,它们将文本转换为向量,然后计算向量之间的余弦相似度。但是,这些方法无法捕获词序和语义信息。

  2. 基于词向量(Word Embeddings):这是一种更先进的方法,如Word2Vec, GloVe等,它们可以将词语转化为高维空间中的向量,从而能够捕获词语间的语义信息。通过计算词向量的平均值,可以得到整个句子的向量表示,然后计算向量间的余弦相似度。

  3. 基于预训练语言模型(Pre-trained Language Models):如BERT, RoBERTa, GPT等,这些模型能够在句子级别上获取丰富的上下文信息,从而更好地理解语义信息。

  4. 基于Siamese网络或对比损失(Contrastive Loss)的深度学习模型:这些模型被训练来明确地优化句子或文档的相似性度量。

对于工具和中间件,以下是一些可能的选择:

  • NLTKSpacy:这是两个非常流行的自然语言处理库,它们提供了词袋模型和TF-IDF等基础模型的实现。

  • Gensim:这是一个专门用于主题建模和文档相似度的库,它提供了Word2Vec, Doc2Vec, TF-IDF等模型的实现。

  • Scikit-learn:这是一个广泛使用的机器学习库,它包含了许多特征提取和相似度计算的工具。

  • Hugging Face's Transformers:这是一个包含了BERT, GPT, RoBERTa等预训练语言模型的库。

  • Sentence Transformers:这是一个基于Hugging Face's Transformers开发的库,专门用于计算句子级别的语义相似度。

  • Faiss:这是Facebook开发的一个库,用于高效地进行大规模向量相似度搜索。

  • Elasticsearch:这是一个分布式的搜索和分析引擎,它可以用于存储文档和查询相似文档。

具体的选择应根据你的具体需求和场景来确定。