尚不靠谱的私有RAG

这一个多星期,主要在学习测试个人知识库,折腾一番还是挺失望的。
现在以大模型为主,辅以内嵌模型加向量数据库的RAG系统炙手可热,相关文章甚至可以说是甚嚣尘上。
但验证完那么多文章,还是那个熟悉的疑问困扰着我:“这些作者真的用过,运行过代码吗?”
归根结底,RAG还是离不开大模型的,就像测试的三国演义,第一回还凑付,一旦扩展到全部章节,就开始胡说八道,不说是关公战秦琼,但也要跟姜维过过招,骂骂皓首老贼的。
这就像看着自动驾驶车有前景,于是就想把车、智能系统加导航鼓捣到一起一样。且不说车与系统的兼容性问题,那各国交通规则和各地路况还不一样呢。
这样还不如直接买一辆成品车。
或者就是踏踏实实手工操作,智能辅助,也挺好的。
不过,也不是没有收获,至少发现网上现成资料比想象中要多的多。

AI倒逼人进步

昨天在制作docker镜像编写Dockerfile文件时,为了提高效率,便使用vscode编辑。
谁知刚打了几个字符,编辑器上就出了一大堆代码。这才想起,前段时间在vscode上安装了continue插件,连接到了公司的ollama服务器上了。
害得我手忙脚乱找关闭连接的开关,这就像开车出门就近买个菜,自动驾驶直接奔着城市那头最大的农贸市场了。
这简直就是倒逼人进步啊。

乱序学习docker,通过Dockerfile生成镜像

今天忙了半天,把报告查询系统也容器化了。

因为是基于python的,原先计划是使用虚拟环境转移而非docker,但部署的时候发现涉及到自启动,无论是gunicorn还是uwsgi,都无法实现多个应用同时启动,于是决定还是转用docker容器化。

而今天大部分时间也是花费在gunicorn自启动设置上。由于alpine系统资料欠缺,解决无果后,决定转向通过Dockerfile设置CMD来解决,这也算是乱序学习docker的一部分。

过程异常顺利,结局出奇顺利。

看来我学习docker的思路是没有问题的。

 

险些冤枉了abiword

昨天下班点接到通知,12点前上报某报告。
最为头疼的就是带截止点的工作,就是早早完成,也得等到时间点才放心。
报告早早完成,为打发时间,便试着将前几天的word转PDF工作批量自动化。
网上关于此转换的方法中,Linux下使用abiword库是最为简单的,默认只需一行命令就把同名文件转化保存到同一路径下。但同样,兼容性最差的也是它,试了一下,果然如此,本来在左下角的二维码,转换后都跑到页面左中部了。
失望之余,就将abiword一删了之。
熬到12点平安无事就睡了。早上起来复盘昨天工作,想到:这转换后的PDF格式不好,未必是转换的问题,有可能是word文件格式就有问题,因为原文件是在Windows下编辑生成的。
开机后重新安装abiword,好在文件小速度快,打开那个Word文档,果然估计是字体、行距等原因,原先那个二维码的位置,就在生成后PDF文件中的那个位置。将图像调整到合适位置,重新生成,完全符合预期要求。
如此一来,只要文档转换前,使用abiword进行排版调整就可以了。

该死的windows权限

最近又开始邪门,说什么来什么。刚说完把virtualbox打入冷宫,昨天就遇到麻烦了。
因为决算报表全局审核bug,昨天晚上在家里想就把问题解决,结果从官网下载的同一个程序,单位运行的好好的,家里机器安装正常,就是没法任务初始化,换了一台机器同样如此。
折腾一晚上,早上早早赶到单位,系统正常,继续折腾报表。完成任务后,开始找问题,发现不出所料,是家里机器安装的时候,未能将初始数据生成在默认的C盘路径下。
于是跟外甥一起,痛骂Windows那该千刀权限设置。
这个权限问题由来已久,早些年在原单位,只要是Java系统的程序,必然要因为权限导致各类莫名其妙的问题。
后来在系统Mac上安装运行Win10,同样如此,Java的程序无法在生成默认输出到C盘的文件。
可恶的是,现在它能用了,标准的win10系统又不行了。
想来这个决算报表系统,最早是XP下开发的。

如此一来,virtualbox还得继续用啊。

抖音学习docker有所得

昨天在抖音看到一段docker的技术视频,从实战应用讲起,浅简易懂,跟我理清的思路相同。
评论区有得到播主赞同的评论,说视频好,但不适合初学者。估计这也是受传统学习方式的受害者。
视频中还对比讲解docker与virtualbox等虚拟机的区别。结合视频开端先讲的是我之前略过的Makefile,也算是有新的收获。
我感觉virtualbox的初始安装相当于docker的镜像,Makefile相当于虚拟机快照。
原先忽视docker,主要原因是virtualbox用习惯了,现在看来,只要不涉及到操作系统,virtualbox基本可以束之高阁了。

自给自足,精简最好

昨天将原先的wordpress容器化迁移后,唯一不满意的地方,就是使用的官方wordpress镜像太大了,足足有700多兆,作为一个个人博客,实在是太庞大了。

于是今天早上试着以alpine镜像为基础,构建自己的wordpress镜像。设置好nginx与php-fpm后,把能装的php库都装上,重新生成的镜像,也只有90多兆而已。

然后在不改变原先磁盘挂载的情况下,运行容器,博客无缝衔接运行。可能是心理作用吧,感觉速度快了不少。

自己自足,还是精简最好。

完成系统容器化迁移

集中两天时间,把原先的几个云服务的应用容器化转移。解决了几个关键技术问题,以后就可以完全容器化管理了。
我学习新的知识,习惯性都是先买书,因为总觉得书籍靠谱。但这次真是被书籍误导了。买书后对照学习的时候,感觉就是云里雾里,东一榔头西一棒槌。后来撇开书按照需求操作,发现不过就是pull,run,exec,commit这么简单而已。
而docker本来就是这么简单,就是为了让用户,至少是应用用户简易操作。国内书籍甚少,估计也正因为如此简单,大牛们才不屑或者不好意思出书,在网上潦草几句就够了。也就国外作者厚脸皮,为了凑页数,书中同一命令不同系统操作,是重复又重复。
现在实现了可复制应用与数据分离,以后工作就简单多了。
唯一不满意的就是wordpress官方镜像要700多兆,而我自己建的Apline环境只要70兆,回头测试一下自己建的是否合用。

“谦虚”的新必应

前几天阿里也推出了自家的GPT通义千问,号称达摩院出品。不过跟百度的文心一言一样,只允许企业邮箱用户申请。

据说通义千问理智严谨,应该跟他用途聚焦在电子商务有关。

俗话说:无利不起早。无论ChatGPT崛起,还是国内跟风,真不是为了人类福祉。

相比百度的四面出击,同为以搜索引擎的新必应要冷静得多。

最近提问新必应,其回答得要比ChatGPT慢得多,简直可以用吞吞吐吐来形容的。有时候等不及它一个字一个字往外蹦,就切换界面干点别的事,等回头一看,原先好不容易蹦出来的档答案不见了,只剩下一句“非常抱歉,我现在无法回答这个问题,我还能为您提供哪些帮助?”

这才叫吃书呢。

这原先的话痨,现在变得如此“谦虚”,新必应不是学会“好为人师”,而是作为一个搜索,知道自己主业是什么,不务正业只会浪费钱财,还砸了自己人的饭碗。

再见,甲骨文免费实例

昨天收到甲骨文第三封邮件通知,再一再二不再三,谁说老外大厂办事效率低,邮件收到的后第一时间打开ssh客户端,已经无法登录。
其实已经无所谓,收到第一封邮件后,我就把本就不多的网站做了备份,只是一直懒得处理而已。设置域名,上传备份,也算是无缝转移。
现在已经不是当年免费服务器物以稀为贵的年代,何况有了frp和zerotier两大利器,云服务器都可以能省则省了。
转移完网站后,时间还宽裕,就测试了一下docker安装WordPress。不过这花费了不少精力,最后意识到应该是犯了一个低级错误:忘了注释掉MySQL的bind。
果然。
如此一来,以后云服务器的硬盘空间也不再是问题了。