修复https://github.com/wenda-LLM/wenda/issues/548
本项目设计目标为实现针对特定环境的高效内容生成,同时考虑个人和中小企业的计算资源局限性,以及知识安全和私密性问题。为达目标,平台化集成了以下能力:
chatGLM-6B\chatGLM2-6B
chatRWKV
llama系列(不推荐中文用户)
moss(不推荐)
baichuan(需配合lora使用,否则效果差)
Aquila-7B
InternLM
openai api
chatGLM-130b api
交流QQ群:LLM使用和综合讨论群162451840;知识库使用讨论群241773574(已满,请去QQ频道讨论);Auto开发交流群744842245;QQ频道
162451840
241773574(已满,请去QQ频道讨论)
744842245
https://pan.baidu.com/s/1idvot-XhEvLLKCbjDQuhyg?pwd=wdai
链接:https://pan.quark.cn/s/c4cb08de666e 提取码:4b4R
默认参数在6G显存设备上运行良好。最新版懒人版已集成一键更新功能,建议使用前更新。
使用步骤(以glm6b模型为例):
CUDA11.8
运行GLM6B.bat
pip install -r requirements/requirements.txt
根据需要,下载对应模型。
建议使用chatRWKV的RWKV-4-Raven-7B-v11,或chatGLM-6B。
把example.config.yml重命名为config.yml,根据里面的参数说明,填写你的模型下载位置等信息
config.yml
auto功能通过JavaScript脚本实现,使用油猴脚本或直接放到autos目录的方式注入至程序,为闻达附加各种自动化功能。
autos
clipboard-write
在左侧功能栏添加内容:
func.push({ name: "名称", question: async () => { let answer=await send(app.question) alert(answer) }, })
在下方选项卡添加内容:
app.plugins.push({ icon: 'note-edit-outline', url: "/static/wdnote/index.html" })
在指定RTST知识库查找:
find_in_memory = async (s, step, memory_name) => { response = await fetch("/api/find_rtst_in_memory", { method: 'post', body: JSON.stringify({ prompt: s, step: step, memory_name: memory_name }), headers: { 'Content-Type': 'application/json' } }) let json = await response.json() console.table(json) app.zhishiku = json return json }
上传至指定RTST知识库:
upload_rtst_zhishiku = async (title, txt,memory_name) => { response = await fetch("/api/upload_rtst_zhishiku", { method: 'post', body: JSON.stringify({ title: title, txt: txt, memory_name: memory_name }), headers: { 'Content-Type': 'application/json' } }) alert(await response.text()) }
保存指定RTST知识库:
save_rtst = async (memory_name) => { response = await fetch("/api/save_rtst_zhishiku", { method: 'post', body: JSON.stringify({ memory_name: memory_name }), headers: { 'Content-Type': 'application/json' } }) alert(await response.text()) }
访问SD_agent:
response = await fetch("/api/sd_agent", { method: 'post', body: JSON.stringify({ prompt: `((masterpiece, best quality)), photorealistic,` + Q, steps: 20, // sampler_name: "DPM++ SDE Karras", negative_prompt: `paintings, sketches, (worst quality:2), (low quality:2), (normal quality:2), lowres, normal quality, ((monochrome)), ((grayscale)), skin spots, acnes, skin blemishes, age spot, glans` }), headers: { 'Content-Type': 'application/json' } }) try { let json = await response.json() add_conversation("AI", '") } catch (error) { alert("连接SD API失败,请确认已开启agents库,并将SD API地址设置为127.0.0.1:786") }
<Library>
以上功能主要用于展示auto用法,进一步能力有待广大用户进一步发掘。
auto例程
知识库原理是在搜索后,生成一些提示信息插入到对话里面,知识库的数据就被模型知道了。rtst模式计算语义并在本地数据库中匹配;fess模式(相当于本地搜索引擎)、bing模式均调用搜索引擎搜索获取答案。
为防止爆显存和受限于模型理解能力,插入的数据不能太长,所以有字数和条数限制,这一问题可通过知识库增强Auto解决。
正常使用中,勾选右上角知识库即开启知识库。
有以下几种方案:
支持预先构建索引和运行中构建,其中,预先构建索引强制使用cuda,运行中构建根据config.yml(复制example.config.yml)中rtst段的device(embedding运行设备)决定,对于显存小于12G的用户建议使用CPU。
cuda
rtst
device(embedding运行设备)
CPU
Windows预先构建索引运行:plugins/buils_rtst_default_index.bat。
plugins/buils_rtst_default_index.bat
Linux直接使用wenda环境执行 python plugins/gen_data_st.py
python plugins/gen_data_st.py
需下载模型置于model文件夹,并将txt格式语料置于txt文件夹。
闻达用户“帛凡”,训练并提供的权重合并模型和lora权重文件,详细信息见https://huggingface.co/fb700/chatglm-fitness-RLHF ,使用该模型或者lora权重文件,对比hatglm-6b、chatglm2-6b、百川等模型,在闻达知识库平台中,总结能力可获得显著提升。
fess_host
127.0.0.1:8080
安装 utool 工具,uTools 是一个极简、插件化的桌面软件,可以安装各种使用 nodejs 开发的插件。您可以使用插件对闻达的知识库进行数据清洗。请自行安装以下推荐插件:
运行:run_GLM6B.bat。
run_GLM6B.bat
模型位置等参数:修改config.yml(复制example.config.yml)。
默认参数在GTX1660Ti(6G显存)上运行良好。
支持torch和cpp两种后端实现,运行:run_rwkv.bat。
run_rwkv.bat
模型位置等参数:见config.yml(复制example.config.yml)。
可使用内置脚本对模型量化,运行:cov_torch_rwkv.bat。此操作可以加快启动速度。
cov_torch_rwkv.bat
在安装vc后支持一键启动CUDA加速,运行:run_rwkv_with_vc.bat。强烈建议安装!!!
run_rwkv_with_vc.bat
可使用内置脚本对torch版模型转换和量化。 运行:cov_ggml_rwkv.bat。
cov_ggml_rwkv.bat
设置strategy诸如”Q8_0->8”即支持量化在cpu运行,速度较慢,没有显卡或者没有nvidia显卡的用户使用。
注意:默认windows版本文件为AVX2,默认Liunx版本文件是在debian sid编译的,其他linux发行版本未知。
可以查看:saharNooby/rwkv.cpp,下载其他版本,或者自行编译。
pip install FlagAI
run_Aquila.bat
模型位置等参数:见config.yml(复制example.config.yml)。注意模型要在这里下:https://model.baai.ac.cn/model-detail/100101
项目调用闻达的 api 接口实现类似于 new bing 的功能。 技术栈:vue3 + element-plus + ts
通过宏,调用闻达HTTP API
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
闻达:一个大规模语言模型调用平台
本项目设计目标为实现针对特定环境的高效内容生成,同时考虑个人和中小企业的计算资源局限性,以及知识安全和私密性问题。为达目标,平台化集成了以下能力:
chatGLM-6B\chatGLM2-6B
、chatRWKV
、llama系列(不推荐中文用户)
、moss(不推荐)
、baichuan(需配合lora使用,否则效果差)
、Aquila-7B
、InternLM
,在线API访问openai api
和chatGLM-130b api
。交流QQ群:LLM使用和综合讨论群
162451840
;知识库使用讨论群241773574(已满,请去QQ频道讨论)
;Auto开发交流群744842245
;QQ频道安装部署
各模型功能说明
懒人包
百度云
https://pan.baidu.com/s/1idvot-XhEvLLKCbjDQuhyg?pwd=wdai
夸克
链接:https://pan.quark.cn/s/c4cb08de666e 提取码:4b4R
介绍
默认参数在6G显存设备上运行良好。最新版懒人版已集成一键更新功能,建议使用前更新。
使用步骤(以glm6b模型为例):
CUDA11.8
,从网盘下载并安装。运行GLM6B.bat
。自行安装
PS:一定要看example.config.yml,里面对各功能有更详细的说明!!!1.安装库
通用依赖:pip install -r requirements/requirements.txt
根据使用的 知识库进行相应配置2.下载模型
根据需要,下载对应模型。
建议使用chatRWKV的RWKV-4-Raven-7B-v11,或chatGLM-6B。
3.参数设置
把example.config.yml重命名为
config.yml
,根据里面的参数说明,填写你的模型下载位置等信息Auto
auto功能通过JavaScript脚本实现,使用油猴脚本或直接放到
autos
目录的方式注入至程序,为闻达附加各种自动化功能。Auto 开发函数列表
clipboard-write
复制文本Auto 开发涉及代码段
在左侧功能栏添加内容:
在下方选项卡添加内容:
在指定RTST知识库查找:
上传至指定RTST知识库:
保存指定RTST知识库:
访问SD_agent:
部分内置 Auto 使用说明
<Library>
)调用Stable Diffusion接口绘图以上功能主要用于展示auto用法,进一步能力有待广大用户进一步发掘。

auto例程
知识库
知识库原理是在搜索后,生成一些提示信息插入到对话里面,知识库的数据就被模型知道了。rtst模式计算语义并在本地数据库中匹配;fess模式(相当于本地搜索引擎)、bing模式均调用搜索引擎搜索获取答案。
为防止爆显存和受限于模型理解能力,插入的数据不能太长,所以有字数和条数限制,这一问题可通过知识库增强Auto解决。
正常使用中,勾选右上角知识库即开启知识库。

有以下几种方案:
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文件夹。
使用微调模型提高知识库回答准确性
闻达用户“帛凡”,训练并提供的权重合并模型和lora权重文件,详细信息见https://huggingface.co/fb700/chatglm-fitness-RLHF ,使用该模型或者lora权重文件,对比hatglm-6b、chatglm2-6b、百川等模型,在闻达知识库平台中,总结能力可获得显著提升。
模型
fess模式
在本机使用默认端口安装fess后可直接运行。否则需修改config.yml
(复制example.config.yml)中fess_host
的127.0.0.1:8080
为相应值。FESS安装教程知识库调试
清洗知识库文件
安装 utool 工具,uTools 是一个极简、插件化的桌面软件,可以安装各种使用 nodejs 开发的插件。您可以使用插件对闻达的知识库进行数据清洗。请自行安装以下推荐插件:
模型配置
chatGLM-6B/chatGLM2-6B
运行:
run_GLM6B.bat
。模型位置等参数:修改
config.yml
(复制example.config.yml)。默认参数在GTX1660Ti(6G显存)上运行良好。
chatRWKV
支持torch和cpp两种后端实现,运行:
run_rwkv.bat
。模型位置等参数:见
config.yml
(复制example.config.yml)。torch
可使用内置脚本对模型量化,运行:
cov_torch_rwkv.bat
。此操作可以加快启动速度。在安装vc后支持一键启动CUDA加速,运行:
run_rwkv_with_vc.bat
。强烈建议安装!!!cpp
可使用内置脚本对torch版模型转换和量化。 运行:
cov_ggml_rwkv.bat
。设置strategy诸如”Q8_0->8”即支持量化在cpu运行,速度较慢,没有显卡或者没有nvidia显卡的用户使用。
注意:默认windows版本文件为AVX2,默认Liunx版本文件是在debian sid编译的,其他linux发行版本未知。
可以查看:saharNooby/rwkv.cpp,下载其他版本,或者自行编译。
Aquila-7B
pip install FlagAI
。注意FlagAI依赖很多旧版本的包,需要自己编译,所以如果想基于python3.11运行或者想在一个环境同时跑其他模型,建议去下懒人包run_Aquila.bat
。模型位置等参数:见
config.yml
(复制example.config.yml)。注意模型要在这里下:https://model.baai.ac.cn/model-detail/100101基于本项目的二次开发
wenda-webui
项目调用闻达的 api 接口实现类似于 new bing 的功能。 技术栈:vue3 + element-plus + ts
接入Word文档软件
通过宏,调用闻达HTTP API
