歡迎來到Vector Store API項目!該項目旨在為嵌入和存儲向量提供有效且可擴展的API,利用FastApi,Langchain和Chroma等矢量數據庫的功能。無論您是處理文本,圖像還是任何需要轉換為向量並通過相似性搜索檢索的數據,此API都可以覆蓋您。 ?
這些說明將使您在本地計算機上啟動和運行該項目的副本以開發和測試目的。
任務1:設置一個虛擬環境,用於管理依賴關係。
任務2:使用PIP安裝FastApi和Uvicorn(ASGI服務器)。
任務3:將使用Chroma或任何其他矢量數據庫客戶端庫項目。
任務1:定義我們需要的端點。考慮以下內容:
上載文件或文本載體的終點。
使用相似性搜索瀏覽存儲的向量的終點。
列出或檢索特定向量或其元數據的終點。
任務2:使用Pydantic模型計劃端點的請求和響應模型。
任務1:實現文件/文本上傳端點。
解析輸入數據。
將輸入嵌入向量形式(您可能需要一個外部庫或服務來嵌入,例如圖像的張量或擁抱face transformers用於文本)。
將載體與相關元數據一起存放在色度。
任務2:實現搜索端點。
接受查詢作為輸入並將其轉換為向量。
在色度進行相似性搜索。
返回最接近的比賽。
任務3:根據需要實現輔助端點(用於列表,更新或刪除向量)。
任務1:選擇合適的矢量數據庫(在這種情況下為Chroma)。
任務2:實現向量的數據存儲邏輯。
任務3:使用Chroma的搜索功能實現檢索和搜索邏輯。
任務1:為您的API端點編寫單元測試,以確保它們按預期運行。
任務2:測試矢量存儲和色度的檢索功能。
任務3:執行END []到[]整個API的結束測試。
任務1:使用FastApi在Swagger UI中構建的[]記錄API。
任務2:準備部署項目(考慮使用Docker進行容器化)。
任務3:部署API(選項包括Heroku,AWS或GCP)。
貢獻是使開源社區成為學習,啟發和創造的絕佳場所。您所做的任何貢獻都非常感謝。 ?
此項目已獲得MIT許可證的許可 - 有關詳細信息,請參見許可證文件。