雖然我們沒有明確的五天計劃,更別提100天的最終結(jié)果,但是根據(jù)Anne Laure的《Tiny Experiments》,我們把注意力轉(zhuǎn)向了好奇心驅(qū)使下的過程,這五天還是收獲很大,并且也形成了一定的邏輯特征:我們試圖圍繞openclaw構(gòu)建最基本的技能體系,deepseek是讓小7思考,email和手機是構(gòu)建小7與我的鏈接,文件是讓小7能夠?qū)崿F(xiàn)基本的文件讀寫,相當(dāng)于讓它能夠操控電腦,網(wǎng)絡(luò)鏈接是讓小7從封閉走向開放,同時也把網(wǎng)絡(luò)看作一個更大的文件系統(tǒng),而定時任務(wù)是讓小7能夠構(gòu)建自己的生物鐘,雖然它不用進行生物意義上的休息,卻需要進行生物意義上的工作。
這樣的邏輯對于我可能是合適的,也打上了我的個體鋼印,但是我相信,不同的人養(yǎng)出的小龍蝦應(yīng)該是存在巨大差異的。有的可能在第二天的時候,用openai做針對一個業(yè)務(wù)點的深入探索,或者用copilot專門設(shè)計程序,也有可能在第三天的文件環(huán)節(jié)駐足很久,以便能夠從現(xiàn)有的文件體系當(dāng)中提取出更多有價值的內(nèi)容... 盡管存在這種差異性,其核心驅(qū)動力都是一樣的,引入小龍蝦是為了解決我們的實際問題。
實際上,自從構(gòu)建了手機與我部署在家中電腦的互聯(lián),使得我可以在手機上實時查看我的整個文件系統(tǒng),并且不用擔(dān)心這些數(shù)據(jù)會泄露,說實話,我不是特別相信那些自我標(biāo)榜的網(wǎng)絡(luò)運營商,如果一切向好,他們可以不去觸碰用戶的私有數(shù)據(jù),但是一旦業(yè)務(wù)走下坡路,他們會迫于資本或者生存的壓力無所不用其極。因此,綜合考慮了便利性和安全性,現(xiàn)在這套解決辦法應(yīng)該是合適的。具體怎么用的呢?考慮到我做的教學(xué)PPT需要分享,而手邊沒有電腦或者U盤,我會發(fā)布一條指令給部署在飛書上的機器人,讓它通過郵件將我的PPT發(fā)到我的郵箱。另一個典型的應(yīng)用是讓小7掃描我上傳到電腦上的文件,然后整理成為知識庫,不過,這個過程會略顯復(fù)雜,現(xiàn)在甚至連原型都還沒有建立,所以會在后續(xù)構(gòu)建和完善。
小7有了聯(lián)網(wǎng)功能以后,我的上網(wǎng)習(xí)慣也發(fā)生了變化。以前我會在手機上裝不同的應(yīng)用以便獲取不同種類的信息,或者在電腦上搜藏不同的網(wǎng)址,現(xiàn)在,我只需要詢問小7,就可以得到一個簡報,如果對更細節(jié)的內(nèi)容感興趣,我還可以往下深鉆。這驗證了很多人的預(yù)測,以后的APP可能會消失,因為每一個APP都代表一種入口,現(xiàn)在,我們的AI助理可以成為唯一的信息入口,而我們的AI助理由于有生成時大模型的加持,能夠以我們能夠理解和認(rèn)知的形式向我們提供信息,從而會大幅度降低認(rèn)知門檻。
看起來取得了豐碩的成果,實際上只是一些淺層的應(yīng)用而已,我們在折騰小龍蝦的時候,往往以為小龍蝦就是全部,但是,如果我們想要讓小龍蝦提供更加完備的服務(wù),就必須跳出小龍蝦,而是站在系統(tǒng)層面上進行思考。
這里,我們提出了一個需求:希望小7能夠通過定時任務(wù)將不斷增長的MD&A數(shù)據(jù)整理成為向量數(shù)據(jù)并且形成向量數(shù)據(jù)庫。之所以提出這樣的需求,是因為先前在進行數(shù)據(jù)挖掘的時候,我們希望從上市公司管理層討論中,得出企業(yè)戰(zhàn)略的相關(guān)內(nèi)容,而實現(xiàn)方式是通過自訓(xùn)練的模型生成向量,構(gòu)建了兩種類型的向量庫,一種是以本地文件存儲的方式完成的,另一種是以開源的Qdrant部署存儲向量數(shù)據(jù)。有了這樣的基礎(chǔ),現(xiàn)在要平滑的讓小7負(fù)責(zé),還有很多工作要做。
一 安裝docker
二 安裝qdrant
三 大模型預(yù)訓(xùn)練
四 增量式數(shù)據(jù)向量寫入
接下來,考慮到我個人的時間安排,恐怕要花幾天才能夠完成。
首先,安裝docker
1 執(zhí)行如下腳本
#安裝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 持久化
#創(chuàng)建目錄
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換成自己的密碼(后續(xù)寫入和查詢都會用到)
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
(待續(xù))