我們構建了一個聊天機器人,可以根據用戶查詢在Redis.com網站上匯總並推薦博客。

這個小型項目使用2種AI模型
在這個項目中,我們旨在證明
最簡單的方法是使用以下命令使用Docker映像
docker run -d -p 6379:6379 -p 8001:8001 redis/redis-stack:latest如果您不想使用Docker映像,則可以在此處註冊免費的Redis Cloud訂閱。
下載存儲庫
git clone https://github.com/mar1boroman/ask-redis-blogs.git && cd ask-redis-blogs
準備並激活虛擬環境
python3 -m venv .env && source .env/bin/activate
安裝必要的庫和依賴項
pip install -r requirements.txt
我們在REDIS博客上擁有廣泛的知識庫,讓運行第一個腳本是Web Craper,該腳本將刮擦網站並創建一個包含所有可用博客數據的CSV文件。
python 0_ext_redis_blogs.py請注意,該存儲庫已經已更新到2023年9月19日,運行此腳本只會下載新博客。 CSV文件保存在redis_blogs.csv上
在此步驟中,我們為每個博客的文本內容生成嵌入,並以哈希格式存儲它們
python 1_load_redis_blogs.py您可以在http:// localhost:8001中對redisinsight進行redis數據庫的內容探索您的redis數據庫的內容
現在,我們已經將博客及其嵌入在Redis中,該是時候看到聊天機器人正在行動!
streamlit run 3_ui.py
讓我們在我們的博客上運行一個簡單的向量相似性搜索。

確保未選中“自動匯總”複選框
輸入提示。例如
Triggers and Functions
您將在毫秒內獲得3個博客建議。響應還包括返迴響應所花費的時間。在這種情況下,搜索完全在REDIS中進行,只是在運行相似性搜索之前通過All-Mpnet-Base-V2運行該提示
讓我們變得更加先進。

確保檢查“自動總結”複選框
輸入提示。例如
Triggers and Functions
當您第一次輸入此提示時,將會發生以下事情
這需要相當長的時間,大約30 s
因此,我們將響應和提示存儲在Redis中。在瀏覽器中檢查您的重新介紹,您將看到一個使用前綴llm_cache創建的鍵
響應返回後,提示和響應將被緩存,更重要的是,該提示通過ALL-MPNET-BASE-V2運行,並且其相應的嵌入也被緩存
現在,嘗試運行相同的提示(或再次相似的提示)。例如
About Triggers and functions
您將根據提示嵌入和上一步中緩存的響應之間的巨大快速向量相似性搜索獲得緩存的響應。
我們可以清楚地看到在此處使用語義緩存的好處
CLI版本可用聊天機器人的版本
python 2_vecsim_redis_blogs.py