Un motor de búsqueda de imágenes de IA en línea basado en el modelo Clip y la base de datos vectorial Qdrant. Admite búsqueda de palabras clave y búsqueda de imágenes similares.
中文文档
Las capturas de pantalla anteriores pueden contener imágenes con derechos de autor de diferentes artistas; no las utilice para otros fines.
En la mayoría de los casos, recomendamos utilizar la base de datos Qdrant para almacenar metadatos. La base de datos Qdrant proporciona un rendimiento de recuperación eficiente, escalabilidad flexible y mejor seguridad de los datos.
Implemente la base de datos Qdrant de acuerdo con la documentación de Qdrant. Se recomienda utilizar Docker para la implementación.
Si no desea implementar Qdrant usted mismo, puede utilizar el servicio en línea proporcionado por Qdrant.
El almacenamiento de archivos local almacena directamente metadatos de imágenes (incluidos vectores de características, etc.) en una base de datos SQLite local. Solo se recomienda para implementaciones a pequeña escala o implementaciones de desarrollo.
El almacenamiento de archivos local no requiere un proceso de implementación de base de datos adicional, pero tiene las siguientes desventajas:
O(n)
. Por lo tanto, si la escala de datos es grande, el rendimiento de la búsqueda y la indexación disminuirá.v1.0.0
).python -m venv .venv
. .venv/bin/activate
Si desea utilizar la aceleración CUDA para la inferencia, asegúrese de instalar una versión de PyTorch compatible con CUDA en este paso. Después de la instalación, puede usar
torch.cuda.is_available()
para confirmar si CUDA está disponible.
pip install -r requirements.txt
config/
, puede editar default.env
directamente, pero se recomienda crear un nuevo archivo llamado local.env
y anular la configuración en default.env
.python main.py
--host
para especificar la dirección IP a la que desea vincularse (el valor predeterminado es 0.0.0.0) y --port
para especificar el puerto al que desea vincularse (el valor predeterminado es 8000).python main.py --help
.La imagen de la ventana acoplable de NekoImageGallery se crea y publica en Docker Hub, incluidas las variantes de servicio:
Etiquetas | Descripción | Tamaño de imagen más reciente |
---|---|---|
edgeneko/neko-image-gallery:<version> edgeneko/neko-image-gallery:<version>-cuda edgeneko/neko-image-gallery:<version>-cuda12.1 | Admite inferencia de GPU con CUDA12.1 | |
edgeneko/neko-image-gallery:<version>-cuda11.8 | Admite inferencia de GPU con CUDA11.8 | |
edgeneko/neko-image-gallery:<version>-cpu | Solo admite inferencia de CPU |
Donde <version>
es el número de versión o el alias de versión de NekoImageGallery, como sigue:
Versión | Descripción |
---|---|
latest | La última versión estable de NekoImageGallery |
v*.*.* / v*.* | El número de versión específico (corresponde a etiquetas Git) |
edge | La última versión de desarrollo de NekoImageGallery puede contener características inestables y cambios importantes |
En cada imagen, hemos agrupado las dependencias necesarias, pesos de modelo openai/clip-vit-large-patch14
, pesos de modelo bert-base-chinese
y modelos easy-paddle-ocr
para proporcionar una imagen completa y lista para usar.
Las imágenes utilizan /opt/NekoImageGallery/static
como volumen para almacenar archivos de imágenes, móntelo en su propio volumen o directorio si se requiere almacenamiento local.
Para la configuración, sugerimos utilizar variables de entorno para anular la configuración predeterminada. Los secretos de Docker pueden proporcionar secretos (como tokens API).
nvidia-container-runtime
(solo usuarios de CUDA) Si desea utilizar la aceleración CUDA, debe instalar nvidia-container-runtime
en su sistema. Consulte la documentación oficial para la instalación.
Documento relacionado:
- 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
del repositorio. # 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
Hay varias formas de cargar imágenes en NekoImageGallery
python main.py local-index < path-to-your-image-directory >
python main.py local-index --help
para obtener más información. La documentación de la API la proporciona la interfaz de usuario Swagger integrada de FastAPI. Puede acceder a la documentación de la API visitando la ruta /docs
o /redoc
del servidor.
Ese proyecto funciona con NekoImageGallery :D
Hay muchas formas de contribuir al proyecto: registrar errores, enviar solicitudes de extracción, informar problemas y crear sugerencias.
Incluso si tiene acceso push al repositorio, debe crear ramas de funciones personales cuando las necesite. Esto mantiene limpio el repositorio principal y el flujo de trabajo fuera de la vista.
También estamos interesados en sus comentarios sobre el futuro de este proyecto. Puede enviar una sugerencia o solicitud de función a través del rastreador de problemas. Para que este proceso sea más efectivo, solicitamos que incluyan más información para ayudar a definirlos con mayor claridad.
Copyright 2023 EdgeNeko
Licenciado bajo licencia AGPLv3.