Webman AI发布3.6版,支持训练。
已经购买Webman AI的同学在webman-admin管理后台一键升级。
需要购买Webman AI的同学在点此购买
基础版购买地址
plus版购买地址
测试地址: https://www.workerman.net/ai#role=40
只训练了webman手册,所以只能提问webman手册的内容
webmnan AI QQ交流群 789898358
欢迎加入
假设你已经安装了webnman/ai,没安装的参考webman.ai购买页面安装部分
以下是webman/ai训练模块依赖的服务及组件安装步骤。
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根目录执行
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,
],
];
Linux: webman根目录运行 php start.php restart -d
Windows: 按ctl c
停止webman,然后运行 php windows.php start
提示
如果提示 Class'Redis' not found 是因为没有给PHP安装Redis扩展。
训练的文本样例
注意:训练内容没有固定格式,训练的数据最好顶部加上一个对本内容的总结性标题或提问,这样效果才会最好。类似上面这个截图
提示
导入数据目前只支持txt和md为后缀的文件,单个文件大小不能大于9k。支持压缩包上传,同理压缩包内每个文件大小不能大于9k。
AI训练数据 里的 内容向量 里有值,说明此条记录已经训练完毕,内容向量 同时会在redis-stack里存储一份,用来快速检索。
注意
如果你不想让你训练的模型回复训练内容以外的数据,可以在角色提示词里明示。例如webman手册助手的角色提示词如下:
“webman是一个高性能php框架,你是一个webman助手,以下是webman文档,请根据文档回复,如果无法得到答案或者不是webman相关的问题则回复文档中未找到对应的答案。请确保回复正确。”
在需要使用训练数据的角色里选择训练集,保存。(前端用户需要刷新页面角色才能生效)
AI就会使用训练集里的数据回复问题。
直呼:我艹,NB Plus。
迫不及待试试自己训练一些数据。
怎么训练有说法吗
参见本文内容
训练的文本 需要什么格式吗
参见本文内容
轮子越来越多了,移植的时候会不会丢三落四呢:(
老大,帮找个给webman部署docker的连接吧
社区分享有
不用docker行么?我这centos有podman,貌似跟docker有冲突
老大真棒,这么快就修改过来了,这回看起来简单多了:))))
md文件里面带有图片,可以训练吗
可以训练,但是不会识别图片
迫不及待的要试试怎么训练,这个还有意义拉。
晚上一直在看资料,感谢感谢。
为何我看的官网AI里没有「达芬奇」这个角色?:))
买了软件享受免费升级服务。大佬技术太厉害了,大国重器。
训练数据的时候,报错,希望能调整一下训练的速度:
{ "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" } }
我也遇到这个了
我記得免費版的key只能限制並發3
哎?你的训练数据上传上去也是乱码?
@Noah 是的,也是乱码
5刀的key有每分钟3次的频率限制,如果你只有一个5刀的key,这里设置为20,2个就设置为10,以此类推。
乱码问题 修改plugin/ai/config/app.php 中的version,改为6.3.0,reload后在管理后台重新升级下ai。
@walkor 没看到这里可以设置间隔,非常感谢
训练好的数据能通过接口对外使用吗,或者通过ai/message/send调用,自己写个对内外的接口
/app/ai/message/send可以当做普通的ai接口调用,但是无法直接调用训练的数据
老大我想放到国外服务器怎么弄代理呢
国外不用代理
国内怎么弄代理啊 有教程吗
https://www.workerman.net/a/1567
训练了完了之后它还是回答,我是webman公司开发的大模型,叫webman-ai,版本号是3.5。
后台升级下ai
上传文件支持pdf就更牛逼了
希望大佬能够把千帆,通义等的数据集训练集成进来。毕竟国内的这些就算是付费什么的也方便一点。
他们后台有训练,直接用就行了
6666
调用 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.
群主说了,Dall.e暂时用不了,可以用群主新推出的微软通道,选择瑞典中部区域
我只给文心一言设置了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才能向量训练嘛?
只支持openai训练
openai训练后的知识库,使用其他国内的大模型接口,可以查询嘛?
其它模型也可以查询,但是查询过程中也需要用到openai的key,不过用量很低
向量后的数据存在自己本地,是不是换了openai的key也可以查询数据?
换key也可以查询
如果本地部署训练好了知识库,想要迁移到线上,训练的向量知识如何迁移到线上服务器呢?他是项目启动自动从数据库加载嘛?
数据库迁移过去。redis的 dump.rdb 也挪过去
训练这个事是彻底搞不定了。
四部曲,一步不少,每一步也没有报错,
可就是在导入文件提交时,报错:
训练后,还没有向量。。。。用官方数据,也是如此
安装后重启,把端口也要打开
我昨天也是研究一天,今天搞定的
开通了6380端口也还是这个错误,连这四步都再来了一遍,还是不行
webman目录执行 cat plugin/ai/config/redis.php 截图下结果
搞定了吗?我教你
没有,不过老大让我找到问题所在,redis文件名竟然搞错了,NND。现在是没有php的redis扩展,当初为了安装stack,将它卸载了,然后就装不回来了
安装redis-stack不影响扩展,不用卸载redis扩展
是啊,我这是脱掉裤子放气,唉,尽折腾了
OK了,终于有向量了。感谢老大,感谢@不羁如风
老大,请教下,为什么点击训练弹窗提示Connection refused
放假前都能训练数据的,现在导入数据后就提示Connection refused这个
AI能正常问答的
你贴的错误太精简了,看不出哪里报错,贴完整些。
这是返回的报错内容
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}"
redis-stack 没启动,执行
docker run redis-stack
启动重启容器就好了!谢谢
docker run redis-stack直接这个报错,查看容器ID后,docker start 容器ID 后成功了!
可以正常训练. 但给角色配置数据集. 前台角色就不能提问了. 没有明显的报错. 刷新前台也不行.
可能是你用了转发的key,不支持 text-embedding-ada-002
按照文档配置了,现在就是出现不了内容变量,redis这边也配置了
是不是用了转发的key,训练暂时不支持转发的key,下个版本支持
好的,谢谢
训练好的数据能通过接口对外使用吗
有没有考虑过 支持SD的绘图
SD确实不错
训练不同模型效果不太一样……
“如果你不想让你训练的模型回复训练内容以外的数据”,这块是不是只有chatgpt有用,智普好像不行……
训练的逻辑:
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 搜索到的文本内容 追加在这后面。 这就造成咯文档以外的内容不回复的效果;
感谢
啥时候支持国内的大模型转换向量