Eine Online-KI-Bildsuchmaschine basierend auf dem Clip-Modell und der Qdrant-Vektordatenbank. Unterstützt die Suche nach Schlüsselwörtern und ähnlichen Bildern.
中文文档
Die obigen Screenshots können urheberrechtlich geschützte Bilder verschiedener Künstler enthalten. Bitte verwenden Sie sie nicht für andere Zwecke.
In den meisten Fällen empfehlen wir die Verwendung der Qdrant-Datenbank zum Speichern von Metadaten. Die Qdrant-Datenbank bietet effiziente Abrufleistung, flexible Skalierbarkeit und bessere Datensicherheit.
Bitte stellen Sie die Qdrant-Datenbank gemäß der Qdrant-Dokumentation bereit. Es wird empfohlen, Docker für die Bereitstellung zu verwenden.
Wenn Sie Qdrant nicht selbst bereitstellen möchten, können Sie den von Qdrant bereitgestellten Onlinedienst nutzen.
Der lokale Dateispeicher speichert Bildmetadaten (einschließlich Merkmalsvektoren usw.) direkt in einer lokalen SQLite-Datenbank. Es wird nur für kleine Bereitstellungen oder Entwicklungsbereitstellungen empfohlen.
Die lokale Dateispeicherung erfordert keinen zusätzlichen Datenbankbereitstellungsprozess, hat jedoch die folgenden Nachteile:
O(n)
beträgt. Wenn daher der Datenumfang groß ist, nimmt die Leistung der Suche und Indizierung ab.v1.0.0
).python -m venv .venv
. .venv/bin/activate
Wenn Sie die CUDA-Beschleunigung für die Inferenz verwenden möchten, müssen Sie in diesem Schritt unbedingt eine von CUDA unterstützte PyTorch-Version installieren. Nach der Installation können Sie mit
torch.cuda.is_available()
bestätigen, ob CUDA verfügbar ist.
pip install -r requirements.txt
config/
. Sie können default.env
direkt bearbeiten. Es wird jedoch empfohlen, eine neue Datei mit dem Namen local.env
zu erstellen und die Konfiguration in default.env
zu überschreiben.python main.py
--host
verwenden, um die IP-Adresse anzugeben, an die Sie binden möchten (Standard ist 0.0.0.0), und --port
, um den Port anzugeben, an den Sie binden möchten (Standard ist 8000).python main.py --help
ausführen.Das Docker-Image von NekoImageGallery wird auf Docker Hub erstellt und veröffentlicht, einschließlich mehrerer Varianten:
Schlagworte | Beschreibung | Neueste Bildgröße |
---|---|---|
edgeneko/neko-image-gallery:<version> edgeneko/neko-image-gallery:<version>-cuda edgeneko/neko-image-gallery:<version>-cuda12.1 | Unterstützt GPU-Inferenz mit CUDA12.1 | |
edgeneko/neko-image-gallery:<version>-cuda11.8 | Unterstützt GPU-Inferenz mit CUDA11.8 | |
edgeneko/neko-image-gallery:<version>-cpu | Unterstützt nur CPU-Inferenz |
Dabei ist <version>
die Versionsnummer oder der Versionsalias von NekoImageGallery, wie folgt:
Version | Beschreibung |
---|---|
latest | Die neueste stabile Version von NekoImageGallery |
v*.*.* / v*.* | Die spezifische Versionsnummer (entspricht Git-Tags) |
edge | Die neueste Entwicklungsversion von NekoImageGallery enthält möglicherweise instabile Funktionen und wichtige Änderungen |
In jedem Bild haben wir die notwendigen Abhängigkeiten, openai/clip-vit-large-patch14
-Modellgewichte, bert-base-chinese
-Modellgewichte und easy-paddle-ocr
Modelle gebündelt, um ein vollständiges und gebrauchsfertiges Bild bereitzustellen.
Die Bilder verwenden /opt/NekoImageGallery/static
als Volume zum Speichern von Bilddateien. Mounten Sie es auf Ihrem eigenen Volume oder Verzeichnis, wenn lokaler Speicher erforderlich ist.
Für die Konfiguration empfehlen wir die Verwendung von Umgebungsvariablen, um die Standardkonfiguration zu überschreiben. Geheimnisse (wie API-Tokens) können durch Docker-Geheimnisse bereitgestellt werden.
nvidia-container-runtime
vor (nur CUDA-Benutzer) Wenn Sie die CUDA-Beschleunigung nutzen möchten, müssen Sie nvidia-container-runtime
auf Ihrem System installieren. Informationen zur Installation finden Sie in der offiziellen Dokumentation.
Zugehöriges Dokument:
- 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
aus dem Repository herunter. # 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
Es gibt mehrere Möglichkeiten, Bilder in NekoImageGallery hochzuladen
python main.py local-index < path-to-your-image-directory >
python main.py local-index --help
. Die API-Dokumentation wird über die integrierte Swagger-Benutzeroberfläche von FastAPI bereitgestellt. Sie können auf die API-Dokumentation zugreifen, indem Sie den Pfad /docs
oder /redoc
des Servers besuchen.
Dieses Projekt funktioniert mit NekoImageGallery :D
Es gibt viele Möglichkeiten, zum Projekt beizutragen: Fehler protokollieren, Pull-Anfragen einreichen, Probleme melden und Vorschläge erstellen.
Auch wenn Sie über Push-Zugriff auf das Repository verfügen, sollten Sie bei Bedarf persönliche Feature-Branches erstellen. Dadurch bleibt das Haupt-Repository sauber und Ihre Arbeitsabläufe bleiben außer Sichtweite.
Wir sind auch an Ihrem Feedback zur Zukunft dieses Projekts interessiert. Sie können über den Issue-Tracker einen Vorschlag oder eine Funktionsanfrage einreichen. Um diesen Prozess effektiver zu gestalten, bitten wir darum, dass diese mehr Informationen enthalten, um sie klarer zu definieren.
Copyright 2023 EdgeNeko
Lizenziert unter der AGPLv3-Lizenz.