Запуск Text Embeddings Inference без интернета

TL:DR

  • Способ собрать TEI, который не будет пытаться скачать модель из сети.
  • Полезно для air-gapped / production окружений.
  • Подходит, когда нужен воспроизводимый Docker-образ с уже встроенной моделью.

Скачивание модели

Модель нужно скачать заранее, на машине с доступом в интернет.

git clone https://huggingface.co/intfloat/multilingual-e5-large-instruct

Dockerfile

FROM ghcr.io/huggingface/text-embeddings-inference:cpu-1.8
 
# Встраиваем модель в образ
COPY multilingual-e5-large-instruct /model
 
ENTRYPOINT ["text-embeddings-router", "--model-id", "/model"]

Сборка и запуск

docker build -t tei-offline .
docker run --rm -p 8080:80 tei-offline

Проверка

  • Контейнер должен стартовать без доступа в интернет.
  • Сервис должен отвечать локально на localhost:8080.

Gotchas

  • Размер Docker-образа увеличится из-за встроенной модели.
  • Для GPU нужен не cpu-образ, а соответствующий GPU-вариант.
  • Если модель скачана не полностью, контейнер может не стартовать.