© 2026 Hedgehog Software, LLC

TwitterGitHubDiscord
More
CommunitiesDocsAboutTermsPrivacy
Search
Star
Setup for Free
ImmichI
Immich•8mo ago•
8 replies
C0ntroller

Machine Learning doesn't work

Hey guys! I just realized why my tagging and facial recognition doesn't work: because the microservice fetches an error.

Debug log as follows:

immich_server    | [Nest] 17  - 07/01/2025, 2:38:31 PM   DEBUG [Api:LoggingInterceptor~k99mf7nl] PUT /api/jobs/smartSearch 200 3.55ms 95.91.1.158
immich_server    | [Nest] 7  - 07/01/2025, 2:38:31 PM   ERROR [Microservices:{"id":"43447847-dfb6-43a1-8d68-b76be609ae73"}] Unable to run job handler (smart-search): Error: Machine learning request '{"clip":{"visual":{"modelName":"ViT-B-16-SigLIP2__webli"}}}' failed for all URLs
immich_server    | Error: Machine learning request '{"clip":{"visual":{"modelName":"ViT-B-16-SigLIP2__webli"}}}' failed for all URLs
immich_server    |     at MachineLearningRepository.predict (/usr/src/app/dist/repositories/machine-learning.repository.js:98:15)
immich_server    |     at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
immich_server    |     at async MachineLearningRepository.encodeImage (/usr/src/app/dist/repositories/machine-learning.repository.js:116:26)
immich_server    |     at async SmartInfoService.handleEncodeClip (/usr/src/app/dist/services/smart-info.service.js:91:27)
immich_server    |     at async JobService.onJobStart (/usr/src/app/dist/services/job.service.js:166:28)
immich_server    |     at async EventRepository.onEvent (/usr/src/app/dist/repositories/event.repository.js:126:13)
immich_server    |     at async /usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:526:32
immich_server    |     at async Worker.retryIfFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:751:24)
immich_server    | [Nest] 17  - 07/01/2025, 2:38:31 PM   DEBUG [Api:LoggingInterceptor~k99mf7nl] PUT /api/jobs/smartSearch 200 3.55ms 95.91.1.158
immich_server    | [Nest] 7  - 07/01/2025, 2:38:31 PM   ERROR [Microservices:{"id":"43447847-dfb6-43a1-8d68-b76be609ae73"}] Unable to run job handler (smart-search): Error: Machine learning request '{"clip":{"visual":{"modelName":"ViT-B-16-SigLIP2__webli"}}}' failed for all URLs
immich_server    | Error: Machine learning request '{"clip":{"visual":{"modelName":"ViT-B-16-SigLIP2__webli"}}}' failed for all URLs
immich_server    |     at MachineLearningRepository.predict (/usr/src/app/dist/repositories/machine-learning.repository.js:98:15)
immich_server    |     at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
immich_server    |     at async MachineLearningRepository.encodeImage (/usr/src/app/dist/repositories/machine-learning.repository.js:116:26)
immich_server    |     at async SmartInfoService.handleEncodeClip (/usr/src/app/dist/services/smart-info.service.js:91:27)
immich_server    |     at async JobService.onJobStart (/usr/src/app/dist/services/job.service.js:166:28)
immich_server    |     at async EventRepository.onEvent (/usr/src/app/dist/repositories/event.repository.js:126:13)
immich_server    |     at async /usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:526:32
immich_server    |     at async Worker.retryIfFailed (/usr/src/app/node_modules/bullmq/dist/cjs/classes/worker.js:751:24)


As machine learning URL I have the default setting of
http://immich-machine-learning:3003
http://immich-machine-learning:3003
.
My docker compose is basically the default one and looks like this:

name: immich

services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    # extends:
    #   file: hwaccel.transcoding.yml
    #   service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
    volumes:
      # Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
      # Some external libraries
    env_file:
      - .env
    #ports:
    #  - 2283:3001
    #expose:
    #  - 3001
    depends_on:
      - redis
      - database
    networks:
      - default
      - traefik
    labels:
      - "traefik.enable=true"
      # Labels for traefik
    restart: unless-stopped
    healthcheck:
      disable: false

  redis:
    container_name: immich_redis
    image: docker.io/valkey/valkey:8-bookworm@sha256:42cba146593a5ea9a622002c1b7cba5da7be248650cbb64ecb9c6c33d29794b1
    healthcheck:
      test: redis-cli ping || exit 1
    restart: always

  database:
    container_name: immich_postgres
    image: ghcr.io/immich-app/postgres:14-vectorchord0.3.0-pgvectors0.2.0
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
      POSTGRES_INITDB_ARGS: '--data-checksums'
      # Uncomment the DB_STORAGE_TYPE: 'HDD' var if your database isn't stored on SSDs
      # DB_STORAGE_TYPE: 'HDD'
    volumes:
      # Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file
      - ${DB_DATA_LOCATION}:/var/lib/postgresql/data
    restart: unless-stopped

networks:
  traefik:
    external: true
name: immich

services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    # extends:
    #   file: hwaccel.transcoding.yml
    #   service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
    volumes:
      # Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
      # Some external libraries
    env_file:
      - .env
    #ports:
    #  - 2283:3001
    #expose:
    #  - 3001
    depends_on:
      - redis
      - database
    networks:
      - default
      - traefik
    labels:
      - "traefik.enable=true"
      # Labels for traefik
    restart: unless-stopped
    healthcheck:
      disable: false

  redis:
    container_name: immich_redis
    image: docker.io/valkey/valkey:8-bookworm@sha256:42cba146593a5ea9a622002c1b7cba5da7be248650cbb64ecb9c6c33d29794b1
    healthcheck:
      test: redis-cli ping || exit 1
    restart: always

  database:
    container_name: immich_postgres
    image: ghcr.io/immich-app/postgres:14-vectorchord0.3.0-pgvectors0.2.0
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
      POSTGRES_INITDB_ARGS: '--data-checksums'
      # Uncomment the DB_STORAGE_TYPE: 'HDD' var if your database isn't stored on SSDs
      # DB_STORAGE_TYPE: 'HDD'
    volumes:
      # Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file
      - ${DB_DATA_LOCATION}:/var/lib/postgresql/data
    restart: unless-stopped

networks:
  traefik:
    external: true

I don''t have a GPU so the hwaccel should not matter should it?

My
.env
.env
file just contains the default configuration filled + loglevel debug.

Why does it not work?
ImmichJoin
A place to hang out, get support, discuss Immich, get announcements about releases and anything else going on.
36,590Members
Resources
Was this page helpful?

Similar Threads

Recent Announcements

Similar Threads

Immich machine learning container doesn't respond
ImmichIImmich / help-desk-support
6mo ago
Machine Learning
ImmichIImmich / help-desk-support
6mo ago
machine learning
ImmichIImmich / help-desk-support
9mo ago
Machine Learning Usage
ImmichIImmich / help-desk-support
7d ago