Онлайн-система поиска изображений с использованием искусственного интеллекта, основанная на модели Clip и векторной базе данных Qdrant. Поддерживает поиск по ключевым словам и поиск похожих изображений.
中文文档
Приведенные выше скриншоты могут содержать изображения, защищенные авторским правом от разных художников, не используйте их для других целей.
В большинстве случаев мы рекомендуем использовать базу данных Qdrant для хранения метаданных. База данных Qdrant обеспечивает эффективную производительность поиска, гибкую масштабируемость и лучшую безопасность данных.
Разверните базу данных Qdrant в соответствии с документацией Qdrant. Для развертывания рекомендуется использовать Docker.
Если вы не хотите развертывать Qdrant самостоятельно, вы можете воспользоваться онлайн-сервисом, предоставляемым Qdrant.
Локальное файловое хранилище напрямую хранит метаданные изображения (включая векторы признаков и т. д.) в локальной базе данных SQLite. Рекомендуется только для небольших развертываний или развертываний в целях разработки.
Локальное файловое хранилище не требует дополнительного процесса развертывания базы данных, но имеет следующие недостатки:
O(n)
. Следовательно, если масштаб данных велик, производительность поиска и индексирования снизится.v1.0.0
).python -m venv .venv
. .venv/bin/activate
Если вы хотите использовать ускорение CUDA для вывода, на этом этапе обязательно установите версию PyTorch с поддержкой CUDA. После установки вы можете использовать
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
.Docker-образ NekoImageGallery создается и публикуется на Docker Hub, включая серваловые варианты:
Теги | Описание | Последний размер изображения |
---|---|---|
edgeneko/neko-image-gallery:<version> edgeneko/neko-image-gallery:<version>-cuda edgeneko/neko-image-gallery:<version>-cuda12.1 | Поддерживает вывод графического процессора с помощью CUDA12.1. | |
edgeneko/neko-image-gallery:<version>-cuda11.8 | Поддерживает вывод графического процессора с помощью CUDA11.8. | |
edgeneko/neko-image-gallery:<version>-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) могут быть предоставлены секретами докера.
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 предоставляется встроенным пользовательским интерфейсом Swagger UI FastAPI. Вы можете получить доступ к документации API, посетив путь /docs
или /redoc
сервера.
Этот проект работает с NekoImageGallery :D
Есть много способов внести свой вклад в проект: регистрировать ошибки, отправлять запросы на включение, сообщать о проблемах и вносить предложения.
Даже если у вас есть push-доступ к репозиторию, вам следует создавать персональные ветки функций, когда они вам нужны. Это сохранит чистоту основного репозитория и скроет весь ваш рабочий процесс от глаз.
Нам также интересно ваше мнение о будущем этого проекта. Вы можете отправить предложение или запрос на добавление функции через систему отслеживания проблем. Чтобы сделать этот процесс более эффективным, мы просим включать в них больше информации, которая поможет более четко их определить.
Авторские права EdgeNeko, 2023 г.
Лицензия AGPLv3.