[INFRA-AI-02] Контейнеризация FastAPI-шлюза и оркестрация локального инференса Ollama
Инфраструктура / MLOps
NoteКраткая карточка задачи
- Репозиторий / Компонент:
ai_receipt_vision_gateway. - Стек: Docker, Docker Compose, Ollama API.
- Тип задачи: DevOps / Infra.
- Статус: Готово к реализации
Описание задачи
Необходимо упаковать разработанный Python-шлюз в Docker-контейнер и настроить совместный запуск веб-сервиса и локального окружения Ollama через Docker Compose для работы инференса на CPU.
Инструкция по шагам
- Написание Dockerfile для шлюза: Подготовить файл сборки для FastAPI-приложения на базе легковесного образа
python:3.10-slim. Обеспечить установку зависимостейfastapi,pydantic,requests,uvicornчерезpip install. Открыть порт11435. - Проектирование Docker Compose манифеста: Описать две связанные службы:
ai-gateway— контейнер с FastAPI. Пробросить порт11435:11435и передать переменную окруженияOLLAMA_HOST=http://ollama-core:11434.ollama-core— официальный образollama/ollama. Пробросить порт11434:11434. Закрепить Docker Volume для папки/root/.ollama, чтобы скачанные модели не стирались при перезапуске.
- Автоматизация загрузки модели (Моделирование сборки): Написать сопутствующий bash-скрипт (или entrypoint), который после старта контейнера
ollama-coreавтоматически выполняет команду внутри контейнера:ollama run llama3.2-vision:11bдля предварительного скачивания весов модели на диск.