开源技术小栈Webman AI 发布5.4.0版本,支持选择任意embedding模型,这一突破性更新使得用户能够将Webman AI与本地DeepSeek等开源模型无缝结合,打造专属的私有知识库系统。通过本地化训练与部署,用户可以无需依赖网络连接即可实现内部专有AI知识库助理。
以下是完整的教程,如果你之前执行过相关训练操作,有些步骤可以直接跳过。
假设你已经安装了webman/ai
开源技术小栈注意:普通redis-server服务端不支持,要用redis-stack才行
docker pull docker.1ms.run/redis/redis-stack
mkdir /home/data/redis -p
docker run --name redis-stack -v /home/data/redis:/data -p 6380:6379 -d redis/redis-stack
开源技术小栈注意:webman-v2版本 webman根目录执行
composer require -W webman/redis illuminate/events
开源技术小栈注意:webman-v1版本 webman根目录执行
composer require -W illuminate/redis illuminate/events
新建plugin/ai/config/redis.php
,内容如下
<?php
return [
'default' => [
'host' => '127.0.0.1',
'password' => null,
'port' => 6380,
'database' => 0,
],
];
安装ollama,并执行
ollama pull nomic-embed-text
ollama pull deepseek-r1:14b
开源技术小栈提示:
nomic-embed-text
是向量模型,训练必须安装。除了deepseek-r1:14b
还可以选deepseek-coder-v2:latest qwen2.5:14b
等模型
Linux: webman根目录运行php start.php restart -d
Windows: 按ctl c
停止webman,然后运行php windows.php start
开源技术小栈提示 如果提示 Class'Redis' not found 是因为没有给PHP安装Redis扩展。
训练的文本样例
开源技术小栈注意:训练内容没有固定格式,训练的数据最好顶部加上一个对本内容的总结性标题或提问,这样效果才会最好。类似上面这个截图
完整的webman手册样本数据,点击这里下载
开源技术小栈提示:导入数据目前只支持txt和md为后缀的文件,单个文件大小不能大于9k。支持压缩包上传,同理压缩包内每个文件大小不能大于9k。
AI训练数据 里的 内容向量 里有值,说明此条记录已经训练完毕,内容向量 同时会在redis-stack里存储一份,用来快速检索。
开源技术小栈注意:如果你不想让你训练的模型回复训练内容以外的数据,可以在角色提示词里明示。例如webman手册助手的角色提示词如下:
webman是一个高性能php框架,你是一个webman助手,以下是webman文档,请根据文档回复,如果无法得到答案或者不是webman相关的问题则回复文档中未找到对应的答案。请确保回复正确。
在需要使用训练数据的角色里选择训练集,保存。(前端用户需要刷新页面角色才能生效) AI就会使用训练集里的数据回复问题。