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의 도커 이미지는 serval 변형을 포함하여 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 라이선스에 따라 라이선스가 부여됩니다.