Webman AI发布3.6版 支持训练

walkor

Webman AI发布3.6版,支持训练。
已经购买Webman AI的同学在webman-admin管理后台一键升级。

需要购买Webman AI的同学在点此购买
基础版购买地址
plus版购买地址

效果测试

测试地址: https://www.workerman.net/ai#role=40

截图

只训练了webman手册,所以只能提问webman手册的内容

Webman AI QQ交流群

截图

webmnan AI QQ交流群 789898358
欢迎加入

训练模块部署步骤

假设你已经安装了webnman/ai,没安装的参考webman.ai购买页面安装部分

以下是webman/ai训练模块依赖的服务及组件安装步骤。

步骤一:安装redis-stack服务端(注意普通redis-server服务端不支持,要用redis-stack才行)

docker pull 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安装illuminate/redis组件

webman根目录执行

composer require -W illuminate/redis illuminate/events

步骤三:配置redis

新建 plugin/ai/config/redis.php,内容如下

<?php
return [
    'default' => [
        'host' => '127.0.0.1',
        'password' => null,
        'port' => 6380,
        'database' => 0,
    ],
];

步骤四:重启webman

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就会使用训练集里的数据回复问题。

测试结果

截图

截图

3972 28 4
28个回答

Noah

直呼:我艹,NB Plus。
迫不及待试试自己训练一些数据。

  • 暂无评论
zhaihongli2023

怎么训练有说法吗

smart

训练的文本 需要什么格式吗

wocall

轮子越来越多了,移植的时候会不会丢三落四呢:(

  • wocall 2023-12-13

    老大,帮找个给webman部署docker的连接吧

  • walkor 2023-12-14

    社区分享有

  • wocall 2023-12-14

    不用docker行么?我这centos有podman,貌似跟docker有冲突

  • wocall 2023-12-17

    老大真棒,这么快就修改过来了,这回看起来简单多了:))))

smart

md文件里面带有图片,可以训练吗

  • walkor 2023-12-14

    可以训练,但是不会识别图片

1227303535@qq.com

迫不及待的要试试怎么训练,这个还有意义拉。
晚上一直在看资料,感谢感谢。

  • 暂无评论
wocall

为何我看的官网AI里没有「达芬奇」这个角色?:))

  • 暂无评论
天天聊天

买了软件享受免费升级服务。大佬技术太厉害了,大国重器。

  • 暂无评论
smart

训练数据的时候,报错,希望能调整一下训练的速度:
{ "error": { "message": "Rate limit reached for text-embedding-ada-002 in organization org-ug1Mtx1ioIEqKPgDkqWhpLn0 on requests per min (RPM): Limit 3, Used 3, Requested 1. Please try again in 20s. Visit https://platform.openai.com/account/rate-limits to learn more. You can increase your rate limit by adding a payment method to your account at https://platform.openai.com/account/billing.", "type": "requests", "param": null, "code": "rate_limit_exceeded" } }
截图

  • OhMangoCat 2023-12-16

    我也遇到这个了

  • MarkGo 2023-12-16

    我記得免費版的key只能限制並發3

  • Noah 2023-12-16

    哎?你的训练数据上传上去也是乱码?

  • smart 2023-12-16

    @Noah 是的,也是乱码

  • walkor 2023-12-16

    5刀的key有每分钟3次的频率限制,如果你只有一个5刀的key,这里设置为20,2个就设置为10,以此类推。
    截图

    乱码问题 修改plugin/ai/config/app.php 中的version,改为6.3.0,reload后在管理后台重新升级下ai。

  • smart 2023-12-16

    @walkor 没看到这里可以设置间隔,非常感谢

ogkino

训练好的数据能通过接口对外使用吗,或者通过ai/message/send调用,自己写个对内外的接口

  • walkor 2023-12-18

    /app/ai/message/send可以当做普通的ai接口调用,但是无法直接调用训练的数据

zhaihongli2023

老大我想放到国外服务器怎么弄代理呢

qq962055298

训练了完了之后它还是回答,我是webman公司开发的大模型,叫webman-ai,版本号是3.5。

chrysanth@163.com

上传文件支持pdf就更牛逼了

  • 暂无评论
tcxl000

希望大佬能够把千帆,通义等的数据集训练集成进来。毕竟国内的这些就算是付费什么的也方便一点。

  • walkor 2023-12-22

    他们后台有训练,直接用就行了

故人重来

6666

  • 暂无评论
zsboss

调用 DALL.E作图 一直报下面的错误
Rate limit exceeded for images per minute in organization org-C6WYHWzWeqmaJNl2ouZlEYwX. Limit: 0/1min. Current: 1/1min. Please visit https://platform.openai.com/docs/guides/rate-limits to learn how to increase your rate limit.

  • wocall 2023-12-25

    群主说了,Dall.e暂时用不了,可以用群主新推出的微软通道,选择瑞典中部区域

wekyun

我只给文心一言设置了apiKey的配置,问答可以,训练不行!
{ "error": { "message": "You didn't provide an API key. You need to provide your API key in an Authorization header using Bearer auth (i.e. Authorization: Bearer YOUR_KEY), or as the password field (with blank username) if you're accessing the API from your browser and are prompted for a username and password. You can obtain an API key from https://platform.openai.com/account/api-keys.", "type": "invalid_request_error", "param": null, "code": null } }
我一定要设置openai才能向量训练嘛?

wekyun

openai训练后的知识库,使用其他国内的大模型接口,可以查询嘛?

  • walkor 2023-12-27

    其它模型也可以查询,但是查询过程中也需要用到openai的key,不过用量很低

wekyun

向量后的数据存在自己本地,是不是换了openai的key也可以查询数据?

wekyun

如果本地部署训练好了知识库,想要迁移到线上,训练的向量知识如何迁移到线上服务器呢?他是项目启动自动从数据库加载嘛?

  • walkor 2023-12-28

    数据库迁移过去。redis的 dump.rdb 也挪过去

wocall

训练这个事是彻底搞不定了。

四部曲,一步不少,每一步也没有报错,

可就是在导入文件提交时,报错:

训练后,还没有向量。。。。用官方数据,也是如此

  • zhaihongli2023 2023-12-30

    安装后重启,把端口也要打开

  • zhaihongli2023 2023-12-30

    我昨天也是研究一天,今天搞定的

  • wocall 2023-12-30

    开通了6380端口也还是这个错误,连这四步都再来了一遍,还是不行

  • walkor 2023-12-30

    webman目录执行 cat plugin/ai/config/redis.php 截图下结果

  • 不羁如风 2023-12-31

    搞定了吗?我教你

  • wocall 2023-12-31

    没有,不过老大让我找到问题所在,redis文件名竟然搞错了,NND。现在是没有php的redis扩展,当初为了安装stack,将它卸载了,然后就装不回来了

  • walkor 2023-12-31

    安装redis-stack不影响扩展,不用卸载redis扩展

  • wocall 2023-12-31

    是啊,我这是脱掉裤子放气,唉,尽折腾了

  • wocall 2023-12-31

    OK了,终于有向量了。感谢老大,感谢@不羁如风

双子ili

老大,请教下,为什么点击训练弹窗提示Connection refused
放假前都能训练数据的,现在导入数据后就提示Connection refused这个

AI能正常问答的

  • walkor 2024-01-02

    你贴的错误太精简了,看不出哪里报错,贴完整些。

  • 双子ili 2024-01-02

    这是返回的报错内容
    RedisException: Connection refused in /home/wwwroot//web/vendor/illuminate/redis/Connectors/PhpRedisConnector.php:161\nStack trace:\n#0
    /home/wwwroot/
    /web/vendor/illuminate/redis/Connectors/PhpRedisConnector.php(161): Redis->connect('127.0.0.1', 6380, 0, NULL, 0, 0)\n#1
    /home/wwwroot//web/vendor/illuminate/redis/Connectors/PhpRedisConnector.php(90): Illuminate\Redis\Connectors\PhpRedisConnector->establishConn…ot//web/vendor/workerman/workerman/Worker.php(1721): Workerman\Worker::monitorWorkersForLinux()\n#25
    /home/wwwroot//web/vendor/workerman/workerman/Worker.php(562): Workerman\Worker::monitorWorkers()\n#26
    /home/wwwroot/
    /web/vendor/workerman/webman-framework/src/support/App.php(131): Workerman\Worker::runAll()\n#27
    /home/wwwroot/***/web/start.php(4): support\App::run()\n#28 {main}"

  • walkor 2024-01-02

    redis-stack 没启动,执行 docker run redis-stack 启动

  • 双子ili 2024-01-02

    重启容器就好了!谢谢
    docker run redis-stack直接这个报错,查看容器ID后,docker start 容器ID 后成功了!

Albert10

可以正常训练. 但给角色配置数据集. 前台角色就不能提问了. 没有明显的报错. 刷新前台也不行.

  • walkor 2024-01-11

    可能是你用了转发的key,不支持 text-embedding-ada-002

元果果

按照文档配置了,现在就是出现不了内容变量,redis这边也配置了

  • walkor 2024-02-03

    是不是用了转发的key,训练暂时不支持转发的key,下个版本支持

  • 元果果 2024-02-04

    好的,谢谢

镜子

训练好的数据能通过接口对外使用吗

  • 暂无评论
feixuelove

有没有考虑过 支持SD的绘图

mewchen

训练不同模型效果不太一样……

“如果你不想让你训练的模型回复训练内容以外的数据”,这块是不是只有chatgpt有用,智普好像不行……

  • 暂无评论
morris

训练的逻辑:
1、 将后台上传的文档 通过openai api 转换成向量 存到mysql 并把向量值存在redis
2、 前台用户对话 。 将用户输入内容 通用通过openai 的api接口 转换成向量。 然后 根据向量去redis 搜索类似向量
3、 然后去mysql 获取对应的文本信息
4、 然后将mysql 获取的文本信息 追加到 prompt 调用openai 的complete api 。

因为 role 设置的prompt是:
webman是一个高性能php框架,你是一个webman助手,以下是webman文档,请根据文档回复,如果无法得到答案或者不是webman相关的问题则回复文档中未找到对应的答案。请确保回复正确。

complete api 会将从redis 搜索到的文本内容 追加在这后面。 这就造成咯文档以外的内容不回复的效果;

  • 暂无评论
🔝