虽然我们没有明确的五天计划,更别提100天的最终结果,但是根据Anne Laure的《Tiny Experiments》,我们把注意力转向了好奇心驱使下的过程,这五天还是收获很大,并且也形成了一定的逻辑特征:我们试图围绕openclaw构建最基本的技能体系,deepseek是让小7思考,email和手机是构建小7与我的链接,文件是让小7能够实现基本的文件读写,相当于让它能够操控电脑,网络链接是让小7从封闭走向开放,同时也把网络看作一个更大的文件系统,而定时任务是让小7能够构建自己的生物钟,虽然它不用进行生物意义上的休息,却需要进行生物意义上的工作。
这样的逻辑对于我可能是合适的,也打上了我的个体钢印,但是我相信,不同的人养出的小龙虾应该是存在巨大差异的。有的可能在第二天的时候,用openai做针对一个业务点的深入探索,或者用copilot专门设计程序,也有可能在第三天的文件环节驻足很久,以便能够从现有的文件体系当中提取出更多有价值的内容... 尽管存在这种差异性,其核心驱动力都是一样的,引入小龙虾是为了解决我们的实际问题。
实际上,自从构建了手机与我部署在家中电脑的互联,使得我可以在手机上实时查看我的整个文件系统,并且不用担心这些数据会泄露,说实话,我不是特别相信那些自我标榜的网络运营商,如果一切向好,他们可以不去触碰用户的私有数据,但是一旦业务走下坡路,他们会迫于资本或者生存的压力无所不用其极。因此,综合考虑了便利性和安全性,现在这套解决办法应该是合适的。具体怎么用的呢?考虑到我做的教学PPT需要分享,而手边没有电脑或者U盘,我会发布一条指令给部署在飞书上的机器人,让它通过邮件将我的PPT发到我的邮箱。另一个典型的应用是让小7扫描我上传到电脑上的文件,然后整理成为知识库,不过,这个过程会略显复杂,现在甚至连原型都还没有建立,所以会在后续构建和完善。
小7有了联网功能以后,我的上网习惯也发生了变化。以前我会在手机上装不同的应用以便获取不同种类的信息,或者在电脑上搜藏不同的网址,现在,我只需要询问小7,就可以得到一个简报,如果对更细节的内容感兴趣,我还可以往下深钻。这验证了很多人的预测,以后的APP可能会消失,因为每一个APP都代表一种入口,现在,我们的AI助理可以成为唯一的信息入口,而我们的AI助理由于有生成时大模型的加持,能够以我们能够理解和认知的形式向我们提供信息,从而会大幅度降低认知门槛。
看起来取得了丰硕的成果,实际上只是一些浅层的应用而已,我们在折腾小龙虾的时候,往往以为小龙虾就是全部,但是,如果我们想要让小龙虾提供更加完备的服务,就必须跳出小龙虾,而是站在系统层面上进行思考。
这里,我们提出了一个需求:希望小7能够通过定时任务将不断增长的MD&A数据整理成为向量数据并且形成向量数据库。之所以提出这样的需求,是因为先前在进行数据挖掘的时候,我们希望从上市公司管理层讨论中,得出企业战略的相关内容,而实现方式是通过自训练的模型生成向量,构建了两种类型的向量库,一种是以本地文件存储的方式完成的,另一种是以开源的Qdrant部署存储向量数据。有了这样的基础,现在要平滑的让小7负责,还有很多工作要做。
一 安装docker
二 安装qdrant
三 大模型预训练
四 增量式数据向量写入
接下来,考虑到我个人的时间安排,恐怕要花几天才能够完成。
首先,安装docker
1 执行如下脚本
#安装docker
sudo apt-get remove -y docker docker-engine docker.io containerd runc
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg lsb-release
sudo mkdir -p /etc/apt/trusted.gpg.d
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/trusted.gpg.d/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo groupadd docker
sudo systemctl start docker
sudo systemctl stop docker
sudo systemctl restart docker
sudo systemctl status docker
docker --version
docker compose version
#请换成你的用户名
sudo usermod -aG docker <myusername>
2 编写配置文件
sudo vi /etc/docker/daemon.json
#docker /etc/docker/daemon.json
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://docker.1ms.run",
"https://docker.xuanyuan.me"
]
}
其次,安装qdrant
1 通过dockers安装qdrant
#通过docker安装qdrant
sudo docker pull qdrant/qdrant
#查看是否安装成功
sudo docker images | grep qdrant
2 启动qdrant
docker run -p 6333:6333 -p 6334:6334 qdrant/qdrant
3 持久化
#创建目录
mkdir -p ~/qdrant/data
mkdir -p ~/qdrant/config
mkdir -p ~/qdrant/storage
#启动(修改myusername)
sudo docker run -d --name qdrant-service -p 6333:6333 -p 6334:6334 -v /home/myusername/qdrant/data:/qdrant/storage qdrant/qdrant
4 验证
打开浏览器,输入
http://192.168.1.99:6333/dashboard#/welcome
http://192.168.1.99:6333/health
5 为qdrant添加密码
#将password换成自己的密码(后续写入和查询都会用到)
docker run -d --name qdrant-service -p 6333:6333 -v $(pwd)/qdrant_storage:/qdrant/storage -e QDRANT__SERVICE__API_KEY=<password> qdrant/qdrant:v1.16.2
6 启动/重启qdrant
docker start qdrant-service
docker stop qdrant-service
docker restart qdrant-service
(待续)