使用 Upstash Vector 索引數百萬篇維基百科文章
該儲存庫包含我們使用 Upstash Vector 索引數百萬篇維基百科文章的專案的程式碼和文檔,如我們的部落格文章所述。
項目概況
我們使用維基百科資料創建了語義搜尋引擎和 Upstash RAG Chat SDK,以演示 Upstash Vector 和 RAG Chat SDK 的功能。該項目涉及:
- 準備與嵌入維基百科文章
- 使用 Upstash Vector 對向量進行索引
- 建立維基百科語意搜尋引擎
- 實施 RAG 聊天機器人
主要特點
- 對來自 11 種語言的 Wikipedia 文章的超過 1.44 億個向量進行了索引
- 使用BGE-M3嵌入模型實現多語言支持
- 實現具有跨語言功能的語義搜尋
- 使用 Upstash RAG Chat SDK 建立 RAG 聊天機器人
使用的技術
- Upstash Vector:用於儲存和查詢向量嵌入
- Upstash Redis:用於儲存聊天會話
- Upstash RAG Chat SDK:用於建立 RAG Chat 應用程式
- SentenceTransformers:用於產生嵌入
- Meta-Llama-3-8B-Instruct:透過 QStash LLM API 作為 LLM 提供者
發展
若要在本機上運行項目,請依照下列步驟操作:
- 前往 Upstash Console 來管理您的資料庫:
- 建立具有嵌入模型支援的新向量資料庫。您可以選擇 BGE-M3 型號來支援多語言。
- 建立一個新的 Redis 資料庫用於儲存聊天會話。
- 複製 Redis 和 Vector 的憑證。也要複製 QStash 憑證以使用 upstash 託管的 LLM 模型。
將憑證放入專案根目錄下的.env
檔中。您的.env
檔案應如下所示:
UPSTASH_VECTOR_REST_URL=
UPSTASH_VECTOR_REST_TOKEN=
UPSTASH_REDIS_REST_TOKEN=
UPSTASH_REDIS_REST_URL=
QSTASH_TOKEN=
- 填滿您的向量索引。
這個項目使用命名空間來儲存不同語言的文章。因此,您必須將向量更新插入到正確的命名空間中。對於英語,請將向量更新插入en
命名空間。
- 安裝依賴項:
- 運行開發伺服器:
貢獻
我們歡迎為改進該項目做出貢獻。請隨時提交問題或拉取請求。
致謝
- 維基百科提供資料集
- Upstash 的向量資料庫和 RAG Chat SDK
- 該專案中使用的開源庫的所有貢獻者
接觸
有關該項目或 Upstash Vector 的任何問題或回饋,請透過以下方式與我們聯絡(新增聯絡資訊)。
查看我們的現場演示,以了解該專案的實際應用!