闻达(wenda):基于大模型的企业私有知识库构建平台

2024/01 作者:ihunter 0 0

基于企业私有知识库做智能客服、个人助理、企业“数字分身”构建等应用场景成为现有基于LLM大模型热门应用,今日推荐一个项目,可通过该项目创新出各自私有知识库产品。

20231014_161646_012.jpg

地址

https://github.com/wenda-LLM/wenda#rtst%E6%A8%A1%E5%BC%8F

简介

本项目设计目标为实现针对特定环境的高效内容生成,同时考虑个人和中小企业的计算资源局限性,以及知识安全和私密性问题。为达目标,平台化集成了以下能力:

  1. 知识库:支持对接本地离线向量库、本地搜索引擎、在线搜索引擎等。

  2. 多种大语言模型:目前支持离线部署模型有chatGLM-6B\chatGLM2-6B、chatRWKV、llama系列(不推荐中文用户)、moss(不推荐)、baichuan(需配合lora使用,否则效果差)、Aquila-7B、InternLM,在线API访问openai api和chatGLM-130b api。

  3. Auto脚本:通过开发插件形式的JavaScript脚本,为平台附件功能,实现包括但不限于自定义对话流程、访问外部API、在线切换LoRA模型。

其他实用化所需能力:对话历史管理、内网部署、多用户同时使用等。

支持的模型类别

20231014_161646_013.jpg

重点介绍——知识库构建原理及过程

知识库原理:是在搜索后,生成一些提示信息插入到对话里面,知识库的数据就被模型知道了。rtst模式计算语义并在本地数据库中匹配;fess模式(相当于本地搜索引擎)、bing模式均调用搜索引擎搜索获取答案。

为防止爆显存和受限于模型理解能力,插入的数据不能太长,所以有字数和条数限制,这一问题可通过知识库增强Auto解决。

正常使用中,勾选右上角知识库即开启知识库。

20231014_161646_014.jpg

有以下几种方案:

  1. rtst模式,sentence_transformers+faiss进行索引,支持预先构建索引和运行中构建。

  2. bing模式,cn.bing搜索,仅国内可用

  3. bingsite模式,cn.bing站内搜索,仅国内可用

  4. fess模式,本地部署的fess搜索,并进行关键词提取

rtst模式

sentence_transformers+faiss进行索引、匹配,并连同上下文返回。目前支持txt和pdf格式。

支持预先构建索引和运行中构建,其中,预先构建索引强制使用cuda,运行中构建根据config.yml(复制example.config.yml)中rtst段的device(embedding运行设备)决定,对于显存小于12G的用户建议使用CPU。

Windows预先构建索引运行:
plugins/buils_rtst_default_index.bat。

Linux直接使用wenda环境执行 python plugins/gen_data_st.py

需下载模型置于model文件夹,并将txt格式语料置于txt文件夹。

备注模型:

1.GanymedeNil/text2vec-large-chinese 不再推荐,不支持英文且显存占用高

2.moka-ai/m3e-base 推荐


fess模式

在本机使用默认端口安装fess后可直接运行。否则需修改config.yml(复制example.config.yml)中fess_host的127.0.0.1:8080为相应值。

FESS安装教程:
https://github.com/wenda-LLM/wenda/blob/main/install_fess.md

基于本项目的二次开发

wenda-webui地址:
https://github.com/AlanLee1996/wenda-webui

word插件

插件地址:
https://qun.qq.com/qqweb/qunpro/share?_wv=3&_wwv=128&appChannel=share&inviteCode=20s7Vs0iZMx&contentID=1mlnYv&businessType=2&from=181174&shareSource=5&biz=ka


赞(0) 更多分享

上篇: LlamGPT - 基于Llama2的聊天机器人
下篇: 使用Triton部署chatglm2-6b模型