2024/01 作者:ihunter 0 次 0
基于企业私有知识库做智能客服、个人助理、企业“数字分身”构建等应用场景成为现有基于LLM大模型热门应用,今日推荐一个项目,可通过该项目创新出各自私有知识库产品。
地址
https://github.com/wenda-LLM/wenda#rtst%E6%A8%A1%E5%BC%8F
简介
本项目设计目标为实现针对特定环境的高效内容生成,同时考虑个人和中小企业的计算资源局限性,以及知识安全和私密性问题。为达目标,平台化集成了以下能力:
知识库:支持对接本地离线向量库、本地搜索引擎、在线搜索引擎等。
多种大语言模型:目前支持离线部署模型有chatGLM-6B\chatGLM2-6B、chatRWKV、llama系列(不推荐中文用户)、moss(不推荐)、baichuan(需配合lora使用,否则效果差)、Aquila-7B、InternLM,在线API访问openai api和chatGLM-130b api。
Auto脚本:通过开发插件形式的JavaScript脚本,为平台附件功能,实现包括但不限于自定义对话流程、访问外部API、在线切换LoRA模型。
其他实用化所需能力:对话历史管理、内网部署、多用户同时使用等。
支持的模型类别
重点介绍——知识库构建原理及过程
知识库原理:是在搜索后,生成一些提示信息插入到对话里面,知识库的数据就被模型知道了。rtst模式计算语义并在本地数据库中匹配;fess模式(相当于本地搜索引擎)、bing模式均调用搜索引擎搜索获取答案。
为防止爆显存和受限于模型理解能力,插入的数据不能太长,所以有字数和条数限制,这一问题可通过知识库增强Auto解决。
正常使用中,勾选右上角知识库即开启知识库。
有以下几种方案:
rtst模式,sentence_transformers+faiss进行索引,支持预先构建索引和运行中构建。
bing模式,cn.bing搜索,仅国内可用
bingsite模式,cn.bing站内搜索,仅国内可用
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插件
上篇:
LlamGPT - 基于Llama2的聊天机器人
下篇:
开源的AI工具APP,AIdea -支持 AI聊天、协作、图片生成