基於Clip模型和Qdrant向量資料庫的線上AI影像搜尋引擎。支援關鍵字搜尋和相似圖片搜尋。
中文文檔
以上截圖可能包含來自不同藝術家的版權圖像,請勿將其用於其他目的。
在大多數情況下,我們建議使用 Qdrant 資料庫來儲存元資料。 Qdrant資料庫提供高效的檢索效能、靈活的可擴展性和更好的資料安全性。
請根據Qdrant文件部署Qdrant資料庫。建議使用Docker進行部署。
如果您不想自行部署Qdrant,可以使用Qdrant提供的線上服務。
本機檔案儲存直接將影像元資料(包括特徵向量等)儲存在本機SQLite資料庫中。僅建議用於小規模部署或開發部署。
本機檔案儲存不需要額外的資料庫部署流程,但有以下缺點:
O(n)
。因此,如果資料規模較大,搜尋和索引的效能就會下降。v1.0.0
)。python -m venv .venv
. .venv/bin/activate
如果您想使用 CUDA 加速進行推理,請務必在此步驟中安裝支援 CUDA 的 PyTorch 版本。安裝完成後,可以使用
torch.cuda.is_available()
來確認CUDA是否可用。
pip install -r requirements.txt
config/
中的專案設定文件,可以直接編輯default.env
,但建議建立一個名為local.env
的新檔案並覆寫default.env
中的設定。python main.py
--host
指定要綁定的 IP 位址(預設為 0.0.0.0),使用--port
指定要綁定的連接埠(預設為 8000)。python main.py --help
來查看所有可用的命令和選項。NekoImageGallery 的 docker 映像像是在 Docker Hub 上建置和發布的,包括幾種變體:
標籤 | 描述 | 最新影像尺寸 |
---|---|---|
edgeneko/neko-image-gallery:<version> edgeneko/neko-image-gallery:<version>-cuda edgeneko/neko-image-gallery:<version>-cuda12.1 | 支援使用 CUDA12.1 進行 GPU 推理 | |
edgeneko/neko-image-gallery:<version>-cuda11.8 | 支援使用 CUDA11.8 進行 GPU 推理 | |
edgeneko/neko-image-gallery:<version>-cpu | 僅支援CPU推理 |
其中<version>
是NekoImageGallery的版本號碼或版本別名,如下:
版本 | 描述 |
---|---|
latest | NekoImageGallery 最新穩定版本 |
v*.*.* / v*.* | 具體版本號(對應Git標籤) |
edge | NekoImageGallery 的最新開發版本可能包含不穩定的功能和重大更改 |
在每個影像中,我們捆綁了必要的依賴項、 openai/clip-vit-large-patch14
模型權重、 bert-base-chinese
模型權重和easy-paddle-ocr
模型,以提供完整且隨時可用的影像。
圖像使用/opt/NekoImageGallery/static
作為儲存圖像檔案的捲,如果需要本地存儲,請將其安裝到您自己的捲或目錄。
對於配置,我們建議使用環境變數來覆蓋預設配置。秘密(如 API 令牌)可以由 docker 秘密提供。
nvidia-container-runtime
(僅限 CUDA 使用者)如果要使用 CUDA 加速,則需要在系統上安裝nvidia-container-runtime
。安裝請參考官方文件。
相關文件:
- https://docs.docker.com/config/containers/resource_constraints/#gpu
- https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#docker
- https://nvidia.github.io/nvidia-container-runtime/
docker-compose.yml
檔案。 # For cuda deployment (default)
wget https://raw.githubusercontent.com/hv0905/NekoImageGallery/master/docker-compose.yml
# For CPU-only deployment
wget https://raw.githubusercontent.com/hv0905/NekoImageGallery/master/docker-compose-cpu.yml && mv docker-compose-cpu.yml docker-compose.yml
# start in foreground
docker compose up
# start in background(detached mode)
docker compose up -d
有多種方法可以將圖像上傳到 NekoImageGallery
python main.py local-index < path-to-your-image-directory >
python main.py local-index --help
了解更多資訊。API 文件由 FastAPI 的內建 Swagger UI 提供。您可以透過存取伺服器的/docs
或/redoc
路徑來存取API文件。
這些專案與 NekoImageGallery 一起工作:D
為專案做出貢獻的方法有很多:記錄錯誤、提交拉取請求、報告問題和建立建議。
即使您擁有儲存庫的推送存取權限,您也應該在需要時建立個人功能分支。這可以保持主儲存庫的乾淨,並且讓您的工作流程不再可見。
我們也對您對該專案的未來的回饋感興趣。您可以透過問題追蹤器提交建議或功能請求。為了使這個過程更加有效,我們要求其中包含更多信息,以幫助更清晰地定義它們。
版權所有 2023 EdgeNeko
根據 AGPLv3 許可證獲得許可。